I'm making a logs system for my Discord bot. It basically logs every deleted or edited message in a channel I specified.
Everything worked well, but when I added the code to log edited messages, deleting your message started to crash the bot. When I delete a message, it gives an error in messageUpdate saying field values can't be empty. It still logs the deleted message before crashing, though.
Here is my code:
client.on("messageDelete", (message) => {
deletedMessage = message;
if (message.guild.id == 806539207173472257) {
const logsDeletedEmbed = new Discord.MessageEmbed()
.setColor("#ff0000")
.setTitle(`Deleted message in #${message.channel.name}`)
.setAuthor(message.author.username, message.author.avatarURL())
.setDescription(message.content)
.setTimestamp();
client.channels.cache.get("807286270274830357").send(logsDeletedEmbed);
}
});
client.on("messageUpdate", (oldMessage, newMessage) => {
editedMessage = oldMessage;
if (oldMessage.guild.id == 806539207173472257) {
const logsEditedEmbed = new Discord.MessageEmbed()
.setColor("#277ecd")
.setTitle(`Edited message in #${oldMessage.channel.name}`)
.setAuthor(oldMessage.author.username, oldMessage.author.avatarURL())
.addField("Old message", oldMessage.content)
.addField("New message", newMessage.content)
.setTimestamp();
client.channels.cache.get("807286270274830357").send(logsEditedEmbed);
}
});