Estaba creando un sistema de alias para mi bot de discordia, y quería decir: "si el usuario ingresó el nombre de comando o alias incorrecto, devuelva: comando/alias no válido" , pero recibo un error:
C:\Users\Pooyan\Desktop\PDM Bot Main\events\guild\message.js:16 if(!cmd || client.commands.find(a => !a.aliases && !a.aliases.includes(cmd))) return message.channel.send('Invalid command'); ^ TypeError: Cannot read properties of undefined (reading 'includes') at C:\Users\Pooyan\Desktop\PDM Bot Main\events\guild\message.js:16:83Mi código:
module.exports = async (message, client, Discord) => { const prefix = process.env.PREFIX; if(!message.content.startsWith(prefix) || message.author.bot) return; const args = message.content.slice(prefix.length).split(/ +/); const cmd = args.shift().toLowerCase(); const command = client.commands.get(cmd) || client.commands.find(a => a.aliases && a.aliases.includes(cmd)); if(!cmd || client.commands.find(a => !a.aliases && !a.aliases.includes(cmd))) return message.channel.send('Invalid command'); }Estoy usando discord.js v13 y Node.js v16.14.2
Encontré la solución yo mismo, todo lo que tenía que hacer era:
if(!command) return message.channel.send('Invalid Command/alias');después de esas dos líneas, significa que si el nombre del comando no era correcto, o si el alias no era correcto, devuelve "Comando/alias no válido"
¡Quita el primero ! en su método de búsqueda, solucionará el error