Répondre aux commandes à barre oblique via une application Google Chat

Cette page explique comment configurer et répondre aux commandes slash pour votre application Google Chat.

Une commande à barre oblique est un moyen courant d'appeler et d'interagir avec une application Chat. Les commandes à barre oblique aident également les utilisateurs à découvrir et à utiliser les principales fonctionnalités d'une application Chat.

Pour utiliser une commande à barre oblique, les utilisateurs doivent saisir une barre oblique (/), puis une courte commande textuelle, comme /about pour obtenir des informations sur l'application Chat. Les utilisateurs peuvent découvrir les commandes à barre oblique disponibles en saisissant une barre oblique dans Google Chat, ce qui affiche une fenêtre listant les commandes disponibles pour l'application Chat:

Fenêtre de commande à barre oblique
Figure 1: Fenêtre qui s'affiche lorsque les utilisateurs saisissent une barre oblique dans Google Chat.

Pour décider si vous devez configurer des commandes slash et comprendre comment concevoir des interactions utilisateur, consultez Définir tous les parcours utilisateur.

Commandes à barre oblique avec réponses privées

Lorsqu'un utilisateur envoie un message contenant une commande à barre oblique, il n'est visible que par l'utilisateur et l'application Chat. Si vous avez configuré votre application Chat pour qu'elle soit ajoutée à des espaces avec plusieurs personnes, vous pouvez envisager de répondre à la commande à barre oblique en privé, afin de préserver la confidentialité de l'interaction entre l'utilisateur et l'application Chat.

Par exemple, pour en savoir plus sur une application Chat découverte dans un espace, les utilisateurs peuvent utiliser des commandes telles que /about ou /help. Pour éviter d'envoyer une notification à tous les autres membres de l'espace, l'application Chat peut répondre en privé avec des informations sur l'utilisation de l'application Chat et sur l'assistance.

Prérequis

Node.js

Une application Google Chat pour laquelle les fonctionnalités interactives sont activées. Pour créer une application Chat interactive à l'aide d'un service HTTP, suivez ce guide de démarrage rapide.

Apps Script

Une application Google Chat pour laquelle les fonctionnalités interactives sont activées. Pour créer une application Chat interactive dans Apps Script, suivez ce guide de démarrage rapide.

Python

Une application Google Chat pour laquelle les fonctionnalités interactives sont activées. Pour créer une application Chat interactive à l'aide d'un service HTTP, suivez ce guide de démarrage rapide.

Java

Une application Google Chat pour laquelle les fonctionnalités interactives sont activées. Pour créer une application Chat interactive à l'aide d'un service HTTP, suivez ce guide de démarrage rapide.

Configurer une commande à barre oblique

Cette section explique comment effectuer les étapes suivantes pour configurer une commande à barre oblique:

  1. Créez un nom pour votre commande à barre oblique.
  2. Configurez la commande à barre oblique dans l'API Google Chat.

Nommez votre commande à barre oblique

Le nom d'une commande à barre oblique est ce que les utilisateurs saisissent dans un message Chat pour appeler l'application Chat. Une courte description s'affiche également sous le nom pour indiquer aux utilisateurs comment utiliser la commande:

Nom et description de la commande à barre oblique
Figure 2: Nom et description d'une commande avec barre oblique.

