Implementar comandos de barra

Os comandos de barra permitem que você registre e anuncie comandos específicos para seu app que ajudam os usuários a entender alguns dos recursos dele. Quando o usuário está conversando com um app e digita uma barra, os comandos de barra do app aparecem em um pop-up, com uma descrição do que cada comando faz.

Quando o usuário invoca o app por comando de barra, um campo adicional é anexado à mensagem enviada ao app. Esse campo indica que o usuário selecionou um comando de barra, bem como qual comando de barra ele selecionou (com base no ID de comando especificado na configuração do app). Além disso, o comando de barra tem uma anotação, assim como quando o usuário interage com o app pelo nome.

{
  ...
  "message": {
    ...
    "text": "/vote yes",
    "argumentText": " yes",
    "annotations": [
      {
        "length": 5,
        "startIndex": 0,
        "slashCommand": {
          "type": "INVOKE",
          "user": {
            "avatarUrl": "https://.../avatar.png",
            "displayName": "VoteBot",
            "name": "users/1234567890987654321",
            "type": "BOT"
          }
        },
        "type": "SLASH_COMMAND"
      }
    ],
    "slashCommand": {
      "commandId": 2
    }
  }
}

O ID de comando que seu app vai receber corresponde ao ID especificado para esse comando na configuração do app:

Campos de configuração do comando de barra.

Isso permite que o app processe casos de comando de barra explicitamente com análise de argumentos limitada:

if (message.slashCommand) {
  switch (message.slashCommand.commandId) {
    case 2:  // /vote
      return vote(message.argumentText);
  }
}

// Other existing handling for users invoking your app by name.