2016-04-20 3 views
17

Я разрабатываю бот Telegram, и я хочу использовать Webhooks вместо опроса для получения сообщений с сервера Telegram.
Я разрабатываю и тестирую приложение на локальном хосте, которое не является доступным веб-хостом, поэтому я не могу установить его как URL-адрес Webhook.Как проверить телеграмму bot webhook на локальной машине?

Теперь мне было интересно, как я могу получать реальные сообщения от Telegram на моей локальной машине, хотя Webhooks?

ответ

18

Вы можете использовать ngrok, если вам нужен только быстрый общедоступный URL-адрес вашего веб-клиента без кучи хлопот.

Таким образом, вы бы просто запустить что-то вроде ngrok.exe http 192.168.10.10:80 -host-header=test.app он будет возвращать собственный домен

Forwarding http://449ee26d.ngrok.io -> 192.168.10.10:80

И вы просто указать webhook Телеграмма к http://449ee26d.ngrok.io/your-endpoint

+2

Я в настоящее время имеющий та же проблема. Это не работает по нескольким причинам (1) Telegram нуждается в безопасном подключении ssl, что означает, что он должен быть https (2) Если вы используете режим ngrok tls, вы получите https, но телеграмма отклонит сертификат, потому что это от ngrok, а не от вас (3) Если вы решите самостоятельно подписать свой собственный сертификат и загрузить его при настройке веб-камеры, телеграмма также отклонит его, потому что ngrok уже подписал сертификат для всех доменов .ngrok. Единственный вариант - купить собственный домен и получить сертификат или подписать его самостоятельно. – Ken4scholars

+0

Итак, почему у этого есть 8 upvotes? –

+0

@ Ken4scholars Это работает. Вам не нужно предоставлять сертификат! Это просто беспорядок. Укажите адрес URL-адреса ngrok, и он должен работать как ожидалось. – Rsh

Смежные вопросы