Lorsque vous choisissez un nom et une description pour votre commande à barre oblique, tenez compte des recommandations suivantes:

  • Pour nommer votre commande à barre oblique:

    • Utilisez des mots ou des expressions courts, descriptifs et pratiques pour rendre les commandes claires et simples pour l'utilisateur. Par exemple, au lieu de /createAReminder, utilisez /remindMe.
    • Si votre commande contient plusieurs mots, aidez les utilisateurs à la lire en utilisant des minuscules pour le premier mot, puis en mettant la première lettre des mots supplémentaires en majuscule. Par exemple, au lieu de /updatecontact, utilisez /updateContact.
    • Déterminez si vous souhaitez utiliser un nom unique ou commun pour votre commande. Si votre commande décrit une interaction ou une fonctionnalité type, vous pouvez utiliser un nom commun que les utilisateurs reconnaissent et attendent, tel que /settings ou /feedback. Sinon, essayez d'utiliser des noms de commande uniques, car si le nom de votre commande est le même pour d'autres applications Chat, l'utilisateur doit filtrer les commandes similaires pour trouver et utiliser la vôtre.
  • Pour décrire votre commande à barre oblique:

    • Réduisez la description à quelques lignes claires pour que les utilisateurs sachent à quoi s'attendre lorsqu'ils appellent la commande.
    • Indiquez aux utilisateurs s'il existe des exigences de mise en forme pour la commande. Par exemple, si vous créez une commande /remindMe qui nécessite du texte d'argument, définissez la description sur quelque chose comme Remind me to do [something] at [time].
    • Indiquez aux utilisateurs si l'application Chat répond à tous les membres de l'espace ou en privé à l'utilisateur qui appelle la commande. Par exemple, pour la commande slash /about, vous pouvez la décrire comme Learn about this app (Only visible to you).

Configurer votre commande à barre oblique dans l'API Google Chat

Pour créer une commande avec un slash, vous devez spécifier des informations sur la commande dans la configuration de votre application Chat pour l'API Google Chat.

Pour configurer une commande slash dans l'API Google Chat, procédez comme suit:

  1. Dans la console Google Cloud, cliquez sur Menu > API et services > API et services activés > API Google Chat

    Accéder à la page de l'API Google Chat

  2. Cliquez sur Configuration

  3. Sous Commandes à barre oblique, cliquez sur Ajouter une commande à barre oblique.

  4. Saisissez un nom, un ID de commande et une description pour la commande:

    1. Name (Nom) : nom à afficher de la commande et type de saisie par les utilisateurs pour appeler votre application. Doit commencer par une barre oblique, ne contenir que du texte et peut comporter jusqu'à 50 caractères.
    2. Description:texte qui décrit comment utiliser et mettre en forme la commande. Les descriptions peuvent comporter jusqu'à 50 caractères.
    3. ID de commande:nombre compris entre 1 et 1 000 utilisé par votre application Chat pour reconnaître la commande à barre oblique et renvoyer une réponse.
  5. Facultatif: Si vous souhaitez que votre application Chat répond à la commande avec une boîte de dialogue, cochez la case Ouvrir une boîte de dialogue.

  6. Cliquez sur Enregistrer.

La commande à barre oblique est maintenant configurée pour l'application Chat.

Répondre à une commande à barre oblique

Lorsque les utilisateurs créent un message Chat contenant une commande à barre oblique, votre application Chat reçoit un événement d'interaction MESSAGE. La charge utile de l'événement contient les objets slashCommand et slashCommandMetadata. Ces objets contiennent des informations sur la commande utilisée dans le message (y compris l'ID de commande), afin que vous puissiez renvoyer une réponse appropriée.

Message privé concernant l'application Chat de Cymbal Labs. Le message indique que l'application Chat a été créée par Cymbal Labs et partage un lien vers la documentation et un lien permettant de contacter l'équipe d'assistance.
Une application Chat répond en privé à la commande à barre oblique /help pour vous expliquer comment obtenir de l'aide.

Le code suivant montre un exemple d'application Chat qui répond à la commande à barre oblique /about en gérant les événements d'interaction MESSAGE et en détectant si le message contient l'ID de commande correspondant. Si le message contient l'ID de commande, l'application Chat renvoie un message privé:

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:
      Message aboutMessage = new Message();
      aboutMessage.setText("The Avatar app replies to Google Chat messages.");
      aboutMessage.setPrivateMessageViewer(new User()
        .setName(body.getAsJsonObject("user").get("name").getAsString()));
      response.getWriter().write(gson.toJson(aboutMessage));
      return;
  }
}

Définissez ABOUT_COMMAND_ID avec l'ID de commande que vous avez spécifié lorsque vous avez configuré la commande slash dans l'API Chat. Pour tester ce code, consultez la section Tester les fonctionnalités interactives des applications Google Chat.