Actualmente estoy usando node.js, así que no puedo requerir un comando y no puedo encontrar un código de carpeta:
module.exports = { name: 'cmds', description: 'Shows the commands.', aliases: 'commands,help', cooldown: 1000, execute(client, msg, args) { const prettyms = require('pretty-ms') const author = msg.author const authorMember = msg.member const user = msg.mentions.users.first() const userMember = msg.mentions.members.first() const authorOrUser = user || author const authorOrUserMember = userMember || authorMember const fs = require('fs') const { MessageEmbed } = require("discord.js") const embed = new MessageEmbed() function getCommand(cmd) { return client.commands.get(`${cmd}`) } for (const category of fs.readdirSync(`../commands`)) { for (const cmd of fs.readdirSync(`../${category}`)) { const command = require(`../${category}/${cmd}`) console.log(command.name) } } embed.setAuthor(`Commands : ${client.commands.size}`) embed.setDescription("`<> means required, () means optional and | means it is an alias of a command`") embed.setFooter(`Made by 3F1VE#2276`) embed.setTimestamp(Date.now()) embed.setTitle(`Commands`) embed.setColor('RANDOM') msg.reply({ embeds: [embed] }) } }
El problema es que no puedo encontrar la manera de obtener la carpeta de comandos correctamente. Aquí están los archivos
Debería configurar la lista de carpetas donde quiera que busque yhem al inicio o buscar todo en el comando (no recomendado)
const { readdirSync } = require("fs"); module.exports = (bot) => { readdirSync("./commands/").map((dir) => { const commands = readdirSync(`./commands/${dir}/`).map((cmd) => { let pull = require(`../commands/${dir}/${cmd}`); bot.commands.set(pull.name, pull); if (pull.aliases) { pull.aliases.map((p) => bot.aliases.set(p, pull)); } }); }); console.log(`All commands loaded\(Quantity\:${bot.commands.size} \)`) };
Puede cambiar el código proporcionado anteriormente con cambios menores para obtener las carpetas en el comando mismo
Recuerde que este es un pseudocódigo y necesitaría cambios para adaptarse a su caso de uso. No espere que funcione fuera de la caja.
Aparentemente escribí mal la ruta.