类型错误; discord.js 中未定义的“MessageEmbed”
Posted
技术标签:
【中文标题】类型错误; discord.js 中未定义的“MessageEmbed”【英文标题】:Type error; 'MessageEmbed" of undefined in discord.js 【发布时间】: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) 【参考方案1】:如 cmets 中所述,您使用以下代码调用您的代码:
// 2 arguments passed
client.commands.get('help').execute(message,args)
但是,您的命令需要 3 个参数:
execute(message, args, Discord)
// ...
因此,Discord
是 undefined
,导致您的错误。要解决此问题,您可以:
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()
在我这样做之后它起作用了
【讨论】:
以上是关于类型错误; discord.js 中未定义的“MessageEmbed”的主要内容,如果未能解决你的问题,请参考以下文章
排行榜命令中未定义的用户名 [ quick.db / discord.js ]
当不应该在 discord.js 命令处理程序中未定义时,无法读取未定义的属性
JavaScript、Discord.js、Node.js 类型错误:无法读取未定义的属性“执行”