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

如何用单个Discord Bot发送不同名称和头像的消息?

问题:单个Discord Bot如何发送不同名称和头像且历史消息不受影响的消息?

我在某Discord社区发现,单个Bot能发送带有不同名称和头像的消息。我知道Discord对用户名修改有限制,而且修改服务器昵称会让Bot过往消息的昵称同步变更,但这个社区里的Bot没有这个问题。我尝试过修改用户名(因频率限制无法再操作)和服务器昵称,代码如下:

const main = async (c: Client<boolean>) => {
  const guild = c.guilds?.cache.get(GUID)
  const channel = c.channels.cache.get(CID);
  const bot = c.user;
  if (!bot) return;
  if (!guild) return;
  if (!channel) return;
  if (channel.type !== ChannelType.GuildText) return;

  await guild.members.cache.get(bot.id)?.setNickname("User 1")
  const message = await channel.send("Hi there everyone");

  await guild.members.cache.get(bot.id)?.edit({nick: "User 2"})
  channel.send("doing fine");

  await guild.members.cache.get(bot.id)?.setNickname("User 3")
  channel.send("yeah!");
};

请问如何实现单个Bot发送不同名称和头像且历史消息不受影响的消息?


解决方案

无需修改Bot的全局用户名或服务器昵称,只需在发送每条消息时单独指定显示名称和头像,就能让每条消息的标识独立,不会影响历史消息。

在Discord.js中,channel.send()方法支持传入配置对象,通过username和avatarURL参数实现需求,代码示例如下:

const main = async (c: Client<boolean>) => {
  const channel = c.channels.cache.get(CID);
  if (!channel) return;
  if (channel.type !== ChannelType.GuildText) return;

  // 第一条消息:使用User 1的名称和自定义头像
  await channel.send({
    content: "Hi there everyone",
    username: "User 1",
    avatarURL: "https://example.com/user1-avatar.png" // 替换为实际头像URL
  });

  // 第二条消息:使用User 2的名称和自定义头像
  await channel.send({
    content: "doing fine",
    username: "User 2",
    avatarURL: "https://example.com/user2-avatar.png"
  });

  // 第三条消息:使用User 3的名称和自定义头像
  await channel.send({
    content: "yeah!",
    username: "User 3",
    avatarURL: "https://example.com/user3-avatar.png"
  });
};

核心说明:

  • username:仅对当前发送的消息生效,不会修改Bot的全局或服务器昵称。
  • avatarURL:仅设置当前消息的显示头像,不会改变Bot的默认头像。
  • 这种方式完全避开昵称修改的频率限制,每条消息的标识独立存储,历史消息不会因后续操作变更。

内容的提问来源于stack exchange,提问作者Luis Sebastian Urrutia Fuentes

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 05:46:09