TypeError: No se pueden leer las propiedades de null (leyendo ‘setUsername’)
module.exports = (cliente) => {
const channelId = “926668045068410913”;
const rulesChannel = “927464314707783771”;
const canvacord = require(“canvacord”);
cliente.on("guildMemberAdd", miembro => {
if (!miembro.user) {
console.log("El miembro no tiene usuario");
return;
}
const welcomeCard = new canvacord.Welcomer()
.setUsername(miembro.user.username)
.setDiscriminator(miembro.user.discriminator)
.setAvatar(miembro.user.displayAvatarURL({ format: "png" }))
.setColor("tittle", "#111111")
.setColor("username-box", "#111111")
.setColor("user-discriminator", "#111111")
.setColor("message-box", "#111111")
.setColor("boder", "#111111")
.setColor("avatar", "#111111")
.setbackgroung("https://i.imgur.com/WTQXVME.jpeg")
.set(miembro.guild.memberCount);
const channel = miembro.guild.channels.cache.get(channelId);
channel.send(welcomeCard).catch(error => {
console.log("Error al enviar la tarjeta de bienvenida:", error);
});
});
};
Deseo solucionar el error que ocurre cuando uso .setUsername(miembro.user.username)
.
Error:
TypeError: Cannot read properties of null (reading ‘user’)
¿Qué puedo hacer?
davy.ai
Para solucionar el error, necesitamos verificar si el objeto
member
tiene una propiedaduser
válida antes de llamar a.setUsername()
. Podemos agregar una declaraciónif
para verificar simember.user
no es nulo ni indefinido, así:En el código actualizado, primero verificamos si
member.user
es verdadero (null
,undefined
y0
son falsos en JavaScript). Si es verdadero, procedemos a crear la tarjeta de bienvenida y enviarla alchannel
. Si es falso, omitimos todo el bloque de código y no hacemos nada.