Split commands into subdirectories

* Move command files into directories

* Edit relative paths

* Update gitignore

* Finish support for commands in subdir

* Split up getCommandFiles into own function

* Add support for subdirs on help command
This commit is contained in:
SileNce5k 2021-07-18 11:24:46 +02:00 committed by GitHub
parent 8993eeaf7a
commit e7cdd425d1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
21 changed files with 55 additions and 35 deletions

16
util/getCommandFiles.js Normal file
View file

@ -0,0 +1,16 @@
const fs = require('fs')
module.exports = function (commandPath) {
let subdir = fs.readdirSync(commandPath)
let commandFiles = [];
subdir.forEach(item => {
if(fs.statSync(commandPath+item).isDirectory()){
let subdirFiles = fs.readdirSync(commandPath+item).filter(file => file.endsWith('.js'))
subdirFiles.forEach(file => {
commandFiles.push(commandPath+item+"/"+file)
});
}
});
return commandFiles
}

View file

@ -1,11 +1,14 @@
const fs = require('fs')
const fs = require('fs');
const getCommandFiles = require('./getCommandFiles');
const commandPath = 'commands/'
const utilPath = 'util/'
module.exports = function (client) {
let utilFiles = fs.readdirSync(utilPath).filter(file => file.endsWith('.js'));
let commandFiles = fs.readdirSync(commandPath).filter(file => file.endsWith('.js'));
let commandFiles = getCommandFiles(commandPath);
if (client.commands.size != 0) {
for (const i of commandFiles) {
delete require.cache[require.resolve(`../${commandPath}${i}`)];
@ -16,7 +19,7 @@ module.exports = function (client) {
}
client.commands.clear()
for (const file of commandFiles) {
const command = require(`../${commandPath}${file}`);
const command = require(`../${file}`);
client.commands.set(command.name, command);
}
}