【问题标题】:Type error; 'MessageEmbed" of undefined in discord.js类型错误; discord.js 中未定义的“MessageEmbed”
【发布时间】:2021-10-26 04:25:20
【问题描述】:

我不明白为什么会出现错误: TypeError:无法读取未定义的属性“MessageEmbed”

这是我的代码:

module.exports = {
name: 'help',
description: "this is the help command",
execute(message, args, Discord){
  const newEmbed = new Discord.MessageEmbed()
  .setColor('#304281')
  .setTitle('Commands')
  .setDescription('here are the commands'),
  .addFields(
    {name: '-help', value: 'The help command'},
    {name: '-ping', value: 'Ping pong**'}
  ),
  .setFooter('thanks for using the bot')

  message.channel.send(newEmbed);

【问题讨论】:

  • 可能是您没有正确地将 Discord 传递给您的命令?可能需要更多代码来回答这个问题
  • 还需要什么代码?
  • 这是我的 main.js 文件中的代码: if(command === 'help'){ client.commands.get('help').execute(message,args)

标签: node.js discord discord.js bots embed


【解决方案1】:

如 cmets 中所述,您使用以下代码调用您的代码:

// 2 arguments passed
client.commands.get('help').execute(message,args)

但是,您的命令需要 3 个参数:

execute(message, args, Discord){
  // ...
}

因此,Discordundefined,导致您的错误。要解决此问题,您可以:

  • 执行命令时传递Discord
    client.commands.get("help").execute(message, args, Discord);
    
  • const Discord = require("discord.js") 在你的命令里面
    const Discord = require("discord.js");
    // ...
    execute(message, args){
      const newEmbed = new Discord.MessageEmbed();
      // ...
    

【讨论】:

    【解决方案2】:

    我已经通过添加一些代码来修复:

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

    在我这样做之后它起作用了

    【讨论】:

      猜你喜欢
      • 2017-07-06
      • 2021-07-27
      • 2018-10-23
      • 2021-02-16
      • 2021-08-13
      • 1970-01-01
      • 2019-10-31
      • 2021-04-15
      • 2016-08-07
      相关资源
      最近更新 更多