2016-04-20 19 views
17

Rozwijam bota Telegramu i chcę używać Webhooków zamiast odpytywania, aby otrzymywać wiadomości z serwera Telegram.
Zajmuję się tworzeniem i testowaniem aplikacji na serwerze lokalnym, który nie jest osiągalnym hostem internetowym, więc nie mogę ustawić go jako adresu URL Webhook.Jak przetestować webhook bota telegramu na lokalnym komputerze?

Teraz zastanawiałem się, jak mogę uzyskać prawdziwe wiadomości z Telegram na mojej lokalnej maszynie przez Webhooks?

Odpowiedz

18

Możesz użyć ngrok, jeśli po prostu potrzebujesz szybkiego publicznego adresu URL do swojej aplikacji internetowej bez kłopotów.

Więc chcesz tylko uruchomić coś podobnego ngrok.exe http 192.168.10.10:80 -host-header=test.app będzie to powrót domenę niestandardową

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

I po prostu wskazać webhook telegram do http://449ee26d.ngrok.io/your-endpoint

+2

Jestem obecnie mający ten sam problem. To nie działa z kilku powodów (1) Telegram potrzebuje bezpiecznego połączenia ssl, co oznacza, że ​​musi to być https (2) Jeśli użyjesz trybu ngrok tls, otrzymasz https, ale telegram odrzuci certyfikat, ponieważ jest z ngrok, a nie od ciebie (3) Jeśli zdecydujesz się podpisać własny certyfikat i przesłać go podczas ustawiania webhook, telegram również odrzuca go, ponieważ ngrok podpisał już certyfikat dla wszystkich domen .ngrok. Jedyną opcją jest wtedy wykupienie domeny niestandardowej i uzyskanie certyfikatu lub podpisanie go samodzielnie. – Ken4scholars

+0

Dlaczego więc ma 8 uplayów? –

+0

@ Ken4scholars To działa. Nie musisz podawać certyfikatu! To po prostu psuje rzeczy. Podaj adres URL ngrok i powinien działać zgodnie z oczekiwaniami. – Rsh

Powiązane problemy