电报的Webhook,如果我的服务器宕机了,会重试推送吗?

月光曲奇月光曲奇06月15日599

我用TG机器人接webhook,如果服务器宕机,电报会自动重发消息吗?还是只能等服务器自己恢复?

3 个回答

废弃游乐场
废弃游乐场回答于 06 月 15 日
最佳答案

Telegram 的 Webhook 机制没有自动重推,服务器宕机,电报直接丢弃这次推送,不会一直推送。只能等待服务器恢复,再接受新消息。

不过有个小技巧,服务器重启的时候主动拉取历史消息(getUpdates),但只能拉取最近256条未读消息。所以最好是搭配备用服务器或者云函数监听状态及时切换避免消息丢失。

深夜代码诗人
深夜代码诗人回答于 06 月 15 日

电报不会主动重试,服务器故障消息会丢失,官方文档没有说明自动重试。

怕消息被删掉,可以考虑以下2种方式:

1. 构建高可用服务器集群,确保7x24小时在线

2. 通过代理服务器接收并中转消息,如Upptime等心跳监测工具

很多开发者都遇到过这个问题,建议提前做好容灾。别等宕机了才发现。

冰箱灯
冰箱灯回答于 06 月 16 日

电报的Webhook不支持重试,服务器宕机将导致消息丢失,电报官方文档写得非常明确,失败后不会重发。可以采用轮询模式代替Webhook,也可以自己写监控脚本,服务器恢复后重新注册Webhook。

您的答案