You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ESP32上Micropython Telegram bot仅拉取首条消息如何获取未读消息

问题解答

核心参数逻辑

Telegram Bot API 要求offset参数传入已处理的最后一条消息对应的update_id值 + 1,即可跳过所有已处理消息,仅获取未读更新:

  • 初始值设为0时,会从最早的未处理消息开始返回
  • 每完成一条消息的处理后,将offset更新为该消息的update_id + 1,下次请求就只会返回更新的未读消息

针对当前使用场景的说明

你使用的listen()函数已经内置了自动推进self.message_offset的逻辑,不需要手动修改read_messages中的代码,按需调整初始值即可:

  • 若需要程序启动后只接收新消息,忽略历史未读消息:将self.message_offset初始值设为-1即可,首次请求只会返回最新的一条消息,之后listen()会自动推进offset
  • 若需要程序启动后处理所有历史未读消息:保留初始值0即可,listen()会自动逐条处理并更新offset值

你贴出的read_messages函数本身仅负责拉取消息,没有修改offset的逻辑,offset更新逻辑完全由listen()实现,不要修改该函数内的query_updates配置。

内容的提问来源于stack exchange,提问作者none none

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 15:45:01