首页 > 解决方案 > Telegram Bot 正在获取所有频道消息

问题描述

我想创建一个电报机器人来向添加它的组/频道发送更新。我使用 BotFather 创建了一个机器人。但是,在 中https://api.telegram.org/bot<BOTAPI>/getUpdates,我收到了在这样的频道中发送的所有消息:"channel_post":{"message_id":59,"chat":{"id":-1001192794322,"title":"Nseindia","username":"nseindia_updates","type":"channel"},"date":1588581996,"text":"AMBUJACEM : Bear\nAPOLLOHOSP : Bullish Reversal\nKOTAKBANK : Bullish\nMOTHERSUMI : Bear"}}

现在这不是问题,但是随着时间的推移,json 文件可能会变得非常大并且可能会造成问题。

有什么办法让我没有得到 json 中存在的所有消息https://api.telegram.org/bot<BOTAPI>/getUpdates

标签: telegram

解决方案


您应该指定update_id您已处理的最新更新作为offset参数,getUpdates以使它们(带有 less 的更新update_id)标记为已处理,这样下次您调用时它们就不会出现getUpdates

在电报的Bot API Docs中它说:

默认情况下,会返回从最早的未确认更新开始的更新。一旦使用高于其 update_id 的偏移量调用 getUpdates,则认为更新已确认。


推荐阅读