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

如何为Discord机器人实现命令触发Embed回复功能?

解决Discord机器人发送Embed消息的问题
  • 你的代码片段存在两个问题:if语句块为空,缺少核心的消息处理逻辑;同时没有添加指定频道的判断条件。
  • 以下是完整的实现代码,假设你的命令前缀为!,需要触发的指定频道ID为目标频道ID:
// 定义前缀和目标频道ID
const prefix = "!";
const targetChannelId = "目标频道ID"; // 替换成你实际要指定的频道ID

client.on("message", msg => {
  // 忽略机器人自身发送的消息,避免循环触发
  if (msg.author.bot) return;
  
  // 判断是否在指定频道,且输入的是目标命令
  if (msg.channel.id === targetChannelId && msg.content.startsWith(prefix + "hello")) {
    // 构建Embed消息
    const embed = new client.discord.MessageEmbed()
      .setColor("#0099ff")
      .setTitle("问候")
      .setDescription(`你好呀,${msg.author.username}!`)
      .setTimestamp();
    
    // 发送构造好的Embed消息
    msg.channel.send({ embeds: [embed] });
  }
});
  • 需要注意的细节:
    • 确保使用的Discord.js版本为v13及以上,新版本用MessageEmbed和embeds参数;若为旧版本,需替换为RichEmbed和embed参数。
    • 开启Discord的开发者模式,才能复制到正确的频道ID替换代码中的目标频道ID。
    • 确认机器人在目标频道拥有发送消息的权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 17:08:10