คําสั่งเครื่องหมายทับจะช่วยให้คุณลงทะเบียนและโฆษณาคําสั่งที่ต้องการสําหรับแอปได้ ซึ่งช่วยให้ผู้ใช้เข้าใจฟีเจอร์บางอย่างของแอป เมื่อผู้ใช้กําลังแชทกับแอปและพิมพ์เครื่องหมายทับ คําสั่งเครื่องหมายทับของแอปจะปรากฏในป๊อปอัปพร้อมคําอธิบายว่าแต่ละคําสั่งทําอะไรบ้าง
เมื่อผู้ใช้เรียกใช้แอปตามคําสั่งเครื่องหมายทับ ระบบจะแนบช่องเพิ่มเติมไปกับข้อความที่ส่งไปยังแอป ช่องนี้ระบุว่าผู้ใช้เลือกคําสั่งเครื่องหมายทับและคําสั่งเครื่องหมายทับที่เลือก (โดยอิงตามรหัสคําสั่งที่ระบุไว้ในการกําหนดค่าของแอป) นอกจากนี้ คําสั่งเครื่องหมายทับมีคําอธิบายประกอบ เช่นเดียวกับเวลาที่ผู้ใช้โต้ตอบกับแอปตามชื่อด้วย
{
...
"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
}
}
}
รหัสคําสั่งที่แอปจะได้รับตรงกับรหัสคําสั่งที่คุณระบุสําหรับคําสั่งนั้นในการกําหนดค่าของแอป
การดําเนินการนี้จะช่วยให้แอปรองรับเครื่องหมายทับในคําสั่งอย่างชัดแจ้งได้ด้วยการแยกวิเคราะห์อาร์กิวเมนต์แบบจํากัด ดังนี้
if (message.slashCommand) {
switch (message.slashCommand.commandId) {
case 2: // /vote
return vote(message.argumentText);
}
}
// Other existing handling for users invoking your app by name.