使用node-telegram-bot的setMessageReaction报错:消息未找到(message_id正确)
可能的原因及排查方向
- 机器人权限不足:机器人必须是目标频道的管理员,且需拥有「添加反应」或「管理消息」的权限。普通成员身份无法为频道消息添加反应。
- 频道标识错误:尝试替换
@channel_name为频道的数字ID(可通过BotFather或相关工具获取),避免用户名解析失败。部分场景下数字ID的兼容性优于用户名。 - 消息状态异常:确认目标消息未被管理员删除,且未超出Telegram API允许添加反应的时间范围(过旧的消息可能无法操作)。
- 库方法参数问题:核对你使用的
node-telegram-bot-api版本的setMessageReaction参数定义,部分版本可能要求额外配置(比如可选的is_big参数),或参数顺序存在差异。 - 机器人未加入频道:确保机器人已被添加至目标频道中,未加入频道的机器人无法访问频道内的任何消息。
你的调用代码示例:
bot.setMessageReaction('@channel_name', message_id, [ {type: 'emoji', emoji: '👍' }, ])
收到的错误:
ETELEGRAM: 400 Bad Request: message to react not found
内容的提问来源于stack exchange,提问作者Alan
相关产品推荐
相关产品推荐

