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

631
Vistas
Cómo obtener todos los usuarios con un rol en Discord.js en una matriz

Estoy tratando de conseguir que todos los miembros tengan un rol determinado. Por ejemplo, hay un rol de gurdian en mi servidor de discordia con una identificación de 872029521484873779. Quiero una lista de todos los nombres de los usuarios en una matriz que tienen gurdian como rol en mi servidor. Mi código es el siguiente

 let nameList= msg.guild.roles.cache.get('role_id').members.map(m=>m.user.tag);

Sin embargo, como resultado, solo devuelve un usuario en la lista de nameList , mientras que hay 9 usuarios con el rol asignado. ¿Qué estoy haciendo mal aquí que me trae solo 1 usuario, no el resto de 9 usuarios en una lista en matriz? soy nuevo en discord.js

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

0

Su error podría ser una simple confusión con los números de identificación. El número en su código es diferente al número en su pregunta

about 4 years ago · Juan Pablo Isaza Denunciar

0

Esto sucede porque los miembros no se almacenan en caché. Entonces solo ve a 1 persona iniciando sesión porque solo 1 persona está en el caché. Para solucionar esto, puede buscar a todos los miembros haciendo msg.guild.members.fetch() , luego use msg.guild.roles.cache.get("roleid").members.map(m => m.user.tag) para obtener la salida real. Tenga en cuenta que necesitará la intención GUILD_MEMBERS si está en v13.

Recuperar miembros del gremio los almacenará en caché. Entonces, cuando haces role.members , obtienes los miembros que tienen este rol.

Si no obtiene miembros, la información no será precisa. Discord.js almacena usuarios en caché. Esto sucede cada vez que alguien envía un mensaje, actualiza su perfil o cualquier cosa sobre sí mismo MIENTRAS el bot está en línea . Entonces, si reinicia su bot, nadie estará en el caché.

¿Por qué la recuperación es diferente del caché?

Fetch obtiene la información directamente de Discord, mientras que el caché verifica si el usuario está almacenado localmente. Cuando busca miembros, también se almacenan automáticamente en el caché.

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