首页 > 解决方案 > 在 Slack 集成中,消息不会从 ngrok 发送到 Rasa

问题描述

在与 Rasa 1.* 命令行方式的 Slack 集成中面临问题。

遵循的步骤是:

    slack:
      slack_token: "xoxb-XXXXXXXXXXXXXXXXXXXXXXXX"
    C:\Temp\ngrok.exe http 5002
        action_endpoint:
         url: "http://375d7c95.ngrok.io:5002/webhook"

上面的设置是正确的还是应该如下?

        action_endpoint:
         url: "http://localhost:5055/webhook"
python -W ignore -m rasa run actions
    python -W ignore -m rasa run --connector slack --port 5002 --cors *

该消息似乎在 5002 上从 Slack 发送到 ngrok(说状态正常 200),但从那里它没有出现在 5002 上运行的 rasa 服务器中

我错过了什么吗?

所有必要的文件都在https://github.com/yogeshhk/TeachingDataScience/tree/master/Jupyter/iplbot/cli_version

标签: chatbotslackslack-apingrokrasa

解决方案


endpoints.yml 应如下所示:

action_endpoint:
  url: "http://localhost:5055/webhook"

因为 action_endpoint 用于操作,而不是其他任何东西,它可以在默认端口 5055 上运行。

Slack -> ngrok -> Rasa server 是主要的消息流路径。因此,在 rasa 服务器和 ngrok 之间,端口必须相同,例如 5004。然后在 ngrok 和 slack 之间,url 令牌必须相同。这就是链接/绑定的完成方式。

另一个观察:首先需要在 5004 上启动 rasa 服务器,然后在 5004 上启动 ngrok http,然后获取 ngrok url 令牌,将其放入 Slack 验证中,然后仅验证正常,否则会出错。顺序似乎很重要


推荐阅读