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

View file

@ -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)

View file

@ -1,4 +1,4 @@
const setPresence = require("../util/setPresence");
const setPresence = require("../../util/setPresence");
module.exports = {
name: 'setpresence',

View file

@ -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',

View file

@ -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');

View file

@ -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;

View file

@ -1,4 +1,4 @@
const parseMention = require("../util/parseMention.js")
const parseMention = require("../../util/parseMention.js")
module.exports = {
name: 'pfp',

View file

@ -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',

View file

@ -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 = {
"<prefix>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,"[]")
}

View file

@ -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;

View file

@ -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',

View file

@ -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',

View file

@ -1,4 +1,4 @@
const randomNumber = require('../util/randomNumber')
const randomNumber = require('../../util/randomNumber')
module.exports = {
name: 'random',

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);
}
}