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