it-swarm.com.ru

Как проверить Messenger-ботов в автономном режиме? Локальные вебхуки

Я начинаю с Messenger Platform API. Я хочу сделать простой Messenger Chatbot. Вот учебник, которому я следую.

Как видите, для начала мне нужно настроить webhook (шаг 2). Итак, в основном: веб-сервер, который предоставляет некоторый REST API и отправляет некоторые данные обратно. Проблема в том, что Facebook требует от меня предоставить какой-то реальный, существующий URL-адрес приложения, который в настоящее время работает в Интернете. Итак, мне нужно загружать свой код на сервер каждый раз, когда я что-то меняю? Могу ли я как-то проверить это локально (на моем локальном хосте)? Как я могу проверить поведение моего бота?

11
Piotrek

Есть несколько сервисов, которые вы можете использовать для предоставления доступа вашему веб-серверу на локальном хосте. Есть два варианта: localtunnel и ngrok

Пример (из краткого руководства localtunnel) о том, как вы можете это сделать, учитывая, что ваш веб-сервер работает на http: // localhost: 8000/ , будет выглядеть следующим образом:

Установите localtunnel из npm:

npm install -g localtunnel

Запрос туннеля на ваш локальный сервер:

lt --port 8000

Будет сгенерирована ссылка в форме https://foo.localtunnel.me, которую вы можете использовать для доступа к локальному хосту из Интернета. Одна приятная особенность заключается в том, что вы автоматически получаете https, поэтому Facebook не выдаст вам ошибку «проблема с сертификатом SSL». Localtunnel или ngrok также хороши тем, что делятся работой, выполняемой локально, с другими.

Обратите внимание, что локальный URL-адрес действителен только в течение всего времени существования соединения, поэтому вам придется обновлять URL-адрес Facebook, если соединение заканчивается.

28
mguida

Я создал библиотеку, которая пытается решить эту проблему! С fb-local-chat-bot вы можете легко протестировать своего бота в автономном режиме. Библиотека также делает тестирование намного проще. Если вам интересно, обязательно посмотрите

https://github.com/spchuang/fb-local-chat-bot

Демо-версия:

16
spchuang

вы можете использовать ngrok для тестирования бота мессенджера в localhost. Вы можете скачать его по адресу: https://ngrok.com/download

при выполнении ngrok он создаст безопасную ссылку, которую можно использовать в качестве конечной точки в webhook.

Вы также можете проверить подробный статус каждого запроса и ответа ngrok через

http: // localhost: 4040/inspect/http

Позже, когда вы закончите, вы можете развернуть свой код на защищенном сервере.

Вы можете найти больше информации о том, как создать базового чат-бота, по ссылке ниже:

Как построить базовый чат-бот на мессенджере Facebook

3
Sravan

Вы можете развернуть свои бэкенд-сервисы на героку бесплатно. Это обеспечивает публичный DNS с RSA.

1
user3671657

Если вы не можете использовать ngrok по какой-либо причине (например, для маршрутизации webhook на несколько машин). Пожалуйста, попробуйте этот эмулятор, который я создал для разработки/отладки локальных веб-хуков. это обеспечивает эмуляцию send api и messenger ui

Я создал эмулятор для отправки API и мессенджера, который я использую для локальной отладки веб-хуков

https://github.com/SonOfSardaar/facebook-send-api-emulator

Я тоже сталкивался с этим (я еще не пробовал этот, но выглядит хорошо)

https://docs.Microsoft.com/en-us/bot-framework/debug-bots-emulator

0
Gurpreet