Nuevo en Discord.js, el evento guildMemberAdd parece funcionar perfectamente bien, pero no detecta cuando un miembro deja el gremio. ¿Cómo puedo arreglar esto?
const { token, guildID, memberChannelID } = require('./config.json'); const { Client, Intents } = require('discord.js'); const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES, Intents.FLAGS.GUILD_MEMBERS, Intents.FLAGS.GUILD_PRESENCES] }); const guild = client.guilds.cache.get(guildID) const prefix = '?'; client.on('messageCreate', message => { if (!message.content.startsWith(prefix) || message.author.bot) return; const args = message.content.slice(prefix.length).split(/ +/); const command = args.shift().toLowerCase(); if (command === 'ping') { message.reply('pong!'); } else if (command === 'help') { message.reply('**Commands: ** ?ping, ?membercount'); } else if (command === 'membercount') { message.reply(`There are ${message.guild.memberCount} members in this server!`); } }); client.on('guildMemberAdd', async (member) => { client.channels.cache.get(memberChannelID).setName(`Total Members: ${member.guild.memberCount.toLocaleString()}`) console.log('Updating Member Count') }) client.on('guildMemberRemove', async (member) => { client.channels.cache.get(memberChannelID).setName(`Total Members: ${member.guild.memberCount.toLocaleString()}`) console.log('Updating Member Count') }) client.once('ready', () => { console.log("EGLX BOT IS ONLINE") }) client.login(token);Si el miembro del gremio no se almacenó en caché cuando se suponía que se emitía el evento guildMemberRemove , entonces el problema probablemente se deba a que no tiene los parciales necesarios, una característica opcional que permite que los eventos se emitan en estructuras no almacenadas en caché. Lo más probable es que necesite el parcial 'GUILD_MEMBER' para que se emita el evento, aunque también puede necesitar el 'USER' si el primero no funciona solo.