diff --git a/commands/reload.js b/commands/admin/reload.js similarity index 59% rename from commands/reload.js rename to commands/admin/reload.js index 7f55553..c93aab0 100644 --- a/commands/reload.js +++ b/commands/admin/reload.js @@ -1,5 +1,5 @@ -const calculateReloaded = require("../util/calculateReloaded.js"); -const reloadNetModules = require("../util/reloadNetModules.js"); +const calculateReloaded = require("../../util/calculateReloaded.js"); +const reloadNetModules = require("../../util/reloadNetModules.js"); module.exports = { name: 'reload', @@ -7,7 +7,7 @@ module.exports = { admin: true, execute({message, client}) { - let reloadCommands = require("../util/reloadCommands.js") + let reloadCommands = require("../../util/reloadCommands.js") let beforeSize = client.commands.size; reloadNetModules(client) reloadCommands(client) diff --git a/commands/setPresence.js b/commands/admin/setPresence.js similarity index 94% rename from commands/setPresence.js rename to commands/admin/setPresence.js index f52823a..3b636a7 100644 --- a/commands/setPresence.js +++ b/commands/admin/setPresence.js @@ -1,4 +1,4 @@ -const setPresence = require("../util/setPresence"); +const setPresence = require("../../util/setPresence"); module.exports = { name: 'setpresence', diff --git a/commands/update.js b/commands/admin/update.js similarity index 91% rename from commands/update.js rename to commands/admin/update.js index 36e7819..26feab6 100644 --- a/commands/update.js +++ b/commands/admin/update.js @@ -1,5 +1,5 @@ -const calculateReloaded = require("../util/calculateReloaded"); -const reloadCommands = require("../util/reloadCommands"); +const calculateReloaded = require("../../util/calculateReloaded"); +const reloadCommands = require("../../util/reloadCommands"); module.exports = { name: 'update', diff --git a/commands/botinfo.js b/commands/info/botinfo.js similarity index 84% rename from commands/botinfo.js rename to commands/info/botinfo.js index 80e8532..5e329ab 100644 --- a/commands/botinfo.js +++ b/commands/info/botinfo.js @@ -1,6 +1,6 @@ const Discord = require('discord.js'); -const getCreationDate = require('../util/getCreationDate'); -const getGuildCount = require('../util/getGuildCount'); +const getCreationDate = require('../../util/getCreationDate'); +const getGuildCount = require('../../util/getGuildCount'); diff --git a/commands/guilds.js b/commands/info/guilds.js similarity index 100% rename from commands/guilds.js rename to commands/info/guilds.js diff --git a/commands/help.js b/commands/info/help.js similarity index 90% rename from commands/help.js rename to commands/info/help.js index 721a259..ba9a10e 100644 --- a/commands/help.js +++ b/commands/info/help.js @@ -1,5 +1,6 @@ const fs = require('fs'); const Discord = require('discord.js'); +const getCommandFiles = require('../../util/getCommandFiles'); module.exports = { @@ -12,10 +13,10 @@ module.exports = { ], execute({ message, args, prefix, client }) { let commands = "" - let commandFiles = fs.readdirSync('./commands').filter(file => file.endsWith('.js')); + let commandFiles = getCommandFiles('../../commands') let x = 0 if (args[0] == "netmodules") { - commandFiles = fs.readdirSync('./netload').filter(file => file.endsWith('.js')); + commandFiles = fs.readdirSync('../../netload').filter(file => file.endsWith('.js')); if (commandFiles.length == 0) { message.channel.send("There are no netmodules currently loaded.") x = 1; @@ -48,9 +49,9 @@ module.exports = { command.moreHelp.forEach(element => { commands = commands + `${element}\n` }); - } else { - noHelp = 1; - } + } else { + noHelp = 1; + } break; } } diff --git a/commands/pfp.js b/commands/info/pfp.js similarity index 89% rename from commands/pfp.js rename to commands/info/pfp.js index 9b9d5e7..d4de667 100644 --- a/commands/pfp.js +++ b/commands/info/pfp.js @@ -1,4 +1,4 @@ -const parseMention = require("../util/parseMention.js") +const parseMention = require("../../util/parseMention.js") module.exports = { name: 'pfp', diff --git a/commands/serverinfo.js b/commands/info/serverinfo.js similarity index 100% rename from commands/serverinfo.js rename to commands/info/serverinfo.js diff --git a/commands/uptime.js b/commands/info/uptime.js similarity index 100% rename from commands/uptime.js rename to commands/info/uptime.js diff --git a/commands/userinfo.js b/commands/info/userinfo.js similarity index 86% rename from commands/userinfo.js rename to commands/info/userinfo.js index 3de3cf0..66a4484 100644 --- a/commands/userinfo.js +++ b/commands/info/userinfo.js @@ -1,9 +1,9 @@ const Discord = require('discord.js'); -const getCreationDate = require('../util/getCreationDate.js'); -const getJoinDate = require('../util/getJoinDate.js'); -const getNickname = require('../util/getNickname.js'); -const morePresence = require('../util/morePresence.js'); -const parseMention = require("../util/parseMention.js") +const getCreationDate = require('../../util/getCreationDate.js'); +const getJoinDate = require('../../util/getJoinDate.js'); +const getNickname = require('../../util/getNickname.js'); +const morePresence = require('../../util/morePresence.js'); +const parseMention = require("../../util/parseMention.js") module.exports = { name: 'userinfo', diff --git a/commands/custom.js b/commands/misc/custom.js similarity index 86% rename from commands/custom.js rename to commands/misc/custom.js index c585356..3b1f096 100644 --- a/commands/custom.js +++ b/commands/misc/custom.js @@ -1,10 +1,10 @@ -const addCustomCommand = require("../util/addCustomCommand"); -const deleteCustomCommand = require("../util/deleteCustomCommand"); -const getAllCustomCommands = require("../util/getAllCustomCommands"); -const getOwnerOfCustomCommand = require("../util/getOwnerOfCustomCommand"); +const addCustomCommand = require("../../util/addCustomCommand"); +const deleteCustomCommand = require("../../util/deleteCustomCommand"); +const getAllCustomCommands = require("../../util/getAllCustomCommands"); +const getOwnerOfCustomCommand = require("../../util/getOwnerOfCustomCommand"); const Discord = require('discord.js'); const fs = require('fs'); -const editCustomCommand = require("../util/editCustomCommand"); +const editCustomCommand = require("../../util/editCustomCommand"); module.exports = { name: 'custom', @@ -18,7 +18,7 @@ module.exports = { "custom variables - list all variables you can use" ], execute({message, args, client, prefix, owners}) { - const customPath = './data/customCommands.json'; + const customPath = '../../data/customCommands.json'; if(!fs.existsSync(customPath)){ fs.writeFileSync(customPath,"[]") } diff --git a/commands/emoji.js b/commands/misc/emoji.js similarity index 100% rename from commands/emoji.js rename to commands/misc/emoji.js diff --git a/commands/netload.js b/commands/misc/netload.js similarity index 93% rename from commands/netload.js rename to commands/misc/netload.js index f046304..1ead3ae 100644 --- a/commands/netload.js +++ b/commands/misc/netload.js @@ -1,6 +1,6 @@ const https = require('https'); const fs = require('fs') -const netloadDir = "./netload" +const netloadDir = "../../netload" const validUrl = require('valid-url'); module.exports = { @@ -14,7 +14,7 @@ module.exports = { "The bot operator also has to have this enabled in the config." ], execute({ message, args, prefix, client, owners }) { - let json = fs.readFileSync('./data/netmoduleWhitelist.json', 'utf8'); + let json = fs.readFileSync('../../data/netmoduleWhitelist.json', 'utf8'); let whitelist = JSON.parse(json) if (json.indexOf(message.author.id.toString()) == -1) { message.channel.send("You do not have permissions to use this command."); @@ -31,7 +31,7 @@ module.exports = { } if (args[0] == "example") { - let example = fs.readFileSync("./commands/.example") + let example = fs.readFileSync("../.example") message.channel.send(`\`\`\`js\n${example}\n\`\`\``) return; diff --git a/commands/owo.js b/commands/misc/owo.js similarity index 100% rename from commands/owo.js rename to commands/misc/owo.js diff --git a/commands/penissize.js b/commands/misc/penissize.js similarity index 92% rename from commands/penissize.js rename to commands/misc/penissize.js index 0acb77f..e7dbe56 100644 --- a/commands/penissize.js +++ b/commands/misc/penissize.js @@ -1,5 +1,5 @@ let seedrandom = require('seedrandom'); -const parseMention = require('../util/parseMention') +const parseMention = require('../../util/parseMention') module.exports = { name: 'penissize', description: 'Get penis size', diff --git a/commands/ping.js b/commands/misc/ping.js similarity index 100% rename from commands/ping.js rename to commands/misc/ping.js diff --git a/commands/prefix.js b/commands/misc/prefix.js similarity index 83% rename from commands/prefix.js rename to commands/misc/prefix.js index 3668cb5..cb46e03 100644 --- a/commands/prefix.js +++ b/commands/misc/prefix.js @@ -1,5 +1,5 @@ -const parseMention = require("../util/parseMention"); -const setServerPrefix = require("../util/setServerPrefix"); +const parseMention = require("../../util/parseMention"); +const setServerPrefix = require("../../util/setServerPrefix"); module.exports = { name: 'prefix', diff --git a/commands/random.js b/commands/misc/random.js similarity index 85% rename from commands/random.js rename to commands/misc/random.js index a2dfdaf..5e788f9 100644 --- a/commands/random.js +++ b/commands/misc/random.js @@ -1,4 +1,4 @@ -const randomNumber = require('../util/randomNumber') +const randomNumber = require('../../util/randomNumber') module.exports = { name: 'random', diff --git a/commands/say.js b/commands/misc/say.js similarity index 100% rename from commands/say.js rename to commands/misc/say.js diff --git a/util/getCommandFiles.js b/util/getCommandFiles.js new file mode 100644 index 0000000..93f1bcc --- /dev/null +++ b/util/getCommandFiles.js @@ -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 +} \ No newline at end of file diff --git a/util/reloadCommands.js b/util/reloadCommands.js index 571a70c..2999bf2 100644 --- a/util/reloadCommands.js +++ b/util/reloadCommands.js @@ -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); } }