슬래시 명령어를 사용하면 사용자가 앱의 일부 기능을 이해하는 데 도움이 되는 앱의 특정 명령어를 등록하고 알릴 수 있습니다. 사용자가 앱과 채팅하면서 슬래시를 입력하면 앱의 슬래시 명령어가 각 명령어의 기능에 대한 설명과 함께 팝업에 표시됩니다.
사용자가 슬래시 명령어로 앱을 호출하면 앱에 전송된 메시지에 추가 필드가 첨부됩니다. 이 필드는 사용자가 앱 구성에서 지정한 명령어 ID를 기준으로 슬래시 명령어와 선택한 슬래시 명령어를 선택했음을 나타냅니다. 또한 사용자가 이름으로 앱과 상호작용하는 경우와 마찬가지로 슬래시 명령어에도 주석이 있습니다.
{
...
"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
}
}
}
앱에서 수신하는 명령어 ID는 앱 구성에서 명령어에 지정하는 명령어 ID에 대응됩니다.
이렇게 하면 앱이 제한된 인수 파싱을 사용하여 슬래시 명령어 사례를 명시적으로 처리할 수 있습니다.
if (message.slashCommand) {
switch (message.slashCommand.commandId) {
case 2: // /vote
return vote(message.argumentText);
}
}
// Other existing handling for users invoking your app by name.