MessageEmbed 字段值可能不为空错误

Posted

技术标签:

【中文标题】MessageEmbed 字段值可能不为空错误【英文标题】:MessageEmbed field values may not be empty error 【发布时间】:2020-09-24 18:47:45 【问题描述】:

每次执行嵌入命令时,我都会收到此错误:

/app/node_modules/discord.js/src/structures/MessageEmbed.js:425
if (!value) throw new RangeError('EMBED_FIELD_VALUE');
 RangeError [EMBED_FIELD_VALUE]: MessageEmbed field values may not be empty.

这发生在我将此命令添加到代码中之后,然后破坏了所有嵌入命令:

bot.on('message', async message => 
    if (message.content.startsWith(`$PREFIXuptime`))
    let totalSeconds = (client.uptime / 1000)
    let days = Math.floor(totalSeconds / 86400)
    let hours = Math.floor(totalSeconds / 3600)
    totalSeconds %= 3600;
    let minutes = Math.floor(totalSeconds / 60)
    let seconds = totalSeconds % 60
    message.channel.send(new MessageEmbed().setColor('RANDOM').setTitle('Uptime Info').setDescription(`**Days: $days
    Hours: $hours
    Minutes: $minutes
    Seconds: $seconds**`))
    
)

我试图从 github 存储库中删除文件,然后我创建了一个新存储库,其中卸载并再次安装了 bot 文件中的 discord.js,但它仍然没有工作。

【问题讨论】:

这似乎是来自该对象的验证问题。当你调用它时,所有这些值都有效吗? 是否可以添加正在使用的版本以及有关如何添加代码的一些上下文,以及“每次执行和嵌入命令”是什么意思? '每次我执行*嵌入命令'对不起我的英语不好,我想说像那样的命令,MessageEmbed() 由于某种原因都坏了,不要不再工作,给我同样的错误,是的,所有的值都是有效的 【参考方案1】:

试试这个

const moment = require("moment"); 要求(“时刻持续时间格式”); const duration = moment.duration(client.uptime).format(" D [天], H [小时], m [分钟], s [秒]");

【讨论】:

以上是关于MessageEmbed 字段值可能不为空错误的主要内容,如果未能解决你的问题,请参考以下文章

discord.js 中的“MessageEmbed 字段值可能不为空”问题

MessageEmbed 字段值不能为空

“MessageEmbed 字段值不能为空” discord.js

Discord.js v12 禁止命令 - UnhandledPromiseRejectionWarning: RangeError [EMBED_FIELD_VALUE]: MessageEmbed

检查字段是否存在并且不为空

MySQL的count(*)性能怎么样?