使用discord.js v12发送embed触发DiscordAPIError空消息报错如何解决
问题排查与解决
错误原因
- 你使用的discord.js v12版本不支持
{ embeds: infoembed }的传参格式,该语法是v13及更高版本新增的API规范 - v12版本的
channel.send()方法接收embed参数时,不识别embeds属性,会判定你没有传入任何有效消息内容,因此抛出空消息错误 - 额外排查点:请同时确认
responce.asset.title的值不为空或undefined,避免Embed构造异常
修复方法
你可以任选以下任意一种符合v12版本规范的写法:
- 直接传递MessageEmbed实例作为参数
umsg.channel.send(infoembed);
- 如需同时发送文本内容或其他配置,使用单数
embed作为属性名传入配置对象
// 仅发送Embed umsg.channel.send({ embed: infoembed }); // 同时附带文本内容 umsg.channel.send('附加的文本内容', { embed: infoembed });
内容的提问来源于stack exchange,提问作者DrMeepso
相关产品推荐
相关产品推荐

