forked from embee/woomy
commit
0e514bc5b2
3 changed files with 117 additions and 5 deletions
76
index.js
76
index.js
|
@ -6,11 +6,40 @@ const chalk = require('chalk');
|
|||
const DBL = require("dblapi.js");
|
||||
const client = new Discord.Client();
|
||||
|
||||
try {
|
||||
client.config = require('./config');
|
||||
} catch (err) {
|
||||
console.log('Could not load config.js. \n', err);
|
||||
process.exit();
|
||||
}
|
||||
|
||||
try{
|
||||
client.version = require('./version.json');
|
||||
} catch (err) {
|
||||
console.log('Could not load version.json. \n', err);
|
||||
process.exit();
|
||||
}
|
||||
|
||||
try{
|
||||
client.logger = require('./src/modules/Logger');
|
||||
} catch (err) {
|
||||
console.log('Could not load Logger.js. \n', err);
|
||||
process.exit();
|
||||
}
|
||||
|
||||
try{
|
||||
require("./src/modules/functions")(client);
|
||||
} catch (err) {
|
||||
console.log('Could not load functions.js. \n', err);
|
||||
process.exit();
|
||||
}
|
||||
|
||||
try{
|
||||
client.logger.setClient(client);
|
||||
} catch (err) {
|
||||
console.log('Logger failed to initialize. \n', err);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
if(process.env['USER'] != 'container') {
|
||||
client.devmode = true;
|
||||
|
@ -19,11 +48,35 @@ if(process.env['USER'] != 'container') {
|
|||
const dblapi = new DBL(client.config.dblkey, client);
|
||||
}
|
||||
|
||||
try{
|
||||
client.commands = new Enmap();
|
||||
client.aliases = new Enmap();
|
||||
client.settings = new Enmap({name: 'settings'});
|
||||
client.blacklist = new Enmap({name: 'blacklist'});
|
||||
} catch (err) {
|
||||
console.log('Failed to create the commands map. \n', err);
|
||||
process.exit();
|
||||
}
|
||||
|
||||
try{
|
||||
client.aliases = new Enmap();
|
||||
} catch (err) {
|
||||
console.log('Failed to create the aliases map. \n', err);
|
||||
process.exit();
|
||||
}
|
||||
|
||||
try{
|
||||
client.settings = new Enmap({name: 'settings'});
|
||||
} catch (err) {
|
||||
console.log('Failed to initialize the settings database. \n', err);
|
||||
process.exit();
|
||||
}
|
||||
|
||||
try{
|
||||
client.blacklist = new Enmap({name: 'blacklist'});
|
||||
} catch (err) {
|
||||
console.log('Failed to initialize the blacklist database. \n', err);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
try{
|
||||
const init = async () => {
|
||||
const cmdFiles = await readdir("./src/commands/");
|
||||
client.logger.info(`Loading ${cmdFiles.length} commands.`);
|
||||
|
@ -48,17 +101,30 @@ const init = async () => {
|
|||
client.on(eventName, event.bind(null, client));
|
||||
});
|
||||
|
||||
try{
|
||||
client.levelCache = {};
|
||||
for (let i = 0; i < client.config.permLevels.length; i++) {
|
||||
const thisLevel = client.config.permLevels[i];
|
||||
client.levelCache[thisLevel.name] = thisLevel.level;
|
||||
};
|
||||
} catch (err) {
|
||||
console.log('Level cache failed to initialize. \n', err);
|
||||
process.exit();
|
||||
}
|
||||
|
||||
try{
|
||||
if(client.devmode === true) {
|
||||
client.login(client.config.devtoken);
|
||||
} else {
|
||||
client.login(client.config.token);
|
||||
};
|
||||
} catch (err) {
|
||||
console.log('Unable to login to Discord. \n', err);
|
||||
process.exit(1);
|
||||
}
|
||||
};
|
||||
|
||||
init();
|
||||
init();
|
||||
} catch (err) {
|
||||
console.log('Initialization failed. \n', err);
|
||||
process.exit(1);
|
||||
}
|
||||
|
|
23
src/commands/catfact.js
Normal file
23
src/commands/catfact.js
Normal file
|
@ -0,0 +1,23 @@
|
|||
const request = require("request");
|
||||
|
||||
exports.run = async (bot, message, args) => {
|
||||
request({ uri: "https://catfact.ninja/facts", json: true }, (error, response, body) => {
|
||||
if (error) throw new Error(error);
|
||||
message.channel.send(`**Did you know?**\n ${body.facts[0]}`);
|
||||
});
|
||||
};
|
||||
|
||||
exports.conf = {
|
||||
enabled: true,
|
||||
guildOnly: false,
|
||||
aliases: ["kittenfact"],
|
||||
permLevel: "User",
|
||||
requiredPerms: []
|
||||
};
|
||||
|
||||
exports.help = {
|
||||
name: "catfact",
|
||||
category: "User",
|
||||
description: "Sends a fun fact about a cat.",
|
||||
usage: "catfact/kittenfact"
|
||||
};
|
23
src/commands/dogfact.js
Normal file
23
src/commands/dogfact.js
Normal file
|
@ -0,0 +1,23 @@
|
|||
const request = require("request");
|
||||
|
||||
exports.run = async (bot, message, args) => {
|
||||
request({ uri: "https://dog-api.kinduff.com/api/facts", json: true }, (error, response, body) => {
|
||||
if (error) throw new Error(error);
|
||||
message.channel.send(`**Did you know?**\n ${body.facts[0]}`);
|
||||
});
|
||||
};
|
||||
|
||||
exports.conf = {
|
||||
enabled: true,
|
||||
guildOnly: false,
|
||||
aliases: ["pupfact"],
|
||||
permLevel: "User",
|
||||
requiredPerms: []
|
||||
};
|
||||
|
||||
exports.help = {
|
||||
name: "dogfact",
|
||||
category: "User",
|
||||
description: "Sends a fun fact about a doggo.",
|
||||
usage: "dogfact/pupfact"
|
||||
};
|
Loading…
Reference in a new issue