A!我在输出嵌入时遇到问题。令我感到困惑的唯一问题是,我没有一个没有任何字段的字段,它会不断处理并以Discord和THEN错误的形式发送出去。
检测到编辑内容时,它执行相同的操作,此代码在我的bot.on("message", async message => {})
中。也许这就是问题所在,但我不知道为什么以及在其他地方放置它的地方。
//-- Logging Deleted Messages --\\
bot.on("messageDelete", (messageDelete) => {
let deletionEmbed = new Discord.RichEmbed()
.setDescription(" Deleted Message ")
.setColor("#e56b00")
.addField("User:", `${message.author}`)
.addField("Message:", `${messageDelete}`);
let logchannel = message.guild.channels.find(`name`, "server-log");
if (!logchannel) return message.channel.send("Couldn't find a logging channel!");
logchannel.send(deletionEmbed);
});
这是错误消息:
if (!/\S/.test(value)) throw new RangeError('RichEmbed field values may not be empty.');
RangeError: RichEmbed field values may not be empty.
答案 0 :(得分:1)
最重要的问题首先是:您的messageDelete
事件中有message
事件处理程序。这将为您的bot收到的每条消息创建一个新的事件侦听器:它可能由于内存问题而崩溃,或者因为疯狂而发送垃圾邮件。
您需要在message
事件之外使用此功能:
bot.on("messageDelete", (oldMessage, newMessage) => {...});
在该处理程序中,使用以下命令:
.addField("User:", `${newMessage.author.tag}`)
.addField("Message:", `${oldMessage.content}`);