我正在使用电报僵尸网络API制作电报机器人,如here
所述我正在使用长轮询通过方法getUpdates为我的机器人收集更新。为了避免两次处理相同的消息,我使用方法的偏移参数。
import requests
url = "https://api.telegram.org/botTOKEN/getUpdates"
offsetParam = {'offset' : 999}
response = requests.get(url,params=offsetParam)
运行此代码时,可以预期每次更新都会有大于999的偏移量。但是我仍然得到message_id' s作为代码中最后一个变量的一部分,小于999(所有这些,事实上。)
任何人都可以帮我弄清楚为什么这次通话后响应偏移不会增加?
P.S:我很高兴提供额外的信息。由于
答案 0 :(得分:2)
使用cURL
解决了这个问题。这不是message_id
;这是update_id
。如果offset
大于update_id
,cURL
仅在新的更新可用或timeout
过去时返回。换句话说,它长期民意调查。
答案 1 :(得分:1)
答案很简单。偏移量指的是update_id值。
其他答案声称message_id是偏移量,在撰写本文时并非如此。
答案 2 :(得分:0)
偏移是消息ID,您应该在result.message_id
中获取,而不是从0
开始。