Tengo 10 humanos y 3 usuarios en mi servidor de discordia, pero mi bot muestra solo 2 miembros en total, 1 humano y 1 bot. ¿Puede alguien ayudarme a arreglarlo para que muestre el número total de miembros en el servidor? Este es el código -
Total -
.addField('Total Members', `${interaction.guild.members.cache.size}`, true)
Humanos -
.addField('Human Users', `${interaction.guild.members.cache.filter(members => !members.user.bot).size}`, true)
robots -
.addField('Bots', `${interaction.guild.members.cache.filter(members => members.user.bot).size}`, true)
Hay varias formas de resolver este problema.
#1: ¿Tienes intenciones?
const client = new Discord.Client({ intents: ['GUILDS', 'GUILD_MEMBERS'] })
#2: ¿Has intentado buscar a todos los miembros del gremio antes de mostrarlo? Discord.js usa algo llamado "caché", donde el paquete almacena algo en su base de datos, y puedes hacer lo que quieras con él más adelante sin hacer una nueva solicitud de API a Discord cada vez que quieras hacer algo (por ejemplo, obtener un nombre del canal). Discord.js intenta almacenar en caché todo lo que puede mientras puede. Si no están en su caché, puede obtenerlos y agregarlos a la memoria caché manualmente.