getUpdates Telegram bot API

时间:2017-07-12 22:04:37

标签: api bots telegram

我正在使用电报僵尸网络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:我很高兴提供额外的信息。

由于

3 个答案:

答案 0 :(得分:2)

使用cURL解决了这个问题。这不是message_id;这是update_id。如果offset大于update_idcURL仅在新的更新可用或timeout过去时返回。换句话说,它长期民意调查。

答案 1 :(得分:1)

答案很简单。偏移量指的是update_id值。

其他答案声称message_id是偏移量,在撰写本文时并非如此。

答案 2 :(得分:0)

偏移是消息ID,您应该在result.message_id中获取,而不是从0开始。