Creé un bot Discord simple en Node.js. He habilitado los intentos de GUILD_MEMBERS y GUILD_PRESENCES , pero cuando intento recuperar a todos los miembros, solo regresan los miembros en línea.
import { Client } from "discord.js"; const client = new Client({intents: ["GUILDS","GUILD_MESSAGES","GUILD_MEMBERS","GUILD_MESSAGE_REACTIONS", "GUILD_PRESENCES"]}); const guildId = '<guild_id>'; client.on("ready", async () => { console.log(`logged in as ${client.user.tag}`); const guild = await client.guilds.fetch(guildId); const members = await guild.members.fetch(); members.forEach(member => console.log(member.displayName); });Salida, con mi cuenta principal en línea y mi alt fuera de línea:
logged in as bot1#tagg mainaccount bot1Salida, con mi cuenta principal online y mi alt online:
logged in as bot1#tagg mainaccount altaccount bot1 Y cuando cambio el registro a console.log(member.presence.status) , el resultado es
logged in as bot1#tagg online online onlineComo puede ver, estoy buscando a todos los miembros y registrando sus nombres para mostrar. Actualmente tengo mi cuenta principal, mi cuenta alternativa y la cuenta bot en el servidor, pero solo registra los nombres de los miembros que están actualmente en línea. ¿Por qué es esto y cómo puedo solucionarlo?