Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

157
Vistas
¿Cómo contar todos los miembros en línea que usan v13?

Así que actualmente estoy tratando de obtener a todos los miembros en línea en un gremio específico y contarlos. Ya probé estos métodos:

 let onlineMembers = (await interaction.guild.members.fetch()).filter( (member) => !member.user.bot && member.user.presence.status !== "offline" );

y

 let onlineMembers = interaction.guild.members.cache.filter(member => member.presence.status !== "offline").size

También intenté buscar a todos los miembros primero y filtrar el resultado de esta manera:

 const allMembers = await interaction.guild.members.fetch(); const onlineMembers = allMembers.filter(member => !member.user.bot && member.presence.status !== "offline");

Pero siempre obtengo esta excepción:

TypeError: no se puede leer la propiedad 'estado' de indefinido

Así que busqué una solución y noté que tengo que activar manualmente todas las intenciones que quiero que use mi bot. "Activé" las intenciones necesarias en mi index.js así:

 const client = new Client({ intents: [ Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES, Intents.FLAGS.GUILD_MEMBERS, Intents.FLAGS.GUILD_PRESENCES ], });

Pero esto tampoco solucionó mi problema.

En el Portal para desarrolladores de Discord también habilité ambos intentos de puerta de enlace privilegiados:

Intentos de puerta de enlace privilegiados activados

Y quién podría haberlo adivinado... todavía no funciona. Es extraño, porque para algunos miembros funciona, pero necesito que funcione para todos los miembros.

¿Alguien sabe cómo arreglar esto?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Obtener esta información cambió en V13

Este código generará un Objeto con las propiedades online , idle y dnd :

 let GUILD_MEMBERS = await client.guilds.cache.get(config.ids.serverID).members.fetch({ withPresences: true }) var onlineMembers = { online: await GUILD_MEMBERS.filter((online) => online.presence?.status === "online").size, idle: await GUILD_MEMBERS.filter((online) => online.presence?.status === "idle").size, dnd: await GUILD_MEMBERS.filter((online) => online.presence?.status === "dnd").size }

Hazme saber si esto funciona para ti

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda