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

124
Visualizações
Mi código para autorole no funciona y no puedo entender por qué
const { Client, Intents } = require("discord.js"); const client = new Client({ intents: ["DIRECT_MESSAGES", "GUILDS", "GUILD_MEMBERS"], presence: { status: "online", activities: [{ name: "markets", type: "WATCHING" }] }, }); client.on('ready', () => { console.log(`Launched as a bot: ${client.user.tag}!`); }); client.on('guildMemberAdd', member => { function roleAdd() { member.roles.add(member.guild.roles.cache.get(process.env.SERVER_ROLE_ID)); } roleAdd(); }); client.login(process.env.DJS_TOKEN);

Chicos, escribí este código pero no funciona. No estoy recibiendo ningún error. Quiero que agregue un rol cada vez que un usuario se una a mi servidor. el estado del bot está funcionando. Creo que el problema está en la parte de guildMemberAdd .

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

0

No estoy muy seguro de por qué está utilizando el enfoque de funciones anidadas para esto. Si desea que el evento llame a la función, mueva la función fuera del evento y luego cree GuildMember en un parámetro.

O descarte el evento por completo y deje el método simple #<GuildMemberRoleManager>.add solo.

Sugiero lo último ya que asumo que la declaración de la función anidada no funcionará.

about 4 years ago · Juan Pablo Isaza Relatório

0

Si desea utilizar la función de agregar automáticamente para su servidor, pruebe el método más fácil para agregar la función, de la misma manera que le da la función a un miembro.

Cuando asigna un rol a un miembro específico, debe verse así:

 const role = message.guild.roles.cache.find(role => role.id === process.env.SERVER_ROLE_ID) const target = message.mentions.members.first() || await message.guild.members.cache.get(args[0])

Si un bot otorga un rol higher than the bot or equal to bot . Obtendrá un error como Permisos faltantes . Para evitar esto, debe colocar un código para devolverlo.

 if(!target.moderatable) return message.reply("I can't mute this person!")

Este comando es de la misma manera para el rol de asignación automática, solo se agregaron/editaron/eliminaron unas pocas líneas de código.

 client.on('guildMemberAdd', member => { function roleAdd() { member.roles.add(member.guild.roles.cache.get(process.env.SERVER_ROLE_ID)); } roleAdd(); });
 - function roleAdd() {} + let role = member.guild.roles.cache.find(role => role.id == process.env.SERVER_ROLE_ID) + member.roles.add(role).catch()

La línea .catch() es para evitar que se produzca un error y apagar el bot.

 client.on('guildMemberAdd', member => { let role = member.guild.roles.cache.find(role => role.id == process.env.SERVER_ROLE_ID) member.roles.add(role).catch() });
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