根据telegram apigetUpdates函数使用长轮询(wiki)接收传入的更新。
从维基:


  如果服务器没有可供客户端使用的任何信息
  收到轮询后,而不是发送空响应,
  服务器将请求保持打开状态,并等待响应信息发送到
  变得可用。一旦有了新信息,服务器
  立即向客户端发送HTTP / S响应,完成
  打开HTTP / S请求。


那么,即使设置了getUpdates()参数,为什么函数timeout也立即返回?

函数调用:
bot.getUpdates(offset=lastUpdateID, timeout=120)

没有新的更新,offset = lastUpdateID是最近的更新。

我正在使用库python telegram bot library

最佳答案

问题是我要求输入offset=lastUpdateID x,而我应该要求输入offset=lastUpdateID x + 1

关于python - 为什么telegram.Bot.getUpdates()长轮询立即返回?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32025189/

10-09 13:14