如何使用Telegram API获取频道/聊天最新消息及max_date参数用法
现有拉取最新20条消息的逻辑是否正确
你的现有写法完全可以满足需求,不需要额外调整参数。
当offset_id设为0、offset_date设为None时,messages.getHistory接口默认从会话最新的消息开始,按时间倒序返回数据,limit=20正好对应最新的20条消息。
max_date参数的正确用法
max_date要求传入10位秒级Unix时间戳(整数格式,不要传13位毫秒级时间戳),作用是限定返回消息的发送时间不晚于该时间戳对应的时间。
如果你只是需要拉取当前最新的消息,不需要设置这个参数,保持offset_date=None即可。只有当你需要拉取指定时间点之前的历史消息时,才需要将对应时间转成10位Unix时间戳传入。
分页拉取历史场景补充说明
如果后续需要拉取更早的历史消息,你可以拿到当前批次返回的最早一条消息的ID和发送时间戳,下一次请求将offset_id设为该消息ID、offset_date设为该消息的发送时间戳,就能继续向下拉取更早的20条数据,避免重复。
内容的提问来源于stack exchange,提问作者kloop
相关产品推荐
相关产品推荐

