Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

66
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda