Responde a comandos de barra como una app de Google Chat

En esta página, se explica cómo configurar y responder a los comandos de barra para tu app de Google Chat.

Un comando de barra es una forma común en que los usuarios invocan un App de Chat Los comandos de barra también ayudan a los usuarios a descubrir usar las funciones clave de una app de Chat.

Para usar un comando de barra, los usuarios escriben una barra (/) y, luego, un comando de texto breve, como /about, para obtener información sobre la app de Chat. Los usuarios pueden descubrir los comandos de barra disponibles escribiendo una barra en Google Chat, que muestra una ventana con una lista de los comandos disponibles para la app de Chat:

Ventana de comandos de barra
Figura 1: La ventana que aparece cuando los usuarios escriben una barra en Google Chat.

Para decidir si debes configurar comandos de barra y comprender cómo diseñar interacciones de los usuarios, ver Define todos los recorridos del usuario.

Comandos de barra con respuestas privadas

Cuando un usuario envía un mensaje que contiene un comando de barra, solo el usuario y la app de Chat pueden verlo. Si configuraste tu app de Chat para que se agregue a espacios con varias personas, te recomendamos que respondas el comando de barra de forma privada para mantener la interacción privada entre el usuario y la app de Chat.

Por ejemplo, para saber sobre una app de Chat descubrir en un espacio, los usuarios pueden usar comandos como /about o /help. Para evitar notificar a todos los demás usuarios del espacio, la app de Chat puede responder de forma privada con información sobre cómo usar la app de Chat y obtener asistencia.

Requisitos previos

Node.js

Una app de Google Chat habilitada para funciones interactivas. Para crear una app de Chat interactiva con un servicio HTTP, completa esta guía de inicio rápido.

Apps Script

Una app de Google Chat habilitada para funciones interactivas. Para crear un app de Chat interactiva en Apps Script, completa esta guía de inicio rápido.

Python

Una app de Google Chat habilitada para funciones interactivas. Para crear un app de Chat interactiva con un servicio HTTP, completa esta guía de inicio rápido.

Java

Una app de Google Chat habilitada para funciones interactivas Para crear un app de Chat interactiva con un servicio HTTP, completa esta guía de inicio rápido.

Configura un comando de barra

En esta sección, se explica cómo completar los siguientes pasos para configurar una barra :

  1. Crea un nombre para tu comando de barra.
  2. Configura el comando de barra en la API de Google Chat.

Asigna un nombre al comando de barra

El nombre de un comando de barra es lo que los usuarios escriben en un mensaje de Chat para invocar la app de Chat. También aparece una descripción breve debajo del nombre para indicarles a los usuarios cómo usar el comando:

Nombre y descripción del comando de barra
Figura 2: El nombre y la descripción de un comando de barra.

Cuando elijas un nombre y una descripción para tu comando de barra, ten en cuenta las siguientes recomendaciones:

  • Para asignar un nombre a tu comando de barra, sigue estos pasos:

    • Usa palabras o frases cortas, descriptivas y prácticas para que los comandos sean claros y simples para el usuario. Por ejemplo, en lugar de decir /createAReminder, usa /remindMe.
    • Si tu comando contiene más de una palabra, ayuda a los usuarios a leerlo. Usando todas las letras en minúscula para la primera palabra y, luego, con mayúscula en la primera una letra de palabras adicionales. Por ejemplo, en lugar de /updatecontact, usa /updateContact.
    • Considera si usarás un nombre único o común para tu comando. Si tu comando describe una interacción o función típica, puedes usar un nombre común que los usuarios reconozcan y esperen, como /settings o /feedback. De lo contrario, intenta usar nombres de comandos únicos, ya que si el nombre de tu comando es el mismo que el de otras apps de Chat, el usuario deberá filtrar comandos similares para encontrar y usar el tuyo.
  • Para describir tu comando de barra, haz lo siguiente:

    • Mantén la descripción breve y clara para que los usuarios sepan qué esperar cuando invoquen el comando.
    • Informa a los usuarios si hay algún requisito de formato para el comando. Por ejemplo, si creas un comando /remindMe que requiere texto de argumento, establece la descripción en algo como Remind me to do [something] at [time].
    • Informa a los usuarios si la app de Chat responde a todos los usuarios del espacio o de forma privada al usuario que invoca el comando. Por ejemplo, para el comando barra /about, puedes describirlo como Learn about this app (Only visible to you).

Configura tu comando de barra en la API de Google Chat

Para crear un comando de barra, debes especificar información sobre el comando en la configuración de tu app de Chat para la API de Google Chat.

