Telegram机器人编辑48h以上旧消息触发Message to edit not found错误
Telegram机器人旧消息InlineKeyboard按钮点击报错问题
功能触发条件
- 用户点击机器人内置的InlineKeyboardButton
适用聊天场景
- 仅适用于用户与机器人的私聊场景,按钮附在机器人发送给用户的消息上,不适用于群组、频道场景
预期响应逻辑
- 通过代码
text = str(update['callback_query']['message']['text'])读取消息文本内容 - 调用
query.edit_message_text(text=text, reply_markup = keyboard)编辑对应消息
遇到的问题
- 读取消息文本时发现
Update字典中完全缺失text字段 - 后续编辑消息操作失败,抛出错误
telegram.error.BadRequest: Message to edit not found - 该问题仅在消息发送时长超过约48小时时出现,刚发送的消息对应的按钮可正常触发功能,放置一段时间后就会触发上述错误
问题原因推测
- Telegram服务端会清除超时消息的相关缓存数据,超过特定时长后就不再支持开发者调用接口操作这类过期消息
内容的提问来源于stack exchange,提问作者ppman
相关产品推荐
相关产品推荐

