Tengo un problema cuando defino "miembro" así:
const guild = client.guilds.cache.get('my guild id') const member = guild.members.cache.get('the member id that I need')Cuando lo uso, no puedo obtener sus propiedades porque la consola me dice que no está definido. ¿Entonces, cuál es el problema?
En primer lugar, debe asegurarse de haber habilitado la intención GUILD_MEMBERS en el portal para desarrolladores de Discord en su aplicación. Una vez que haya hecho eso, debe incluir la intención en el Client .
const { Client, Intents } = require('discord.js'); const client = new Client({intents: [Intents.FLAGS.GUILD_MEMBERS, Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES]}); Después de haber hecho esto, debería funcionar. Si no funciona, el miembro no se busca o el usuario no está en el gremio especificado. Si el miembro está en su servidor, debe buscar al usuario mediante la función de fetch . La función de fetch devolverá una Promise que devolverá el GuildMember si se cumple la Promise . Si se rechaza la Promise , el miembro no está en su servidor o hubo un error al intentar acceder al miembro. Puede buscar al usuario de esta manera:
const { Client, Intents } = require('discord.js'); const client = new Client({intents: [Intents.FLAGS.GUILD_MEMBERS, Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES]}); client.once('ready', async () => { var guild = client.guilds.cache.get('The Guild ID'); if(!guild){ try { guild = await client.guilds.fetch('The Guild ID'); } catch (error) { return console.log(`Error while fetching the guild: `, error); } } var member = guild.members.cache.get('The User ID'); if(!member){ try { member = await guild.members.fetch(`The User ID`); } catch (error) { return console.log(`Error while fetching the member: `, error); } } }); client.login('Your token');