Para configurar un comando de barra en la API de Google Chat, completa los siguientes pasos: pasos:

  1. En la consola de Google Cloud, haz clic en Menú > APIs y Servicios > APIs habilitadas y Servicios > API de Google Chat

    Ir a la página de la API de Google Chat

  2. Haz clic en Configuración.

  3. En Comandos de barra, haz clic en Agregar un comando de barra.

  4. Ingresa un nombre, un ID de comando y una descripción para el comando:

    1. Nombre: El nombre visible del comando y lo que escriben los usuarios para invocar a tu app. Debe empezar con una barra, solo puede contener texto y puede tener hasta 50 caracteres.
    2. Descripción: El texto que describe cómo se debe usar y aplicar el formato el comando. Las descripciones pueden tener hasta 50 caracteres.
    3. ID de comando: un número del 1 al 1000 que el La app de Chat lo usa para reconocer el comando de barra y devolver una respuesta.
  5. Opcional: Si quieres que tu app de Chat responda el comando con un diálogo, selecciona Casilla de verificación Abrir un diálogo.

  6. Haz clic en Guardar.

El comando de barra ahora está configurado para la app de Chat.

Responde a un comando de barra

Cuando los usuarios crean un mensaje de Chat que contiene un comando de barra, tu app de Chat recibe un evento de interacción MESSAGE. La carga útil del evento contiene el slashCommand y slashCommandMetadata objetos. Estos objetos contienen detalles sobre el comando que se usó en el mensaje (incluido el ID del comando), para que puedas devolver una respuesta adecuada.

Mensaje privado para el
  App de Chat de Cymbal Labs. El mensaje dice que la
  Cymbal Labs creó una app de Chat, que comparte un vínculo
  documentación y un vínculo
para comunicarse con el equipo de asistencia.
Una app de Chat responde de forma privada a la comando de barra /help para explicar cómo obtener asistencia.

En el siguiente código, se muestra un ejemplo de una app de Chat que responde al comando de barra /about controlando los eventos de interacción MESSAGE y detectando si el mensaje contiene el ID de comando coincidente. Si el mensaje contiene el ID del comando, la app de Chat mostrará un mensaje privado:

Node.js

node/avatar-app/index.js
// Checks for the presence of a slash command in the message.
if (event.message.slashCommand) {
  // Executes the slash command logic based on its ID.
  // Slash command IDs are set in the Google Chat API configuration.
  switch (event.message.slashCommand.commandId) {
    case ABOUT_COMMAND_ID:
      return res.send({
        privateMessageViewer: event.user,
        text: 'The Avatar app replies to Google Chat messages.'
      });
  }
}

Apps Script

apps-script/avatar-app/avatar-app.gs
// Checks for the presence of a slash command in the message.
if (event.message.slashCommand) {
  // Executes the slash command logic based on its ID.
  // Slash command IDs are set in the Google Chat API configuration.
  switch (event.message.slashCommand.commandId) {
    case ABOUT_COMMAND_ID:
      return {
        privateMessageViewer: event.user,
        text: 'The Avatar app replies to Google Chat messages.'
      };
  }
}

Python

python/avatar-app/main.py
# Checks for the presence of a slash command in the message.
if "slashCommand" in request_json["message"]:
  # Executes the slash command logic based on its ID.
  # Slash command IDs are set in the Google Chat API configuration.
  if request_json["message"]["slashCommand"]["commandId"] == ABOUT_COMMAND_ID:
    return {
      "privateMessageViewer": request_json["user"],
      "text": 'The Avatar app replies to Google Chat messages.'
    }

Java

java/avatar-app/src/main/java/App.java
// Checks for the presence of a slash command in the message.
if (body.getAsJsonObject("message").has("slashCommand")) {
  // Executes the slash command logic based on its ID.
  // Slash command IDs are set in the Google Chat API configuration.
  JsonObject slashCommand = body.getAsJsonObject("message").getAsJsonObject("slashCommand");
  switch (slashCommand.get("commandId").getAsString()) {
    case ABOUT_COMMAND_ID:
    JsonObject aboutMessage = new JsonObject();
    aboutMessage.addProperty("text", "The Avatar app replies to Google Chat messages.");
    aboutMessage.add("privateMessageViewer", body.getAsJsonObject("user"));
      response.getWriter().write(gson.toJson(aboutMessage));
      return;
  }
}

Configura ABOUT_COMMAND_ID con el ID de comando que que se especifica cuando configuraste el comando de barra en la API de Chat. Para probar este código, consulta Prueba las funciones interactivas de las apps de Google Chat.