如何在电报中获取自定义更新

时间:2018-06-18 15:42:57

标签: telegram telegram-bot

我尝试使用https://api.telegram.org/bot<token>/getupdates从机器人的电报中获取更新,如何获得自定义更新?

例如,我想在一个电报组中,并在指定的时间内获得更新?

1 个答案:

答案 0 :(得分:0)

目前还没有办法做到这一点。

您必须以Telegram指定的格式处理API服务器的所有更新。您作为查询过滤器唯一可以提供的是offset参数。

UPD

如果问题是您始终收到相同的更新集,原因是您为offset方法指定了不正确的 getUpdates参数。

来自API docs page

  

为避免重复更新,请在每次服务器响应后重新计算偏移量

每次致电offset时,getUpdates 必须不同

如何为每次通话计算offset

  1. getUpdates请求返回Update objects
  2. 的数组
  3. 每个Update对象都有update_id属性。迭代此数组,查找并将最大update_id存储在变量(例如max_upd_id)中。
  4. 在下一次max_upd_id + 1来电中使用offset作为新getUpdates
  5. 首次使用getUpdates使用offset=0