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:
parent
8993eeaf7a
commit
e7cdd425d1
21 changed files with 55 additions and 35 deletions
|
@ -1,5 +1,5 @@
|
||||||
const calculateReloaded = require("../util/calculateReloaded.js");
|
const calculateReloaded = require("../../util/calculateReloaded.js");
|
||||||
const reloadNetModules = require("../util/reloadNetModules.js");
|
const reloadNetModules = require("../../util/reloadNetModules.js");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'reload',
|
name: 'reload',
|
||||||
|
@ -7,7 +7,7 @@ module.exports = {
|
||||||
admin: true,
|
admin: true,
|
||||||
execute({message, client}) {
|
execute({message, client}) {
|
||||||
|
|
||||||
let reloadCommands = require("../util/reloadCommands.js")
|
let reloadCommands = require("../../util/reloadCommands.js")
|
||||||
let beforeSize = client.commands.size;
|
let beforeSize = client.commands.size;
|
||||||
reloadNetModules(client)
|
reloadNetModules(client)
|
||||||
reloadCommands(client)
|
reloadCommands(client)
|
|
@ -1,4 +1,4 @@
|
||||||
const setPresence = require("../util/setPresence");
|
const setPresence = require("../../util/setPresence");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'setpresence',
|
name: 'setpresence',
|
|
@ -1,5 +1,5 @@
|
||||||
const calculateReloaded = require("../util/calculateReloaded");
|
const calculateReloaded = require("../../util/calculateReloaded");
|
||||||
const reloadCommands = require("../util/reloadCommands");
|
const reloadCommands = require("../../util/reloadCommands");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'update',
|
name: 'update',
|
|
@ -1,6 +1,6 @@
|
||||||
const Discord = require('discord.js');
|
const Discord = require('discord.js');
|
||||||
const getCreationDate = require('../util/getCreationDate');
|
const getCreationDate = require('../../util/getCreationDate');
|
||||||
const getGuildCount = require('../util/getGuildCount');
|
const getGuildCount = require('../../util/getGuildCount');
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
const Discord = require('discord.js');
|
const Discord = require('discord.js');
|
||||||
|
const getCommandFiles = require('../../util/getCommandFiles');
|
||||||
|
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
|
@ -12,10 +13,10 @@ module.exports = {
|
||||||
],
|
],
|
||||||
execute({ message, args, prefix, client }) {
|
execute({ message, args, prefix, client }) {
|
||||||
let commands = ""
|
let commands = ""
|
||||||
let commandFiles = fs.readdirSync('./commands').filter(file => file.endsWith('.js'));
|
let commandFiles = getCommandFiles('../../commands')
|
||||||
let x = 0
|
let x = 0
|
||||||
if (args[0] == "netmodules") {
|
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) {
|
if (commandFiles.length == 0) {
|
||||||
message.channel.send("There are no netmodules currently loaded.")
|
message.channel.send("There are no netmodules currently loaded.")
|
||||||
x = 1;
|
x = 1;
|
||||||
|
@ -48,9 +49,9 @@ module.exports = {
|
||||||
command.moreHelp.forEach(element => {
|
command.moreHelp.forEach(element => {
|
||||||
commands = commands + `${element}\n`
|
commands = commands + `${element}\n`
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
noHelp = 1;
|
noHelp = 1;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
const parseMention = require("../util/parseMention.js")
|
const parseMention = require("../../util/parseMention.js")
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'pfp',
|
name: 'pfp',
|
|
@ -1,9 +1,9 @@
|
||||||
const Discord = require('discord.js');
|
const Discord = require('discord.js');
|
||||||
const getCreationDate = require('../util/getCreationDate.js');
|
const getCreationDate = require('../../util/getCreationDate.js');
|
||||||
const getJoinDate = require('../util/getJoinDate.js');
|
const getJoinDate = require('../../util/getJoinDate.js');
|
||||||
const getNickname = require('../util/getNickname.js');
|
const getNickname = require('../../util/getNickname.js');
|
||||||
const morePresence = require('../util/morePresence.js');
|
const morePresence = require('../../util/morePresence.js');
|
||||||
const parseMention = require("../util/parseMention.js")
|
const parseMention = require("../../util/parseMention.js")
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'userinfo',
|
name: 'userinfo',
|
|
@ -1,10 +1,10 @@
|
||||||
const addCustomCommand = require("../util/addCustomCommand");
|
const addCustomCommand = require("../../util/addCustomCommand");
|
||||||
const deleteCustomCommand = require("../util/deleteCustomCommand");
|
const deleteCustomCommand = require("../../util/deleteCustomCommand");
|
||||||
const getAllCustomCommands = require("../util/getAllCustomCommands");
|
const getAllCustomCommands = require("../../util/getAllCustomCommands");
|
||||||
const getOwnerOfCustomCommand = require("../util/getOwnerOfCustomCommand");
|
const getOwnerOfCustomCommand = require("../../util/getOwnerOfCustomCommand");
|
||||||
const Discord = require('discord.js');
|
const Discord = require('discord.js');
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
const editCustomCommand = require("../util/editCustomCommand");
|
const editCustomCommand = require("../../util/editCustomCommand");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'custom',
|
name: 'custom',
|
||||||
|
@ -18,7 +18,7 @@ module.exports = {
|
||||||
"<prefix>custom variables - list all variables you can use"
|
"<prefix>custom variables - list all variables you can use"
|
||||||
],
|
],
|
||||||
execute({message, args, client, prefix, owners}) {
|
execute({message, args, client, prefix, owners}) {
|
||||||
const customPath = './data/customCommands.json';
|
const customPath = '../../data/customCommands.json';
|
||||||
if(!fs.existsSync(customPath)){
|
if(!fs.existsSync(customPath)){
|
||||||
fs.writeFileSync(customPath,"[]")
|
fs.writeFileSync(customPath,"[]")
|
||||||
}
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
const https = require('https');
|
const https = require('https');
|
||||||
const fs = require('fs')
|
const fs = require('fs')
|
||||||
const netloadDir = "./netload"
|
const netloadDir = "../../netload"
|
||||||
const validUrl = require('valid-url');
|
const validUrl = require('valid-url');
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
|
@ -14,7 +14,7 @@ module.exports = {
|
||||||
"The bot operator also has to have this enabled in the config."
|
"The bot operator also has to have this enabled in the config."
|
||||||
],
|
],
|
||||||
execute({ message, args, prefix, client, owners }) {
|
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)
|
let whitelist = JSON.parse(json)
|
||||||
if (json.indexOf(message.author.id.toString()) == -1) {
|
if (json.indexOf(message.author.id.toString()) == -1) {
|
||||||
message.channel.send("You do not have permissions to use this command.");
|
message.channel.send("You do not have permissions to use this command.");
|
||||||
|
@ -31,7 +31,7 @@ module.exports = {
|
||||||
|
|
||||||
} if (args[0] == "example") {
|
} if (args[0] == "example") {
|
||||||
|
|
||||||
let example = fs.readFileSync("./commands/.example")
|
let example = fs.readFileSync("../.example")
|
||||||
|
|
||||||
message.channel.send(`\`\`\`js\n${example}\n\`\`\``)
|
message.channel.send(`\`\`\`js\n${example}\n\`\`\``)
|
||||||
return;
|
return;
|
|
@ -1,5 +1,5 @@
|
||||||
let seedrandom = require('seedrandom');
|
let seedrandom = require('seedrandom');
|
||||||
const parseMention = require('../util/parseMention')
|
const parseMention = require('../../util/parseMention')
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'penissize',
|
name: 'penissize',
|
||||||
description: 'Get penis size',
|
description: 'Get penis size',
|
|
@ -1,5 +1,5 @@
|
||||||
const parseMention = require("../util/parseMention");
|
const parseMention = require("../../util/parseMention");
|
||||||
const setServerPrefix = require("../util/setServerPrefix");
|
const setServerPrefix = require("../../util/setServerPrefix");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'prefix',
|
name: 'prefix',
|
|
@ -1,4 +1,4 @@
|
||||||
const randomNumber = require('../util/randomNumber')
|
const randomNumber = require('../../util/randomNumber')
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'random',
|
name: 'random',
|
16
util/getCommandFiles.js
Normal file
16
util/getCommandFiles.js
Normal 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
|
||||||
|
}
|
|
@ -1,11 +1,14 @@
|
||||||
const fs = require('fs')
|
const fs = require('fs');
|
||||||
|
const getCommandFiles = require('./getCommandFiles');
|
||||||
const commandPath = 'commands/'
|
const commandPath = 'commands/'
|
||||||
const utilPath = 'util/'
|
const utilPath = 'util/'
|
||||||
|
|
||||||
|
|
||||||
module.exports = function (client) {
|
module.exports = function (client) {
|
||||||
let utilFiles = fs.readdirSync(utilPath).filter(file => file.endsWith('.js'));
|
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) {
|
if (client.commands.size != 0) {
|
||||||
for (const i of commandFiles) {
|
for (const i of commandFiles) {
|
||||||
delete require.cache[require.resolve(`../${commandPath}${i}`)];
|
delete require.cache[require.resolve(`../${commandPath}${i}`)];
|
||||||
|
@ -16,7 +19,7 @@ module.exports = function (client) {
|
||||||
}
|
}
|
||||||
client.commands.clear()
|
client.commands.clear()
|
||||||
for (const file of commandFiles) {
|
for (const file of commandFiles) {
|
||||||
const command = require(`../${commandPath}${file}`);
|
const command = require(`../${file}`);
|
||||||
client.commands.set(command.name, command);
|
client.commands.set(command.name, command);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue