Rispondere ai comandi slash come app Google Chat

Questa pagina spiega come configurare e rispondere ai comandi con barra per l'app Google Chat.

Un comando slash è un modo comune in cui gli utenti richiamano e interagiscono con un'app di chat. I comandi slash aiutano inoltre gli utenti a scoprire e utilizzare le funzionalità chiave di un'app di chat.

Per utilizzare un comando slash, gli utenti devono digitare una barra (/) e poi un breve comando di testo, come /about per ottenere informazioni sull'app Chat. Gli utenti possono scoprire i comandi slash disponibili digitando una barra in Google Chat, che mostra una finestra che elenca i comandi disponibili per l'app Chat:

Finestra del comando slash
Figura 1: la finestra visualizzata quando gli utenti digitano una barra in Google Chat.

Per decidere se configurare i comandi slash e capire come progettare le interazioni degli utenti, consulta Definire tutti i percorsi degli utenti.

Comandi slash con risposte private

Quando un utente invia un messaggio contenente un comando con barra, il messaggio è visibile solo all'utente e all'app Chat. Se hai configurato l'app Chat in modo che venga aggiunta agli spazi con più persone, ti consigliamo di rispondere al comando con barra in privato per mantenere privata l'interazione tra l'utente e l'app Chat.

Ad esempio, per scoprire di più su un'app di Chat che hanno trovato in uno spazio, gli utenti possono utilizzare comandi come /about o /help. Per evitare di inviare una notifica a tutti gli altri utenti dello spazio, l'app Chat può rispondere in privato con informazioni su come utilizzare l'app e ricevere assistenza.

Prerequisiti

Node.js

Un'app Google Chat per cui sono abilitate le funzionalità interattive. Per creare un'app Chat interattiva utilizzando un servizio HTTP, completa questa guida rapida.

Apps Script

Un'app Google Chat per cui sono abilitate le funzionalità interattive. Per creare un'app Chat interattiva in Apps Script, completa questa guida rapida.

Python

Un'app Google Chat per cui sono abilitate le funzionalità interattive. Per creare un'app Chat interattiva utilizzando un servizio HTTP, completa questa guida rapida.

Java

Un'app Google Chat per cui sono abilitate le funzionalità interattive. Per creare un'app Chat interattiva utilizzando un servizio HTTP, completa questa guida rapida.

Configurare un comando slash

Questa sezione spiega come completare i seguenti passaggi per configurare un comando con barra.

  1. Crea un nome per il comando slash.
  2. Configura il comando barra nell'API Google Chat.

Assegna un nome al comando slash

Il nome di un comando slash è ciò che gli utenti digitano in un messaggio di Chat per richiamare l'app Chat. Sotto il nome viene visualizzata anche una breve descrizione per fornire ulteriori informazioni agli utenti su come utilizzare il comando:

Nome e descrizione del comando slash
Figura 2: il nome e la descrizione di un comando slash.

Quando scegli un nome e una descrizione per il comando barra, tieni conto dei seguenti consigli:

  • Per assegnare un nome al comando slash:

    • Utilizza parole o frasi brevi, descrittive e strategiche per rendere i comandi chiari e semplici per l'utente. Ad esempio, invece di dire /createAReminder, usa /remindMe.
    • Se il comando contiene più di una parola, aiuta gli utenti a leggerlo utilizzando tutte le lettere minuscole per la prima parola e poi la prima lettera maiuscola delle parole aggiuntive. Ad esempio, invece di /updatecontact, utilizza /updateContact.
    • Valuta la possibilità di utilizzare un nome univoco o comune per il comando. Se il comando descrive un'interazione o una funzionalità tipica, puoi utilizzare un nome comune riconosciuto e previsto dagli utenti, ad esempio /settingso /feedback. In caso contrario, prova a utilizzare nomi di comandi univoci, perché se il nome del tuo comando è uguale a quello di altre app di chat, l'utente deve filtrare i comandi simili per trovare e utilizzare il tuo.
  • Per descrivere il comando slash:

    • Mantieni la descrizione breve e chiara in modo che gli utenti sappiano cosa aspettarsi quando richiamano il comando.
    • Comunica agli utenti se sono previsti requisiti di formattazione per il comando. Ad esempio, se crei un comando /remindMe che richiede un testo dell'argomento, imposta la descrizione su qualcosa di simile a Remind me to do [something] at [time].
    • Comunica agli utenti se l'app Chat deve rispondere a tutti gli utenti dello spazio o in privato all'utente che richiama il comando. Ad esempio, per il comando barra /about, puoi descriverlo come Learn about this app (Only visible to you).

Configurare il comando barra nell'API Google Chat

Per creare un comando con barra, devi specificare le informazioni sul comando nella configurazione dell'app Chat per l'API Google Chat.

Per configurare un comando con barra nell'API Google Chat, completa i seguenti passaggi:

  1. Nella console Google Cloud, fai clic su Menu > API e servizi > API e servizi abilitati > API Google Chat

    Vai alla pagina dell'API Google Chat

  2. Fai clic su Configurazione.

  3. In Comandi slash, fai clic su Aggiungi un comando slash.

  4. Inserisci un nome, un ID comando e una descrizione per il comando:

    1. Nome: il nome visualizzato per il comando e ciò che gli utenti digitano per richiamare l'app. Deve iniziare con una barra, contenere solo testo e può avere un massimo di 50 caratteri.
    2. Descrizione:il testo che descrive come utilizzare e formattare il comando. Le descrizioni possono contenere fino a 50 caratteri.
    3. ID comando:un numero compreso tra 1 e 1000 utilizzato dalla tua app Chat per riconoscere il comando slash e restituire una risposta.
  5. (Facoltativo) Se vuoi che l'app Chat risponda al comando con una finestra di dialogo, seleziona la casella di controllo Apri una finestra di dialogo.

  6. Fai clic su Salva.

Il comando slash è ora configurato per l'app Chat.

Rispondere a un comando slash

Quando gli utenti creano un messaggio di Chat contenente un comando slash, la tua app Chat riceve un MESSAGE evento di interazione. Il payload dell'evento contiene gli oggetti slashCommand e slashCommandMetadata. Questi oggetti contengono dettagli sul comando utilizzato nel messaggio (incluso l'ID comando), in modo da poter restituire una risposta appropriata.

Messaggio privato per l'app Chat di Cymbal Labs. Il messaggio indica che l'app Chat è stata creata da Cymbal Labs e condivide un link alla documentazione e un link per contattare il team di assistenza.
Un'app di chat risponde in privato al comando barra /help per spiegare come ricevere assistenza.

Il seguente codice mostra un esempio di app Chat che risponde al comando barra /about gestendo eventi di interazione MESSAGE e rilevando se il messaggio contiene l'ID comando corrispondente. Se il messaggio contiene l'ID comando, l'app Chat restituisce un messaggio privato:

Node.js

node/avatar-app/index.js
/**
 * Handles slash and quick commands.
 *
 * @param {Object} event - The Google Chat event.
 * @param {Object} res - The HTTP response object.
 */
function handleAppCommands(event, res) {
  const {appCommandId, appCommandType} = event.appCommandMetadata;

  switch (appCommandId) {
    case ABOUT_COMMAND_ID:
      return res.send({
        privateMessageViewer: event.user,
        text: 'The Avatar app replies to Google Chat messages.'
      });
    case HELP_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
def handle_app_commands(event: Mapping[str, Any]) -> Mapping[str, Any]:
    """Handles slash and quick commands.

    Args:
        Mapping[str, Any] event: The Google Chat event.

    Returns:
        Mapping[str, Any]: the response
    """
    app_command_id = event["appCommandMetadata"]["appCommandId"]

    if app_command_id == ABOUT_COMMAND_ID:
        return {
            "privateMessageViewer": event["user"],
            "text": "The Avatar app replies to Google Chat messages.",
        }
    elif app_command_id == HELP_COMMAND_ID:
        return {
            "privateMessageViewer": event["user"],
            "text": "The Avatar app replies to Google Chat messages.",
        }
    return {}

Java

java/avatar-app/src/main/java/AvatarApp.java
/**
 * Handles slash and quick commands.
 *
 * @param event    The Google Chat event.
 * @param response The HTTP response object.
 */
private void handleAppCommands(JsonObject event, HttpResponse response) throws Exception {
  int appCommandId = event.getAsJsonObject("appCommandMetadata").get("appCommandId").getAsInt();

  switch (appCommandId) {
    case ABOUT_COMMAND_ID:
      Message aboutMessage = new Message();
      aboutMessage.setText("The Avatar app replies to Google Chat messages.");
      aboutMessage.setPrivateMessageViewer(new User()
          .setName(event.getAsJsonObject("user").get("name").getAsString()));
      response.getWriter().write(gson.toJson(aboutMessage));
      return;
    case HELP_COMMAND_ID:
      Message helpMessage = new Message();
      helpMessage.setText("The Avatar app replies to Google Chat messages.");
      helpMessage.setPrivateMessageViewer(new User()
          .setName(event.getAsJsonObject("user").get("name").getAsString()));
      response.getWriter().write(gson.toJson(helpMessage));
      return;
  }
}

Imposta ABOUT_COMMAND_ID con l'ID comando specificato quando hai configurato il comando slash nell'API Chat. Per testare questo codice, consulta Testare le funzionalità interattive per le app Google Chat.