Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

156
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!