根据telegram api,getUpdates
函数使用长轮询(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/