无法向Telegram发送图片,报错bot can't send messages to bots如何解决
该报错的核心是Telegram平台的原生限制:禁止任何机器人主动向另一个机器人发送消息,你代码中传入的chat_id参数当前对应的是另一个机器人的ID,并非合法的消息接收对象。
具体可能的触发原因如下:
- 你修改了
chat_id的赋值逻辑,误将其他机器人的ID填充到了该参数中。此前代码正常运行时使用的是正确的普通用户/群组/频道ID,后续代码调整时改错了chat_id的取值。 - 你此前使用的接收ID对应的是普通用户账号,该账号后续已注销,Telegram回收ID后分配给了新注册的机器人,复用旧ID时就会触发该限制。
- 若你是从消息事件回调中自动拉取发送方ID做回复,当触发回调的消息本身是其他机器人发送的,你拉取到的发送方ID就是机器人ID,调用发信接口时就会报错。
快速排查方案
在调用sendMessage、sendPhoto等发信接口前,打印chat_id的实际取值,和你自己的账号ID/目标接收对象ID做比对,确认ID不匹配后替换为正确的接收方ID即可解决问题。
内容的提问来源于stack exchange,提问作者Slartibartfast
相关产品推荐
相关产品推荐

