I use the events folder and would like to have logs to delete messages.
But unfortunately I get this error when someone deletes a message:
TypeError: cannot read property 'author' of undefined
Does anyone know what to do about this please?
Code:
const Discord = require('discord.js')
module.exports = async(guild, interaction, user, client, message, messageDelete, author) => {
let DeleteEmbed = new Discord.MessageEmbed()
.setTitle("**SMAZANÁ ZPRÁVA**")
.setColor("#fc3c3c")
.addField(`Autor:`, `${message.author.tag}`, true)
.addField(`Kanál:`, `${message.channel}`, true)
.addField(`Zpráva:`, `${message.content}`);
let DeleteChannel = client.channels.cache.get("969632261446176848").send({embeds: [DeleteEmbed]});
}
You get your error because message is undefined. Simply check your function inputs before adding the related fields:
const Discord = require('discord.js')
module.exports = async(guild, interaction, user, client, message, messageDelete, author) => {
let DeleteEmbed = new Discord.MessageEmbed()
.setTitle("**SMAZANÁ ZPRÁVA**")
.setColor("#fc3c3c");
if (message && message.author)
DeleteEmbed.addField(`Autor:`, `${message.author.tag}`, true)
if (message && message.channel)
DeleteEmbed.addField(`Kanál:`, `${message.channel}`, true)
if (message && message.content)
DeleteEmbed.addField(`Zpráva:`, `${message.content}`);
let DeleteChannel = client.channels.cache.get("969632261446176848").send({embeds: [DeleteEmbed]});
}