首页 > 解决方案 > Discord.js - 消息编辑/删除记录器错误

问题描述

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

这是以下错误:

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.jsdiscord.js

解决方案


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);
});

推荐阅读