Files
qcstd-bot/handlers/commandHandler.js
T
2025-08-26 01:01:34 +02:00

42 lines
1.0 KiB
JavaScript

const fs = require("fs");
const path = require("path");
const { Collection } = require("discord.js");
function walkCommands(dir, callback) {
const files = fs.readdirSync(dir, { withFileTypes: true });
for (const file of files) {
const filePath = path.join(dir, file.name);
if (file.isDirectory()) {
walkCommands(filePath, callback);
} else if (file.name.endsWith(".js")) {
const command = require(filePath);
callback(command);
}
}
}
function loadCommands(client) {
const commandsPath = path.join(__dirname, "../SlashCommand");
client.commands = new Collection();
walkCommands(commandsPath, (command) => {
client.commands.set(command.data.name, command);
});
return client.commands;
}
function getCommandsJSON() {
const commandsPath = path.join(__dirname, "../SlashCommand");
const commands = [];
walkCommands(commandsPath, (command) => {
commands.push(command.data.toJSON());
});
return commands;
}
module.exports = { loadCommands, getCommandsJSON };