【问题标题】:Getting 'Rich Embed fields may not be empty' error when my code works当我的代码工作时出现“Rich Embed fields may not be empty”错误
【发布时间】:2019-12-06 15:14:38
【问题描述】:

如果有人编辑了他们的消息,我有一段代码会记录下来。它完美地工作,它显示了旧消息、新消息、频道等等。但是,我仍然收到一个错误,说我的 RichEmbed 字段为空。他们不是空的,他们工作!该错误显然发生在第 198 行 - .addField('Original:',${oldMessage.content})

这是我为 Discord 制作的机器人。我在任何地方都找不到任何帮助。

这是我的代码:

bot.on('messageUpdate', async(oldMessage, newMessage) => {
    const emb8 = new Discord.RichEmbed()
    .setTitle(':pencil: Message Edited')
    .setDescription('A user has edited a message.')
    .addField('Guild:', `${newMessage.guild.name}`)
    .addField('User:', `${newMessage.author.tag}`)
    .addField('Original:', `${oldMessage.content}`)
    .addField('Edited to:', `${newMessage.content}`)
    .addField('Channel:', `<#${newMessage.channel.id}>`)
    .addField('Time:', `${newMessage.createdAt}`)
    .setColor(0xFF9800)
    .setFooter('Sublime | Logs', 'https://file.coffee/WdTuqTwGF.PNG')
    bot.channels.get(`603943993348325392`).send(emb8)
});

它看起来正是我想要的样子,但由于某种原因我得到了这个错误:

js (node:162592) UnhandledPromiseRejectionWarning: RangeError: RichEmbed 字段值不能为空。 在 RichEmbed.addField (E:\Sublime-Project\node_modules\discord.js\src\structures\RichEmbed.js:166:34) 在 CommandoClient.bot.on (E:\Sublime-Project\index.js:193:3) 在 CommandoClient.emit (events.js:202:15) 在 MessageUpdateAction.handle (E:\Sublime-Project\node_modules\discord.js\src\client\actions\MessageUpdate.js:13:16) 在 MessageUpdateHandler.handle (E:\Sublime-Project\node_modules\discord.js\src\client\websocket\packets\handlers\MessageUpdate.js:7:34) 在 WebSocketPacketManager.handle (E:\Sublime-Project\node_modules\discord.js\src\client\websocket\packets\WebSocketPacketManager.js:105:65) 在 WebSocketConnection.onPacket (E:\Sublime-Project\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:333:35) 在 WebSocketConnection.onMessage (E:\Sublime-Project\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:296:17) 在 WebSocket.onMessage (E:\Sublime-Project\node_modules\ws\lib\event-target.js:120:16) 在 WebSocket.emit (events.js:197:13) (node:162592) UnhandledPromiseRejectionWarning:未处理的承诺拒绝。这 错误源于在异步函数内部抛出 没有 catch 块,或拒绝未处理的承诺 使用 .catch()。 (拒绝编号:85)

【问题讨论】:

    标签: javascript node.js discord.js


    【解决方案1】:

    几个月前我遇到了同样的错误,请检查您的相关承诺。原因是你在你的 Promise 中调用了一个拒绝函数,但你没有处理它。

    【讨论】:

      猜你喜欢
      • 2010-10-25
      • 1970-01-01
      • 2014-01-08
      • 2021-07-11
      • 2021-07-30
      • 2016-01-06
      • 1970-01-01
      • 1970-01-01
      • 2021-05-13
      相关资源
      最近更新 更多