Files
algo-dcbot/init/load-commands.ts
ytshih f98b81d3b3
Some checks failed
Build image and deploy / release-image (push) Successful in 1m52s
Build image and deploy / deploy (push) Failing after 47s
Change: kubectl and service image
2024-10-18 16:24:02 +00:00

28 lines
1.1 KiB
TypeScript

import path from 'path';
import {readdirSync} from 'fs';
import {ExtendedClient} from '../classes/extendedclient';
import {logger} from '../logger';
export async function loadCommands(client: ExtendedClient): Promise<Array<string>>{
const foldersPath = path.join(__dirname, '../commands');
const commandFolders = readdirSync(foldersPath);
const commands: Array<string> = [];
for(const folder of commandFolders){
const commandsPath = path.join(foldersPath, folder);
const commandsFiles = path.basename(__filename).endsWith('.ts')
? readdirSync(commandsPath).filter(file => file.endsWith('.ts'))
: readdirSync(commandsPath).filter(file => file.endsWith('.js'));
for(const file of commandsFiles){
const filePath = path.join(commandsPath, file);
const data = await import(filePath);
if(data.command !== undefined){
client.commands.set(data.command.name, data.command);
commands.push(data.command.build().toJSON());
}else
logger.warning(`The command at ${filePath} is missing required properties.`);
}
}
return commands;
}