我已经使用Slack + Dialogflow + backJS开发了一个聊天机器人,并且能够发送和接收来自用户的消息。我也可以毫无问题地使用按钮。 但是,当我创建带有动态选项的消息菜单时,如果选择其中一个,则会收到以下消息:“在操作端点上接收到空数据”。
用于创建消息菜单的JSON来自松弛文档。 该值都不应该达到已知的意图,因此我期望故障回复意图中会出现类似“对不起,我不明白”的信息。
{
"payload": {
"slack":
{
"text": "Would you like to play a game?",
"response_type": "in_channel",
"attachments": [
{
"text": "Choose a game to play",
"fallback": "If you could read this message, you'd be choosing something fun to do right now.",
"color": "#3AA3E3",
"attachment_type": "default",
"callback_id": "game_selection",
"actions": [
{
"name": "games_list",
"text": "Pick a game...",
"type": "select",
"options": [
{
"text": "Hearts",
"value": "hearts"
},
{
"text": "Bridge",
"value": "bridge"
},
{
"text": "Checkers",
"value": "checkers"
},
{
"text": "Chess",
"value": "chess"
},
{
"text": "Poker",
"value": "poker"
},
{
"text": "Falken's Maze",
"value": "maze"
},
{
"text": "Global Thermonuclear War",
"value": "war"
}
]
}
]
}
]
}
}
}
我不明白为什么选定的选项没有发送到Dialogflow,也不知道我缺少什么。 请注意,我在对话流历史记录中找不到响应。
谢谢。
答案 0 :(得分:2)
联系Slack和Dialogflow支持人员之后,Dialogflow尚不支持此功能。 我找到了一种解决方案,方法是在Slack和Dialogflow之间添加一个中间件,该中间件负责消息菜单并将其他消息发送到Dialogflow。