Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

72
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!