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

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

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