Mit Slash-Befehlen können Sie bestimmte Befehle für Ihre App registrieren und bewerben, damit Nutzer einige der App-Funktionen besser verstehen. Wenn der Nutzer mit einer Anwendung chattet und einen Schrägstrich eingibt, werden die Slash-Befehle der Anwendung in einem Pop-up mit einer Beschreibung der Funktionen der einzelnen Befehle angezeigt.
Wenn der Nutzer Ihre App per Slash-Befehl aufruft, wird der Nachricht, die an Ihre App gesendet wurde, ein zusätzliches Feld angehängt. Dieses Feld gibt an, dass der Nutzer einen Slash-Befehl ausgewählt hat und welcher Slash-Befehl er ausgewählt hat (basierend auf der in der Konfiguration Ihrer App angegebenen Befehl-ID). Außerdem enthält der Slash-Befehl eine Annotation, genau wie der Nutzer mit dem Namen Ihrer App interagiert.
{
...
"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
}
}
}
Die Befehls-ID, die Ihre Anwendung erhält, entspricht der Befehls-ID, die Sie in der Anwendungskonfiguration für diesen Befehl angeben:
Dadurch kann Ihre Anwendung Slash-Befehlsfälle explizit mit begrenztem Argument-Parsing verarbeiten:
if (message.slashCommand) {
switch (message.slashCommand.commandId) {
case 2: // /vote
return vote(message.argumentText);
}
}
// Other existing handling for users invoking your app by name.