telegram - 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
解决方案
您应该指定update_id
您已处理的最新更新作为offset
参数,getUpdates
以使它们(带有 less 的更新update_id
)标记为已处理,这样下次您调用时它们就不会出现getUpdates
。
在电报的Bot API Docs中它说:
默认情况下,会返回从最早的未确认更新开始的更新。一旦使用高于其 update_id 的偏移量调用 getUpdates,则认为更新已确认。
推荐阅读
- assembly - 用于虚拟到物理地址转换的 FreeBSD 模块
- microsoft-graph-api - 从 Azure 数据工厂管道调用 MS Graph API
- node.js - 如何处理停止发送数据的 HTTP 请求
- ruby-on-rails - 如何在 RoR 中锁定记录
- python - 试图弄清楚如何传递函数,以便它可以显示值
- database - 保存用户是否在 MongoDB 中做过某事的条件:我应该使用哪种字段类型?
- javascript - 为页面上多种类型的元素添加监听器和值
- spring - 在 Feign 客户端中设置 cookie
- go - go env 显示 GOPATH 不匹配
- javascript - 如何在 react.js 中传递数据/值名称