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

479
Visualizações
¿Cómo puedo eliminar un rol específico de todos los que lo tienen en Discord.js v13?

Quiero que mi bot elimine un rol específico de todos los que lo tienen cuando se envía un mensaje en un canal

 client.on('messageCreate', async message => { if(message.channel.id === '954375143965216869'){ //counting message.guild.roles.get('944674567811645472').members.map(m=>m.member.id).delete(); } })

Estoy usando discord.js v13 y node.js v16.4.2

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Esto debería funcionar, buscará a todos los miembros del gremio y para cada miembro eliminará el rol especificado. También tenga en cuenta que necesitará las intenciones de puerta de enlace adecuadas para ejecutar esto y, según el tamaño del gremio, puede llevar varios minutos. No recomendaría ejecutarlo cada vez que se envíe un mensaje, ya que te limitará la velocidad extremadamente rápido.

 message.guild.members.fetch().then(m => { m.forEach(member => { let role = message.guild.roles.cache.get("roleid"); member.roles.remove(role) }) })

Además, si su gremio es demasiado grande y se vuelve demasiado lento debido a los límites de velocidad, pruebe el código a continuación para que cada cambio tenga un retraso.

 message.guild.members.fetch().then(m => { m.forEach(member => { let role = message.guild.roles.cache.get("roleid"); setTimeout(() => { member.roles.remove(role) }, 1000); }) })
about 4 years ago · Juan Pablo Isaza Relatório

0

Como dijo SP73, poner esto en su mensaje Crear evento hará que su velocidad sea limitada rápidamente. Intente poner esto en su evento listo en su lugar. Esto hará que todos los miembros del servidor provisto estén en el caché (estoy seguro de que no tiene un bot verificado, por lo que lo más probable es que discord.js lo guarde en el caché por usted) y solo seleccione aquellos que tienen el rol, luego para cada uno, con un retraso de 1500 milisegundos (1 segundo y medio), quitarles el rol.

 client.on('ready',() =>{ let n = 0; let { members } = client.guilds.cache.get("GUILD_ID"); members.filter(m => m.roles.cache.has("ROLE_ID")).forEach(member => { setTimeout(() => member.roles.remove("ROLE_ID"), (++n) * 1500); }) })
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