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

Telegram Bot API跨聊天回复报错400:目标消息未找到

解答

1. 参数正确仍报错的原因

核心问题是机器人无法访问目标频道的指定消息,哪怕频道是公开的,机器人也需要满足访问条件才能引用消息:

  • 机器人未加入目标公开频道:即使是公开频道,机器人作为独立账号,必须先成为频道成员(可由管理员添加或自行订阅),才能获取到频道内消息的引用权限。
  • 目标消息过旧:Telegram会对公开频道的历史消息做缓存限制,过旧的消息机器人无法直接引用。

你测试的forwardMessage/copyMessage能成功,是因为用户1已经将目标消息转发给机器人,机器人是基于用户提供的消息上下文操作,而非直接访问频道内的原始消息。

2. 遗漏的设置或限制

你忽略了两个关键限制:

  • 跨聊天回复的权限要求:机器人必须具备读取目标聊天消息的权限。对于公开频道,机器人需要先加入频道;对于私有群组/聊天,机器人必须是成员且拥有读取消息权限。
  • 消息可访问范围:部分官方频道或特殊频道的消息可能有额外引用限制,同时过旧的消息会因Telegram的缓存策略无法被机器人引用。

另外,再次确认参数:确保reply_parameters中的chat_id是带-100前缀的正确频道ID,message_id是该频道内未被删除的有效消息ID。

3. 是否为Telegram Bot API自身问题?

不是,这个400 Bad Request是标准的权限/消息不可访问提示。你可以通过以下步骤验证并解决:

  • 让目标频道管理员将机器人添加为频道成员(普通成员即可)。
  • 调用getChatHistory接口尝试获取目标message_id对应的消息,若能成功获取,再调用sendMessage进行跨聊天回复。
  • 若仍报错,尝试引用该频道的最新消息(比如刚发送的测试消息),排除旧消息的缓存问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 04:22:21