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

197
Visualizações
Rol condicional Discord.js

Básicamente, lo que estoy tratando de hacer es que si un miembro de mi servidor envía un mensaje, obtenga el rol "Activo". Ya tengo otro bot haciendo eso. El problema es que quiero asignar un rol "Inactivo" a cualquier persona que no haya enviado un mensaje. La forma en que lo tengo configurado (creo) es que cuando se cambian los roles de un miembro, verifica si el miembro tiene el rol "Activo" y elimina el rol "Inactivo". A la inversa, si se elimina el rol "Activo", se supone que debe agregar el rol "Inactivo".

 client.on("guildMemberUpdate", (oldMember, newMember) => { //Has Acitve, remove Inactive. if (newMember.roles.cache.has(971885336680616007)) { newMember.roles.remove(971903053626241034); } //Doesn't have Active, add Inactive. elseif (!newMember.roles.cache.has(971885336680616007)) newMember.roles.add(971903053626241034) })

Este es el código que estoy usando, pero siento que debo haber hecho algo incorrectamente porque no puedo hacer que funcione

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

0

La razón por la que es posible que no pueda agregar los roles y por la que puede obtener un error es porque, al verificar si el miembro tiene un rol, en lugar de pasar una cadena, está pasando un número. Un error que puede obtener al hacerlo de esta manera es: TypeError [INVALID_TYPE]: Supplied roles is not a Role, Snowflake or Array or Collection of Roles or Snowflakes. Entonces, para corregir su error, todo lo que tiene que hacer es pasar todas las identificaciones de roles como cadenas para que su código final se vea así:

 client.on("guildMemberUpdate", (oldMember, newMember) => { // User has active role, remove inactive role if (newMember.roles.cache.has('971885336680616007')) { newMember.roles.remove('971903053626241034'); } // User doesn't have active role, add inactive role else if (!newMember.roles.cache.has('971885336680616007')) { newMember.roles.add('971903053626241034') } })
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