2016-04-20 37 views
17

Sviluppo un bot di Telegram e voglio usare Webhooks anziché il polling per ottenere messaggi dal server di Telegram.
Sto sviluppando e testando l'app su localhost che non è un host web raggiungibile, quindi non posso impostarlo come URL Webhook.Come testare il webhook di telegram bot sul computer locale?

Ora mi chiedevo come avrei potuto ottenere veri messaggi da Telegram sulla mia macchina locale tramite Webhooks?

risposta

18

Potresti usare ngrok se hai solo bisogno di un veloce URL pubblico per la tua webapp senza problemi.

Quindi sarebbe basta eseguire qualcosa di simile ngrok.exe http 192.168.10.10:80 -host-header=test.app che restituisca un dominio personalizzato

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

E basta puntare webhook del telegramma per http://449ee26d.ngrok.io/your-endpoint

+2

Attualmente sto avendo lo stesso problema. Questo non funziona per diversi motivi (1) Telegram ha bisogno di una connessione SSL sicura, il che significa che deve essere https (2) Se usi la modalità ngrok tls otterrai un https ma il telegramma rifiuterà il certificato perché è da ngrok e non da te (3) Se decidi di firmare tu stesso il tuo certificato e di caricarlo durante l'impostazione di webhook, telegram lo rifiuta anche perché ngrok ha già firmato un certificato per tutti i domini .ngrok. L'unica opzione è quindi acquistare un dominio personalizzato e ottenere un certificato o firmarlo da solo – Ken4scholars

+0

Quindi, perché questo ha 8 upvotes? –

+0

@ Ken4scholars Funziona. Non devi fornire il certificato! Fa solo casino. Dare l'indirizzo URL di ngrok e dovrebbe funzionare come previsto. – Rsh

Problemi correlati