DiscordAPIError: Cannot send an empty message embed发送报错如何解决?
错误原因
cannot send an empty message报错的核心原因是你传递给消息发送方法的Embed格式不符合当前使用的Discord.js版本规范,接口识别不到有效发送内容,所以判定为空消息。
修复方案
你需要根据你安装的Discord.js版本,调整message.channel.send的传参格式:
- 若使用 Discord.js v12版本,将原代码里的
message.channel.send({newEmbed});修改为以下任意一种即可:// 写法1:直接传递Embed对象 message.channel.send(newEmbed); // 写法2:对象传参使用正确的属性名 message.channel.send({ embed: newEmbed }); - 若使用 Discord.js v13及更高版本,v13开始要求Embed必须放在
embeds数组字段中,修改为:message.channel.send({ embeds: [newEmbed] });
版本确认方法
在项目根目录执行命令npm list discord.js即可查看当前安装的Discord.js版本号,对应调整格式即可解决报错。
内容的提问来源于stack exchange,提问作者Cade Turrell
相关产品推荐
相关产品推荐

