Discord机器人发送embed时报错cannot send an empty message问题求助
问题修复方案
核心错误点
main.js中embed命令调用逻辑错误:触发!embed时你调用的是名为command的模块,实际你的embed命令模块名称为embed,导致正确的embed生成逻辑从未执行。embed.js中embed发送格式错误:discord.js v13及后续版本发送embed时,必须将embed实例放入embeds数组字段中传递,不可使用自定义键名,也不可直接传入embed实例。
修复代码
main.js 对应逻辑修改
将原代码中embed命令的判断分支替换为以下内容:
if (command === 'embed') { client.commands.get('embed').execute(message, args, Discord); }
embed.js 对应发送逻辑修改
将原代码中发送消息的行替换为以下内容:
message.channel.send({ embeds: [newEmbed] });
完成以上两处修改后即可正常触发embed发送逻辑,不会再触发空消息报错。
内容的提问来源于stack exchange,提问作者Picolat
相关产品推荐
相关产品推荐

