Triển khai lệnh dấu gạch chéo

Lệnh dấu gạch chéo sẽ giúp bạn đăng ký và quảng cáo những lệnh cụ thể cho ứng dụng để giúp người dùng hiểu một số tính năng của ứng dụng. Khi người dùng đang trò chuyện với ứng dụng và nhập dấu gạch chéo, lệnh dấu gạch chéo của ứng dụng sẽ xuất hiện trong cửa sổ bật lên, với nội dung mô tả về chức năng của từng lệnh.

Khi người dùng gọi ứng dụng bằng lệnh dấu gạch chéo, một trường bổ sung sẽ được đính kèm vào thông báo gửi đến ứng dụng của bạn. Trường này cho biết người dùng đã chọn lệnh dấu gạch chéo cũng như lệnh dấu gạch chéo mà họ đã chọn (dựa trên mã lệnh được chỉ định trong cấu hình của ứng dụng). Ngoài ra, lệnh dấu gạch chéo có chú giải, giống như khi người dùng tương tác với ứng dụng theo tên.

{
  ...
  "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
    }
  }
}

Mã lệnh mà ứng dụng của bạn sẽ nhận được tương ứng với mã lệnh mà bạn chỉ định cho lệnh đó trong cấu hình của ứng dụng:

Điều này cho phép ứng dụng của bạn xử lý các trường hợp lệnh dấu gạch chéo một cách rõ ràng bằng cách phân tích đối số hạn chế:

if (message.slashCommand) {
  switch (message.slashCommand.commandId) {
    case 2:  // /vote
      return vote(message.argumentText);
  }
}

// Other existing handling for users invoking your app by name.