在同一聊天历史记录上存在多个按钮的情况下,用户可能会单击以前消息中的按钮,因此我无法识别输入来自哪个对话框/消息。
示例:

由于聊天机器人是为多渠道实现的,我避免使用Slack的交互消息,所以我的目标是在bot框架本身上处理这个问题。我尝试从会话对象以及event_source获取信息,但没有找到具体的解决方案。
发布于 2018-08-14 12:12:37
在按钮附件中使用callback_id中的唯一ID来区分不同的按钮集,例如提示#1和提示#2。一旦按下按钮,callback_id将包含在Slack发送给应用程序的请求中。
再加上Slack、通道ID、用户ID等请求的一般上下文信息,您的应用程序应该能够做出正确的反应。
按钮定义示例(来自正式文件):
{
"text": "Would you like to play a game?",
"attachments": [
{
"text": "Choose a game to play",
"fallback": "You are unable to choose a game",
"callback_id": "wopr_game",
"color": "#3AA3E3",
"attachment_type": "default",
"actions": [
{
"name": "game",
"text": "Chess",
"type": "button",
"value": "chess"
},
{
"name": "game",
"text": "Falken's Maze",
"type": "button",
"value": "maze"
},
{
"name": "game",
"text": "Thermonuclear War",
"style": "danger",
"type": "button",
"value": "war",
"confirm": {
"title": "Are you sure?",
"text": "Wouldn't you prefer a good game of chess?",
"ok_text": "Yes",
"dismiss_text": "No"
}
}
]
}
]
}https://stackoverflow.com/questions/51834384
复制相似问题