如何在本地机器上测试telegram bot webhook?

Dan*_*sev 27 php webhooks telegram-bot

我正在开发一个Telegram机器人,我想使用Webhooks而不是轮询来从Telegram服务器获取消息.
我正在开发和测试localhost上的应用程序,该应用程序不是可访问的Web主机,因此我无法将其设置为Webhook URL.

现在我想知道如何通过Webhooks在本地机器上从Telegram获得真正的消息?

小智 34

如果您只是需要一个快速的公共URL到您的webapp,您可以使用ngrok,而不会有一堆麻烦.

所以你只需要运行ngrok.exe http 192.168.10.10:80 -host-header=test.app它会返回一个自定义域名

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

你只需将Telegram的webhook指向 http://449ee26d.ngrok.io/your-endpoint

ngrok

  • 我目前遇到同样的问题.由于以下几个原因,这不起作用(1)Telegram需要一个安全的ssl连接,这意味着它必须是https(2)如果您使用ngrok tls模式,您将获得https但电报将拒绝该证书,因为它来自ngrok而不是来自您(3)如果您决定自己签署自己的证书并在设置webhook时上传它,电报也会拒绝它,因为ngrok已经为所有.ngrok域签署了证书.然后,唯一的选择是购买自定义域名并获取证书或自行签名 (3认同)
  • 那么,为什么这有8个赞成票? (2认同)