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 字段值不能为空” discord.js
Discord.js v12 禁止命令 - UnhandledPromiseRejectionWarning: RangeError [EMBED_FIELD_VALUE]: MessageEmbed