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

85
Visualizações
¿Cómo puedo cambiar completamente este comando de expulsión para obtener una respuesta cuando intentas expulsar a un miembro que no está en el servidor?

Así que tengo este comando de patada que he codificado y funciona perfectamente bien. Mi pregunta es, ¿cómo puedo cambiar el comando para obtener una respuesta que diga como ejemplo "No puede expulsar a este usuario ya que no está en este servidor" más o menos.

Aquí está mi código:

 const { Client, CommandInteraction, MessageEmbed } = require("discord.js"); module.exports = { name: "kick", description: "Kick a member", userPermission: ["KICK_MEMBERS"], options: [ { name: "target", description: "target to kick", type: "USER", required: true }, { name: "reason", description: "reason for this kick", type: "STRING", required: false, } ], /** * * @param {Client} client * @param {CommandInteraction} interaction * @param {String} args */ execute: async(interaction, client, args) => { const { options, member, guild } = interaction; const target = options.getMember("target"); const reason = options.getString("reason") || "No reason provided"; if(!target.roles.highest.position >= member.roles.highest.position) return interaction.reply({content: "You can't take action on this user as their role is higher than yours!", }); await target.send({embeds: [new MessageEmbed().setColor("AQUA").setTitle("🚪 Kicked").setAuthor(target.user.tag, target.user.avatarURL({dynamic: true, size: 512})).setDescription(`You have been kicked from **${guild.name}**!\nReason: \`${reason}\``).setFooter(`ID: ${target.user.id}`)]}); target.kick(reason); interaction.reply({embeds: [new MessageEmbed().setColor("GREEN").setTitle("🚪 Kick").setAuthor(target.user.tag, target.user.avatarURL({dynamic: true, size: 512})).setDescription(`**${target.user.tag}** has successfully been kicked from **${guild.name}**!\n**Reason:** \`${reason}\``).setFooter(`ID: ${target.user.id}`)]}); }, };
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Porque este es un comando de barra y requiere un USER aquí:

 name: "target", description: "target to kick", type: "USER", required: true

Entonces nunca puede existir la posibilidad de que este comando se ejecute sin que el usuario esté en el gremio. El comando fallaría antes de enviarse.

Editar:

También tu línea

 const target = options.getMember("target");

Debiera ser

 const target = options.getUser("target");

Necesitaría obtener al member usando lo siguiente:

 const targetMember = guild.members.cache.find(member => member.id === target)

Luego, cada línea debajo de donde se usa el target cambia a targetMember

Edite la pregunta de respuesta en los comentarios:

Para patear/prohibir a alguien que no está en el gremio

 const targetMember = guild.members.cache.find(member => member.id === target) if (targetMember = undefined) { // code to kick/ban } else { // normal code }
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