尝试发送嵌入时抛出错误

Throwing an error when trying to send a embed

我正在尝试使用 discord.js v12 创建嵌入,但它一直显示此错误

DiscordAPIError: Cannot send an empty message

这是我的代码:

        const infoembed = new MessageEmbed()
            .setColor('#0099ff')
            .setTitle(responce.asset.title)
            
        umsg.channel.send({ embeds: infoembed });

如果您使用的是 discord.js v13,则必须将您的嵌入内容放入 数组 :

const infoembed = new MessageEmbed()
            .setColor('#0099ff')
            .setTitle(responce.asset.title)
            
umsg.channel.send({ embeds: [infoembed] });

如果您想在消息中添加一些文本内容,您只需添加字段content:

const infoembed = new MessageEmbed()
            .setColor('#0099ff')
            .setTitle(responce.asset.title)
            
umsg.channel.send({ content: 'Hello world!', embeds: [infoembed] });

由于您使用的是 discord.js v12,因此您必须删除 花括号 embeds 字段:

const infoembed = new MessageEmbed()
            .setColor('#0099ff')
            .setTitle(responce.asset.title)
            
umsg.channel.send(infoembed);

机器人发送的所有消息现在最多支持 10 个嵌入。因此,embed 选项被删除并替换为 embeds 数组,该数组必须位于 options 对象中。

umsg.channel.send({ embeds: [infoembed] });

Read documentation

如果 responce.asset.title 为空 - 您将收到错误消息,因为 discord 无法发送带有空标题的嵌入内容!但是您可以尝试使用此代码:

const infoembed = new MessageEmbed()
      .setColor('#0099ff')
      .setTitle(`** **`);

umsg.channel.send(infoembed)