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

如何禁用Telegram Bot私聊中的消息转发功能?

阻止Telegram Bot消息被转发的实现方案

1. 发送消息时直接禁用转发权限

这是最有效的方式,Telegram Bot API支持在发送消息时指定disable_forwarding参数,开启后用户收到的消息会隐藏转发按钮,无法直接通过客户端自带功能转发。

用node-telegram-bot-api库的示例代码:

const TelegramBot = require('node-telegram-bot-api');
// 替换为你的Bot Token
const bot = new TelegramBot('YOUR_BOT_TOKEN', { polling: true });

// 发送禁止转发的消息
bot.sendMessage(targetChatId, '这条消息不允许转发', {
  disable_forwarding: true
});

2. 监控并处理已转发的消息

如果用户通过复制文本、转发到Bot可见聊天等非常规手段传播消息,可以监听消息事件,判断是否为转发内容,再执行删除或警告操作。

示例代码:

bot.on('message', (msg) => {
  // 判断消息是否来自转发(包括从用户或频道转发)
  const isForwarded = !!msg.forward_from || !!msg.forward_from_chat;
  if (isForwarded) {
    // 删除转发的消息(需要Bot拥有对应聊天的删除消息权限)
    bot.deleteMessage(msg.chat.id, msg.message_id)
      .catch(err => console.log('删除消息失败:', err));
    // 发送警告提示
    bot.sendMessage(msg.chat.id, '禁止转发Bot相关消息,请遵守规则!');
  }
});

关键说明

  • disable_forwarding仅对Bot主动发送的消息生效,无法控制用户自主发送的内容。
  • 监控转发的逻辑只能覆盖Bot所在的聊天会话,如果用户转发到Bot未加入的群组/频道,Bot无法检测到。
  • 少数第三方客户端可能绕过disable_forwarding限制,但官方客户端和主流第三方客户端都会遵循该设置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 14:12:38