Uso la carpeta de eventos y me gustaría tener registros para eliminar mensajes.
Pero desafortunadamente recibo este error cuando alguien borra un mensaje:
TypeError: cannot read property 'author' of undefined
¿Alguien sabe qué hacer con esto, por favor?
Código:
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]}); }Obtiene su error porque message no está definido. Simplemente verifique las entradas de su función antes de agregar los campos relacionados:
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]}); }