Hola a todos, he estado tratando de hacer un comando de ayuda que enumera todos los directorios y sus archivos. El problema es que quiero mantener algunos de esos directorios/comandos en secreto. Ya sé cómo implementar este código en incrustaciones, así que solo quiero saber cómo hacer que solo algunos directorios estén disponibles para ver. Esto es lo que hice hasta ahora: `
let categorías = [];
fs.readdirSync("./commands/").forEach((dir) => { const commands = fs.readdirSync(`./commands/${dir}/`).filter((file) => file.endsWith(".js") ); const cmds = commands.map((command) => { let file = require(`../../commands/${dir}/${command}`); if (!file.name) return //"No command name."; let name = file.name.replace(".js", ""); return `\`${name}\``; }); let FileData = new Object(); FileData = { name: dir.toUpperCase(), value: cmds.length === 0 ? "In progress." : cmds.join(" "), }; const InvalidDirs = [ 'blaxyy-server', 'minecraft-server', 'owner-only' ] categories.push(FileData) });`Los comandos y los nombres de los directorios deben estar entonces en el Embed, pero quiero mantener los directorios que se enumeran en InvalidDirs como privados para que no todos los vean.
¿Alguien sabe cómo podría hacerlo?
En cada archivo que desee mantener en secreto, agregue una propiedad como esta
name: 'command name', description: 'Command Description.', secret: true,Entonces compruébalo aquí
fs.readdirSync("./commands/").forEach((dir) => { const commands = fs.readdirSync(`./commands/${dir}/`).filter((file) => file.endsWith(".js") ); const cmds = commands.map((command) => { let file = require(`../../commands/${dir}/${command}`); if (file.secret) return; // this is the line that will check for the secret property if (!file.name) return //"No command name."; let name = file.name.replace(".js", ""); return `\`${name}\``; }); let FileData = new Object(); FileData = { name: dir.toUpperCase(), value: cmds.length === 0 ? "In progress." : cmds.join(" "), }; categories.push(FileData) });