Сообщение не будет отправлено от Раса в Slack интеграцию - PullRequest
0 голосов
/ 17 октября 2019

Столкнувшись с проблемой слабой интеграции с Rasa 1. * способом командной строки.

Далее следуют следующие шаги:

  • Создано рабочее пространство («DataHacksConf2019»), канал («#rasachatbot») и приложение («rasachatbotdemo»).

  • Отмечено пользователем-ботом OAuth (начиная с xoxb-XXXXXXXXXXXXXXXXXXXX)

  • Включена подписка на события. Подписаться на события рабочей области: message.channel, message.groups, message.im и message.mpim

  • Переустановить приложение

  • ИзмененоФайл credentials.yml с токеном OAuth бота Slack-чата (начиная с xoxb)

  • Итак, мой credentials.yml содержит только две строки:

    slack:
      slack_token: "xoxb-XXXXXXXXXXXXXXXXXXXXXXXX"
  • Ngrok запускается через порт 5002 в Интернет:
    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"
  • Запустил сервер действий rasa от
python -W ignore -m rasa run actions
  • Итак, мой сервер действий работал на 5055

  • В другом окне с активированной средой rasa на другом порту 5002, на том же порту, что и ngrok, запущен сервер rasa

    python -W ignore -m rasa run --connector slack --port 5002 --cors *
  • Запущен чат in Slack

Похоже, сообщение отправляется из Slack в ngrok на 5002 (говорит, что состояние в порядке 200), но оттуда оно не отображается на сервере rasa, работающем на 5002

ничего не пропало?

Все необходимые файлы находятся на https://github.com/yogeshhk/TeachingDataScience/tree/master/Jupyter/iplbot/cli_version

1 Ответ

0 голосов
/ 17 октября 2019

endpoints.yml должен выглядеть следующим образом:

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

Поскольку action_endpoint предназначен для действий, а не для чего-либо еще, и он может работать на порте по умолчанию 5055.

Slack -> ngrok-> Rasa server - это основной путь потока сообщений. Итак, между сервером rasa и ngrok порт должен быть таким же, скажем, 5004. Тогда между ngrok и slack токен url должен быть таким же. Вот как происходит связывание / связывание.

Еще одно наблюдение: сначала нужно запустить сервер rasa, скажем, 5004, затем ngrok http на 5004, затем получить маркер URL-адреса ngrok, поместить его в Slack Verify, а затем только его. хорошо проверяет, иначе это ошибки. Порядок кажется важным

...