Si agrego más de una propiedad a "nombre", entonces no detecta ninguna.
Esto funciona:
module.exports = { name: "info", description: "Gives full details of a user.", async execute(...) { ... } }Pero si trato de agregar algo como "whois" a "nombre":
module.exports = { name: ["info", "whois"], description: "Gives full details of a user.", async execute(...) { ... } }Entonces el comando simplemente deja de funcionar.
Aquí el código para mi index.js:
const infoCommandModule = require(`./BotCommands/Info.js`); if (msg.content.toLowerCase() === `${infoCommandModule.name}`) { infoCommandModule.execute(...) }Es porque cuando es una matriz no puedes compararla con una cadena. Puede usar Array#includes() aunque eso verifica si una cadena determinada está incluida en la matriz:
const infoCommandModule = require('./BotCommands/Info.js') if (infoCommandModule.name.includes(msg.content.toLowerCase)) { infoCommandModule.execute(...) } Tenga en cuenta que deberá usar matrices para cada name en sus comandos. Si también desea aceptar matrices y cadenas, deberá verificar si el name es una matriz. Puede usar Array.isArray(name) para eso.