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

Response from Slack message Menu with DialogFlow

我使用 Slack + Dialogflow + a back in nodeJS 开发了一个聊天机器人,我能够发送和接收来自用户的消息。我也可以毫无问题地使用按钮。 但是当我创建一个带有动态选项的消息菜单时,我 select 其中之一,我收到以下消息:"Empty data received on Action Endpoint".

用于创建消息菜单的 JSON 来自 slack 文档。 None 的值应该达到已知的意图,所以我期待来自故障恢复意图的 "Sorry I don't understand" 之类的东西。

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

我不明白为什么 selected 选项没有发送到 Dialogflow,我也不知道我错过了什么。 请注意,我在对话流历史记录中找不到响应。

提前致谢。

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