aboutsummaryrefslogtreecommitdiff
path: root/test.js
diff options
context:
space:
mode:
authorTrey-Server <trey6979@gmail.com>2018-03-10 01:32:41 +0000
committerTrey-Server <trey6979@gmail.com>2018-03-10 01:32:41 +0000
commit897ec0b5b50ddeafd09602c7424c5e2aa377241f (patch)
tree8e870772ae6e9632e1c93402d38f3b75daeb5cee /test.js
parent435dc9902a732c0cb3d3367359910670fc65f9f2 (diff)
parente214e6e6f17294acc88e80d57cd90a878e71c5e6 (diff)
downloadPokeBot-897ec0b5b50ddeafd09602c7424c5e2aa377241f.tar.gz
PokeBot-897ec0b5b50ddeafd09602c7424c5e2aa377241f.tar.bz2
PokeBot-897ec0b5b50ddeafd09602c7424c5e2aa377241f.zip
Merge branch 'master' of https://github.com/PokeWorld/PokeBot
Diffstat (limited to 'test.js')
-rw-r--r--test.js72
1 files changed, 72 insertions, 0 deletions
diff --git a/test.js b/test.js
new file mode 100644
index 0000000..69b8e71
--- /dev/null
+++ b/test.js
@@ -0,0 +1,72 @@
+const Discord = require('discord.js');
+const bot = new Discord.Client();
+const fs = require('fs');
+
+bot.commands = new Discord.Collection();
+bot.aliases = new Discord.Collection();
+bot.categories = new Discord.Collection();
+bot.queue = new Discord.Collection();
+bot.plugins = { music : require('./Plugins/Music.js') };
+cmdLoader();
+
+async function cmdLoader() {
+ const categories = await fs.readdirSync('./commands');
+ console.log(`Loading ${categories.length} categories(s) into memory\n`);
+ categories.forEach(x => {
+ loadGroup(x);
+ });
+}
+async function loadGroup(name) {
+ const files = await fs.readdirSync(`./commands/${name}`);
+
+ console.log(`Loading the category '${name}' into memory with a total of ${files.length} command(s)`);
+
+ bot.commands.set(name, new Map());
+ bot.aliases.set(name, new Map());
+
+ const commands = [];
+ files.forEach(x => {
+ loadCmd(name, x);
+ commands.push(x.split('.')[0]);
+ });
+
+ bot.categories.set(name, commands);
+ console.log(`The category ${name} has been loaded.\n`);
+}
+
+async function loadCmd(category, cmd) {
+ try {
+ console.log(`Loading the Command ${cmd.split('.')[0]}`);
+ const command = require(`./commands/${category}/${cmd}`);
+ bot.commands.get(category).set(command.help.name, command);
+ command.conf.aliases.forEach(alias => {
+ console.log(`Loading the alias ${alias} for the command ${command.help.name}`);
+ bot.aliases.get(category).set(alias, command.help.name);
+ });
+ }
+ catch (err) {
+ console.log(`An error has occured trying to load the command '${cmd.split('.')[0]}'`);
+ console.log(err.stack);
+ }
+}
+
+
+fs.readdir('./events', (err, files) => {
+ if (err) console.error(err);
+ console.log(`Attempting to load a total of ${files.length} events into the memory.`);
+ files.forEach(file => {
+ try {
+ const eventName = file.split('.')[0];
+ const event = require(`./events/${file}`);
+ console.log(`Attempting to load the event "${eventName}".`);
+ bot.on(eventName, event.bind(null, bot));
+ delete require.cache[require.resolve(`./events/${file}`)];
+ }
+ catch (err) {
+ console.log('An error has occured trying to load a event. Here is the error.');
+ console.log(err.stack);
+ }
+ });
+ console.log('Event Loading complete!');
+ console.log('\n');
+});