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

Node.js Telegraf开发Telegram反馈机器人群组回复失效求助

问题原因

原有代码存在两个核心限制导致群组场景失效:

  • 回复转发逻辑绑定了强制管理员校验,非管理员用户在群组内回复消息时,无法触发向原反馈人发送内容的逻辑
  • 未对聊天场景做区分,群组内的消息交互没有适配放开权限的规则
修复后完整代码
const bot = new Telegraf(token, {});

let replyText = {
    'helloAdmin': '...',
    'helloUser': '...',
    'replyWrong': '....'
};
const ADMIN_ID = admin;
// 判断是否为管理员
let isAdmin = userId => {
    return userId === ADMIN_ID;
};
// 判断当前聊天是否为群组类型
let isGroupChat = ctx => {
    return ['group', 'supergroup'].includes(ctx.chat.type);
};
// 转发普通用户消息到管理员
let forwardToAdmin = ctx => {
    if (isAdmin(ctx.message.from.id)) {
        // 群组场景下管理员发的非回复消息不需要提示错误,直接跳过即可
        if (!isGroupChat(ctx)) {
            ctx.reply(replyText.replyWrong);
        }
        return;
    }
    ctx.forwardMessage(ADMIN_ID, ctx.from.id, ctx.message.id);
};

bot.start(ctx => {
    ctx.reply(isAdmin(ctx.message.from.id)
        ? replyText.helloAdmin
        : replyText.helloUser);
});

bot.on('message', ctx => {
    // 校验是否为回复机器人转发的反馈消息
    const isReplyToForwardedMsg = ctx.message.reply_to_message 
        && ctx.message.reply_to_message.forward_from;
    
    if (isReplyToForwardedMsg) {
        const targetUserId = ctx.message.reply_to_message.forward_from.id;
        // 私聊场景仅允许管理员回复,群组场景放开所有用户回复权限
        if (isGroupChat(ctx) || isAdmin(ctx.message.from.id)) {
            ctx.telegram.sendCopy(targetUserId, ctx.message);
            // 可选:群组内回复成功后给个提示,不需要可以删掉
            ctx.reply(`已将你的回复发送给原反馈用户`, {
                reply_to_message_id: ctx.message.id
            });
            return;
        }
    }
    // 非回复触发场景走原有转发逻辑
    forwardToAdmin(ctx);
});

bot.launch();
改动说明
  • 新增群组场景判断逻辑,识别group/supergroup两类群组聊天类型
  • 拆分回复权限规则:私聊场景保留原有仅管理员可回复反馈的逻辑,群组场景下任意用户回复机器人转发的反馈消息,都会将内容拷贝发送给原反馈发起人
  • 优化了群组内管理员发普通消息的交互,去掉了不必要的错误提示
  • 可选增加了群组内回复成功的提示,不需要可以直接删除对应代码块
  • 原有私聊场景的所有功能逻辑完全保留,不会影响现有正常运行的私聊反馈流程

注意:需要提前给机器人开启群组消息读取权限,确保机器人在群组内可以接收到普通用户的消息事件,否则功能无法正常触发。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 23:12:34