Los comandos de barra te permiten registrar y anunciar comandos específicos para tu app que ayudan a los usuarios a comprender algunas de las funciones de la app. Cuando el usuario chatea con una app y escribe una barra diagonal, sus comandos aparecen en una ventana emergente con una descripción de lo que hace cada comando.
Cuando el usuario invoca tu app mediante un comando de barra, se adjunta un campo adicional al mensaje enviado a tu app. Este campo indica que el usuario seleccionó un comando de barra, así como el comando de barra que seleccionó (en función del ID de comando especificado en la configuración de tu app). Además, el comando de barra tiene una anotación, al igual que cuando el usuario interactúa con tu app por nombre.
{
...
"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
}
}
}
El ID de comando que recibirá la app corresponde al ID de comando que especificas para ese comando en la configuración de la app:
Esto permite que tu app maneje explícitamente los casos de comandos de barra con análisis de argumentos limitados:
if (message.slashCommand) {
switch (message.slashCommand.commandId) {
case 2: // /vote
return vote(message.argumentText);
}
}
// Other existing handling for users invoking your app by name.