Python Telegram Bot无法回复其他Bot消息的问题求助
解决Telegram机器人无法回复另一个机器人消息的问题
排查消息接收权限
先通过getUpdates接口验证Bot2是否能接收到Bot1在群内发送的消息。如果Bot2收不到Bot1的消息,说明权限仍有问题:- 再次确认BotFather中Bot2的隐私模式已关闭(发送
/setprivacy给BotFather,选择Bot2后设为Disable); - 检查群内Bot2的管理员权限,确保开启了读取消息和发送消息权限,不要遗漏任何必要权限项。
- 再次确认BotFather中Bot2的隐私模式已关闭(发送
修正消息过滤逻辑
检查Bot2的代码,是否存在仅处理特定发送者消息的过滤规则。比如如果有类似以下的判断:# 错误示例:仅允许回复用户或自身消息 if message.from_user.id == USER_ID or message.from_user.id == BOT2_ID: handle_reply(message)需要修改为允许Bot1的ID,或者直接移除发送者过滤条件,确保Bot2能处理群内所有消息:
# 正确示例:允许处理Bot1的消息 allowed_ids = [USER_ID, BOT2_ID, BOT1_ID] if message.from_user.id in allowed_ids: handle_reply(message)验证回复调用的正确性
确认Bot2回复消息时使用了正确的参数:chat_id必须是目标私有群的ID,不能误用私聊ID;reply_to_message_id必须是Bot1发送的报告消息ID(从数据库中读取的有效ID);
示例代码:
bot.send_message( chat_id=PRIVATE_GROUP_ID, text="这是Bot2的回复内容", reply_to_message_id=REPORT_MESSAGE_ID_FROM_DB )检查群设置与API限制
确认私有群的权限设置中,没有禁止机器人发送消息或回复消息的规则;同时确保两个机器人均为BotFather官方创建,无API限制。
内容的提问来源于stack exchange,提问作者silvio
相关产品推荐
相关产品推荐

