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

Discord.js v14.14.1报错:EmbedBuilder未定义,重装依赖无效

解决ReferenceError: EmbedBuilder is not defined报错

核心原因及修复方案

1. 检查Discord.js版本

EmbedBuilder是Discord.js v14及以上版本新增的类,若你安装的是v13或更低版本,必然会出现该报错。

  • 查看当前Discord.js版本:
    npm list discord.js
    
  • 针对不同版本的处理方式:
    • 升级到v14+:
      npm install discord.js@latest
      
      注意:升级后需适配v14的API变化(比如消息发送参数调整,下文会说明)
    • 保留旧版本并修改代码:将代码中的EmbedBuilder替换为旧版的MessageEmbed,同步更新导入语句:
      const { SlashCommandBuilder, MessageEmbed, PermissionFlagsBits } = require('discord.js');
      

2. 代码中的其他错误修复

即使解决了EmbedBuilder的问题,你的代码仍有两处错误会导致后续报错:

  • 错误导入guild:guild并非discord.js的导出成员,需从interaction对象中获取服务器信息:
    // 替换原setFooter代码行
    .setFooter({ text: `${interaction.guild.name}` });
    
  • 消息发送参数错误:v14版本中发送嵌入消息需使用embeds数组,而非embed:
    await channel.send({ embeds: [embed] });
    
  • 参数名大小写不匹配:addChannelOption中设置的参数名是小写channel,获取时需保持一致:
    const channel = interaction.options.getChannel('channel');
    

修复后的完整代码示例

const { SlashCommandBuilder, EmbedBuilder, PermissionFlagsBits } = require('discord.js');
module.exports = {
  data: new SlashCommandBuilder()
          .setName('test')
          .setDescription('test')
          .setDefaultMemberPermissions(PermissionFlagsBits.Administrator)
          .addChannelOption(option =>
              option.setName('channel')
                  .setRequired(true)
                  .setDescription('Choose a channel to send this embed to.'),
          ),
  async execute(interaction) {
      const channel = interaction.options.getChannel('channel');
      const embed = new EmbedBuilder()
          .setTitle("Title")
          .setDescription("Description")
          .setFooter({ text: `${interaction.guild.name}` });
      await channel.send({ embeds: [embed] });
      await interaction.reply({
          content: 'Embed has been sent',
          ephemeral: true,
      });
  },
};

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 15:08:27