Python Telegram Bot API 定时设置频道已发消息为全员已读问题咨询
Telegram频道Bot消息自动设为已读相关问题解答
问题1:是否可以为频道所有成员设置消息已读状态,能否作用于已发历史消息?
- 结论:没有任何官方公开API支持该操作,无论是已发送的历史消息还是新消息都无法实现。
- 核心限制:Telegram的消息已读状态属于每个用户账号的私有本地数据,仅当用户自己在客户端打开频道会话时才会更新,Bot、频道管理员都没有权限修改其他用户账号内的会话状态。
- 可选替代方案:如果核心需求是避免过期消息给用户带来未读提示干扰,可以在消息过期后通过Bot编辑消息,添加
【已过期】的醒目前缀降低用户注意力消耗;也可以通过Bot发送一条无意义的空白消息后立即撤回,该操作会抵消当前频道会话的未读标记(仅对操作时在线的用户生效,离线用户重新上线后仍会看到未读提示)。
问题2:发送消息时能否直接配置定时自动设为已读的规则,无需额外维护已发消息记录?
- 结论:官方没有提供原生的定时设为已读配置能力,你必须自行处理定时逻辑。
- 轻量化实现方案:如果不想额外搭建数据库存储发送记录,可以在发送消息时将过期时间戳通过零宽字符隐藏在消息文本末尾,或者写入消息
reply_markup的自定义数据字段,后续定时轮询频道历史消息直接解析即可,无需额外存储。
- 轻量化实现方案:如果不想额外搭建数据库存储发送记录,可以在发送消息时将过期时间戳通过零宽字符隐藏在消息文本末尾,或者写入消息
内容的提问来源于stack exchange,提问作者tim
相关产品推荐
相关产品推荐

