Estaba tratando de obtener todos los nombres de usuario de los miembros en mi servidor de discordia.
Sin embargo, acaba de devolver 8-9/25 miembros, incluidos 6 BOT.
Aquí está mi código
const list = client.guilds.cache.get(msg.guildId); list.members.cache.each(r => { console.log(r.user.username) })Además de eso, también he probado estas formas.
const list = client.guilds.cache.get(msg.guildId); list.members.cache.array().forEach(r => { console.log(r.user.username) }) const user = client.users.cache.find(u => u.username == '//The Given username') const user = msg.guild.roles.cache.get('//The Main Role in my Server') .members.map(m => m.user.username == '//The given username') let user = client.users.cache.get('username', '//The given username');Pero a veces simplemente devolvía mi nombre de usuario y el de mi BOT o indefinido.
Estoy tratando de obtener a todos los miembros en el servidor y, a partir de eso, puedo descubrir que el usuario tiene el mismo nombre de usuario con el nombre de usuario dado, no etiquetas o ID.
He activado Gateway Intents pero no ayudó
Por favor ayuda con mi proyecto, realmente necesito todas tus sugerencias.
Use .fetch() para almacenar en caché todos los miembros y devolverlos. Asegúrate de tener la intención GUILD_MEMBERS :
list.members.fetch().then(m => { let members = m.map(u => u.user.username) console.log(members) //array of all members //you can also use "m.each(u => console.log(u.user.username))" to log each one individually }) O use async-await
const m = await list.members.fetch() let members = m.map(u => u.user.username) console.log(members)