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

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

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 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!