【问题标题】:Error: MessageEmbed field values may not be empty错误:MessageEmbed 字段值可能不为空
【发布时间】:2020-11-16 05:19:33
【问题描述】:

所以我有一段代码,旨在每当更新消息时将嵌入与旧消息和新消息一起发送到日志记录通道。但是,每当我测试代码时,嵌入都会成功发送,但会出现错误RangeError [EMBED_FIELD_VALUE]: MessageEmbed field values may not be empty,并且机器人会崩溃。我找不到发生此错误的原因,因为所有字段都返回我指定的值。

我注意到唯一奇怪的是当我将代码添加到机器人时,所有嵌入开始遇到相同的错误,但是当我注释掉代码时,嵌入恢复正常。

有谁知道为什么会出现这个错误?如果是这样,我将如何解决它?

这是代码:

    var channel = newMessage.guild.channels.cache.find(ch => ch.name === 'bot-log');
    var log = new MessageEmbed()
    .setAuthor(oldMessage.author.tag, oldMessage.author.displayAvatarURL())
    .setDescription(`:pencil: **[Message](${newMessage.url}) by ${newMessage.author} was edited in <#${oldMessage.channel.id}>**`)
    .setColor(0x686afd)
    .addFields(
        { name: `Old message`, value: oldMessage.content},
        { name: `New message`, value: newMessage.content},
    )
    .setTimestamp()
    .setFooter(`Message ID: ${newMessage.id}`);
    return channel.send(log);
});

【问题讨论】:

  • 如有必要,我可以提供完整的错误信息

标签: discord.js


【解决方案1】:

这是因为消息内容可以是空的,例如用户附加一些没有文本的文件。您可以检查 newMessage.content.length 和 oldMessage.content.length,并将其更改为您想要的任何内容。

喜欢:

newMessage.content = newMessage.content.length > 0 ? newMessage.content : 'empty message'
oldMessage.content = oldMessage.content.length > 0 ? oldMessage.content : 'empty message'

【讨论】:

    【解决方案2】:

    我认为这个代码是正确的:v

        var channel = message.channel;
        var log = new MessageEmbed()
        .setAuthor(message.author.tag, message.author.displayAvatarURL())
        .setDescription(`:pencil: **[Message](${message.url}) by ${message.author.tag} was edited in <#${message.channel.id}>**`)
        .setColor(0x686afd)
        .addFields(
            { name: `Old message`, value: message.content},
            { name: `New message`, value: message.content},
        )
        .setTimestamp()
        .setFooter(`Message ID: ${message.id}`);
        return channel.send(log);
    

    【讨论】:

      猜你喜欢
      • 2020-09-24
      • 2020-12-10
      • 2021-10-09
      • 2021-09-04
      • 2021-08-05
      • 2021-08-28
      • 2021-08-24
      • 2021-07-16
      • 2021-12-09
      相关资源
      最近更新 更多