Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

633
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda