Para un proyecto, necesito exportar el número total de miembros de una lista de servidores Discord. ¿Hay alguna forma de obtener este número sin acceder al servidor? Hasta ahora he intentado algo con lo que he encontrado en varios foros, pero aparece un error: No se pueden leer las propiedades de undefined (leyendo 'memberCount')
const { Client, Intents } = require('discord.js'); const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES] }); const token = 'MyToken'; client.login(token); client.on('ready', async () => { let myGuild = await client.guilds.cache.get('798982176502054933'); let memberCount = myGuild.memberCount; console.log(memberCount); });client.guilds.cache.get('798982176502054933') no devuelve una promesa ya que es una colección, por lo que no tiene que usar await con ella.
let myGuild = client.guilds.cache.get('798982176502054933'); let memberCount = myGuild.memberCount; console.log(memberCount);un mejor enfoque para esto es usar la .fetch(id) . este código espera a que la búsqueda encuentre el gremio y luego la consola registrará el recuento de miembros del gremio. si su bot no puede encontrar el servidor, arrojará un error.
client.on('ready', async () => { await client.guilds.fetch('798982176502054933') .then(myGuild => { console.log(myGuild.memberCount) }) });