带有DialogFlow的Slack消息菜单的响应

时间:2018-09-12 14:17:00

标签: dialogflow slack-api

我已经使用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,也不知道我缺少什么。 请注意,我在对话流历史记录中找不到响应。

谢谢。

1 个答案:

答案 0 :(得分:2)

联系Slack和Dialogflow支持人员之后,Dialogflow尚不支持此功能。 我找到了一种解决方案,方法是在Slack和Dialogflow之间添加一个中间件,该中间件负责消息菜单并将其他消息发送到Dialogflow。