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

如何在Discord机器人转发消息时显示发言用户名?

修改方案

你可以通过调用Discord.js提供的用户属性,轻松给转发内容添加原发言用户的标识,以下是几种实用的修改方式:

方式一:显示用户完整标签+消息内容

这种方式会直接展示用户的用户名#四位数字格式标签,清晰标识发言来源:

client.on('messageCreate', message => {
  if(message.author.bot) return;
  if(message.channel.id === "1012047542462185572"){
    const forwardedContent = `**${message.author.tag}** 说:\n${message.content}`;
    client.channels.cache.get('1012048291111903292').send(forwardedContent);
  }
});

方式二:可点击的用户提及+消息内容

如果需要在转发消息里直接跳转原用户的资料,用用户ID生成Discord的提及格式即可:

client.on('messageCreate', message => {
  if(message.author.bot) return;
  if(message.channel.id === "1012047542462185572"){
    const forwardedContent = `<@${message.author.id}> 说:\n${message.content}`;
    client.channels.cache.get('1012048291111903292').send(forwardedContent);
  }
});

进阶:用嵌入消息优化展示效果

想要更美观的转发样式,可以使用MessageEmbed构建带用户头像和格式的消息:

const { MessageEmbed } = require('discord.js');

client.on('messageCreate', message => {
  if(message.author.bot) return;
  if(message.channel.id === "1012047542462185572"){
    const embed = new MessageEmbed()
      .setAuthor({ name: message.author.tag, iconURL: message.author.displayAvatarURL() })
      .setDescription(message.content)
      .setColor('#0099ff');
    client.channels.cache.get('1012048291111903292').send({ embeds: [embed] });
  }
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 22:09:22