消息在Slack集成中不会从frm ngrok发送到Rasa

问题描述 投票:0回答:1

与Rasa 1. *命令行方式进行Slack集成时遇到的问题。

遵循的步骤是:

  • 创建了工作空间(“ DataHacksConf2019”),频道(“ #rasachatbot”)和应用程序(“ rasachatbotdemo”)。

  • 记下Bot用户OAuth(以xoxb-XXXXXXXXXXXXXXXXXXXX开头)

  • 已打开事件订阅。订阅工作空间事件:message.channel,message.groups,message.im和message.mpim

  • 重新安装应用程序

  • 已更改带有Slack聊天机器人OAuth令牌(从xoxb开始)的凭据.yml文件

  • 所以,我的credits.yml只有以下两行:

    slack:
      slack_token: "xoxb-XXXXXXXXXXXXXXXXXXXXXXXX"
  • Ngrok在端口5002上启动到Internet:
    C:\Temp\ngrok.exe http 5002
  • 记下了不同的ngrok令牌375d7c95,在下面使用了它,

  • 所以,我的endpoints.yml只有以下两行

        action_endpoint:
         url: "http://375d7c95.ngrok.io:5002/webhook"

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

        action_endpoint:
         url: "http://localhost:5055/webhook"
  • Ran rasa动作服务器由
python -W ignore -m rasa run actions
  • 所以,我的动作服务器运行在5055

  • 在另一个窗口中,在其他端口5002上具有激活的rasa环境,该端口与ngrok相同,已启动rasa服务器

    python -W ignore -m rasa run --connector slack --port 5002 --cors *
  • 开始在Slack中聊天

[该消息似乎在5002上从Slack发送到ngrok(状态为ok 200,但是从那儿起它没有显示在5002上运行的rasa服务器中]

我有什么遗漏吗?

所有必需的文件位于https://github.com/yogeshhk/TeachingDataScience/tree/master/Jupyter/iplbot/cli_version

chatbot slack slack-api ngrok rasa
1个回答
0
投票

endpoints.yml应该看起来像:

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

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

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

[另一个观察结果:首先需要在例如5004上启动rasa服务器,然后在5004上启动ngrok http,然后获取ngrok url令牌,将其放入Slack验证,然后再验证是否正确,否则会出错。订单似乎很重要

© www.soinside.com 2019 - 2024. All rights reserved.