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

217
Vistas
cómo agregar alias a un controlador de comandos en discord.js

He encontrado en otras preguntas de desbordamiento de pila que para agregar alias solo tienes que agregar

 const command = client.commands.get(commandName) || client.commands.find(cmd => cmd.aliases && cmd.aliases.includes(commandName));

pero esto no funciona. Lo que no entiendo es qué es cmd porque no está definido en ningún otro lugar de mi código, aunque de todos modos se pasa a través de la función de flecha. Cuando uso esto, todavía puedo usar los comandos, pero cuando uso los alias, no pasa nada, no hay ningún mensaje o error en la consola. Alguien podría ayudarme con esto, gracias por cualquier ayuda. Aquí está mi código para el controlador de comandos:

 client.on('messageCreate', message => { if (message.author.bot) return; if (!message.content.startsWith(process.env.PREFIX)) return; const args = message.content.slice(process.env.PREFIX.length).trim().split(/ +/); const commandName = args.shift().toLowerCase(); const command = client.commands.get(commandName) || client.commands.find(cmd => cmd.aliases && cmd.aliases.includes(commandName)); if (!client.commands.has(commandName)) return; if (message.channel.name == 'general') return message.reply('smh no bot commands in general :raised_hand:'); if (!message.guild.me.permissions.has('SEND_MESSAGES')) return message.member.send(`I need the 'SEND_MESSAGES' permission to be able to reply to commands in the server: ${message.guild.name}`); try { command.execute(message, args, distube); } catch(error) { console.error(error); message.reply('Uh oh! It looks like you have encountered a glitch up in the system, please try again later! || <@498615291908194324> fix yo dead bot ||') }

});

Y el archivo de comandos:

 name: 'ping', description: 'Ping Command', aliases: ['pg'], execute(message, args) { let ping = new Date().getTime() - message.createdTimestamp message.reply(`pong (${ping}ms)`); }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Esta linea es el problema

 if (!client.commands.has(commandName)) return;

Mapea la colección en un formato <string, Object> pero la cadena es el nombre del comando, no el alias. La mejor manera es reemplazar la línea de código anterior con esto:

 if (!command) return;

Esto regresará temprano si el command es falso (no se encontró), pero funcionará con alias.

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