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

74
Visualizações
Estoy tratando de obtener los permisos del bot para verificar si el comando podrá ejecutarse

Estoy tratando de obtener los permisos del bot para verificar si el comando podrá ejecutarse. Tengo el siguiente código:

 let botid = "idbot" let bot = client.users.cache.get(botid) if (!bot.permissions.has("ADMINISTRATOR")) return message.channel.send("Para mim poder liberar a função de registro eu preciso da permissão **Administrador**, por favor peça para algum **Staff** do servidor configurar, Obrigado.")

Recibo el siguiente error:

 if (!bot.permissions.has("ADMINISTRATOR")) ^ TypeError: Cannot read properties of undefined (reading 'has')
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Porque el bot , como lo definió, es solo un User , lo que significa que solo tiene información como su etiqueta, nombre de usuario, servidores en los que se encuentra, etc. lo que quiere es un GuildMember , es la misma persona pero en un servidor específico, tiene roles, un color de elevación y permissions que es lo que está buscando:

 let bot = message.guild.me; // The bot's GuildMember object if (!bot.permissions.has("ADMINISTRATOR")) return message.reply('I am not an admin!')
about 4 years ago · Juan Pablo Isaza Relatório

0

bot es un User y los User no tienen permissions , solo los Miembros del GuildMember los tienen. Para esto, deberá obtener el Guild (ya sea obteniendo su ID o simplemente usando message.guild ). guild#me será tu bot como GuildMember de ese gremio.

También puedes usar el método fetch en guild.members . De todos modos, necesitarás un guild para verificar los permisos de tu bot.

 let botid = 'idbot'; let guild = client.guilds.cache.get('GUILD_ID'); // OR get it from the message let { guild } = message; let bot = guild.me; // OR fetch it from members let bot = await guild.members.fetch(botid); if (!bot.permissions.has('ADMINISTRATOR')) return message.channel.send( 'Para mim poder liberar a função de registro eu preciso da permissão **Administrador**, por favor peça para algum **Staff** do servidor configurar, Obrigado.', );
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