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:
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.