Intento hacer un bot simple que solo enumere a todos los miembros que tienen un rol específico.
Revisé la mayoría de las preguntas similares que pude encontrar, pero sus respuestas parecen obsoletas. Así que probé esto pero terminé con el resultado 'indefinido', aunque el rol existe.
const discord = require('discord.js'); const { Client, Intents } = require('discord.js'); const client = new discord.Client( { intents: [ Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES, Intents.FLAGS.GUILD_MEMBERS ] }); const prefix ="!"; const MemberID = "912852591023628371"; client.on('ready', () => { console.log('Connected to the bot'); }); client.on('messageCreate', msg => { if (msg.content === 'hi') { msg.reply('Hi to you too!'); } }); client.on('messageCreate', async message => { if (message.content === prefix + 'list') { let list = client.guilds.cache.get(MemberID); console.log(list); } } );Solo usa esto:
message.guild.roles.cache.get('Your role id here').members.map(m=>m.user.tag);Esto devolverá una matriz de todos los usuarios con el rol.