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

129
Visualizações
Problema de permisos de comando de Discord.js kick

Entonces, la última pregunta que hice, traté de usar el código de muestra en la respuesta de MrMythical. Esta vez, me encontré con otro problema:

 if (message.member.permissions.has(Permissions.FLAGS.BAN_MEMBERS)){ ^ ReferenceError: Permissions is not defined

El código:

 module.exports = new Command({ name: "kick", description: "kick", async run(message, args, client) { if (message.member.permissions.has(Permissions.FLAGS.BAN_MEMBERS)) { if (message.mentions.members) { try { message.mentions.kick(); } catch { message.reply("I don't have permission to ban " + message.mentions.members.first()); } } else { message.reply("You cannot ban " + message.member.mentions.first()); } } } });

Digamos que eliminé if (message.member.permissions.has(Permissions.FLAGS.BAN_MEMBERS)) , el mensaje que devolvió al ejecutar el comando fue I don't have permission to ban <insert_user_id> .

Estoy un poco atascado aquí por un tiempo, si me pueden ayudar, muchas gracias.

Editar: olvidé importar los permisos, por lo que ahora solo aparece "No tengo permisos para patear"

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

0

Deberá importar Permissions de discord.js . Puede importarlo en la parte superior de la página, así:

 const { Permissions } = require('discord.js');

Además, message.mentions devuelve un objeto e incluye los miembros, canales y roles mencionados. No tendrá un método kick() y si intenta llamarlo, arrojará un error. Como no registra el error en su bloque catch , no tendrá idea de cuál es el error; simplemente enviará una respuesta diciendo "No puedes prohibir indefinido".

Deberá comprobar si hay miembros mencionados consultando message.mentions.members . Devuelve una colección; puede tomar el primer miembro usando first() .

Puedes patear al primer miembro mencionado así:

 const { Permissions } = require('discord.js'); module.exports = new Command({ name: 'kick', description: 'kick', async run(message, args, client) { if (!message.member.permissions.has(Permissions.FLAGS.BAN_MEMBERS)) return message.reply('You have no permission to ban members'); if (!message.mentions.members) return message.reply('You need to mention a member to ban'); let mentionedMember = message.mentions.members.first(); try { mentionedMember.kick(); } catch (err) { console.log(err); message.reply(`Oops, there was an error banning ${mentionedMember}`); } }, });
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