node.js - 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)
}
)
解决方案
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);
});