【问题标题】:Discord.js - Message edit/delete logger errorDiscord.js - 消息编辑/删除记录器错误
【发布时间】:2021-03-03 09:39:48
【问题描述】:

我正在尝试向我的机器人添加一个代码,该代码会在用户编辑/删除消息时记录下来。机器人将包含事件信息的嵌入发送到指定通道。但是,这个错误我已经坚持了很长时间,没有确定的解决方案。

以下是错误:

RangeError [EMBED_FIELD_VALUE]: MessageEmbed field values may not be empty.

代码如下:

client.on("messageUpdate", message => {
  var messages = [] 
  if(messages.includes(message.id)){return;}
  channel = message.guild.channels.cache.get('channelID')
  const channel9 = client.channels.cache.find(channel => channel.id === 'id');
  const ediembed = new Discord.MessageEmbed()
    .setColor(1752220)
    .setTitle(":pencil: Message Edited")
    .addFields (
      {name: "__Channel:__", value: `<\#${message.channel.id}>`},
      {name: "__Message Author:__", value: `${message.author.tag} - <\@${message.author.id}>`},
      {name: "__Original Message:__", value: message.content}
        
      )
    .setTimestamp()
    .setThumbnail(message.author.avatarURL())
    .setFooter("super cool api")
  channel9.send(ediembed)
  }
)

【问题讨论】:

    标签: node.js discord.js


    【解决方案1】:

    2 个修复, 1:你不需要得到channel 2:尝试以不同的方式发送到频道

    client.on("messageUpdate", (message) => {
      var messages = [];
      if (messages.includes(message.id)) {
        return;
      }
      const ediembed = new Discord.MessageEmbed()
        .setColor(1752220)
        .setTitle(":pencil: Message Edited")
        .addFields(
          { name: "__Channel:__", value: `<\#${message.channel.id}>` },
          {
            name: "__Message Author:__",
            value: `${message.author.tag} - <\@${message.author.id}>`,
          },
          { name: "__Original Message:__", value: message.content }
        )
        .setTimestamp()
        .setThumbnail(message.author.avatarURL())
        .setFooter("super cool api");
      client.channels.cache.get("CHANNEL ID").send(ediembed);
    });
    

    【讨论】:

    • 谢谢!在杀死机器人之前,它工作了一次。它记录了编辑后的消息,然后终止了代码,显示此错误:if (!value) throw new RangeError('EMBED_FIELD_VALUE'); RangeError [EMBED_FIELD_VALUE]: MessageEmbed field values may not be empty.
    • 我也更新了代码,也试试吧。
    • 是的,我遇到了同样的错误。 /Desktop/indiansec/node_modules/discord.js/src/structures/MessageEmbed.js:432 if (!value) throw new RangeError('EMBED_FIELD_VALUE'); RangeError [EMBED_FIELD_VALUE]: MessageEmbed field values may not be empty. at Function.normalizeField 下面是文件的路径以及其他几行。
    猜你喜欢
    • 2020-11-20
    • 1970-01-01
    • 2021-06-17
    • 2021-04-27
    • 2020-09-10
    • 2019-11-17
    • 1970-01-01
    • 2020-09-08
    • 2021-08-17
    相关资源
    最近更新 更多