Added all rule commands and dog command

This commit is contained in:
plane000
2018-05-21 11:34:33 +01:00
parent 49f966d6d3
commit d662ed6366
5 changed files with 86 additions and 18 deletions

View File

@@ -31,6 +31,7 @@ module.exports.loadCommands = function() {
addCommand('Version', 'version', undefined, 'version', 'returns the version', false, Commands.version);
addCommand('Ping', 'ping', undefined, 'ping', 'returns round trip to discords servers', false, Commands.ping);
addCommand('Cat', 'cat', undefined, 'cat', 'returns a picture of a cat', false, Commands.cat);
addCommand('Dog', 'dog', undefined, 'dog', 'returns a picture of a dog', false, Commands.dog);
//rule commands
addCommand('Rules', 'rules', undefined, 'rules', 'returns all the rules for the server the command was issued on', false, RuleCommands.rules);

View File

@@ -27,8 +27,8 @@ module.exports.ping = async function(message, msg, args, discordclient) {
}
module.exports.cat = async function(message, msg, args, discordclient) {
var input = 'http://thecatapi.com/api/images/get?format=xml&results_per_page=1&api_key=MzA1Njcz';
var result = await Helper.requestPromise(input);
var url = 'http://thecatapi.com/api/images/get?format=xml&results_per_page=1&api_key=MzA1Njcz';
var result = await Helper.requestPromise(url);
var output = result.match(/<url>(.*?)<\/url>/)[1];
var em = new Discord.RichEmbed();
@@ -38,5 +38,16 @@ module.exports.cat = async function(message, msg, args, discordclient) {
}
module.exports.dog = async function(message, msg, args, discordclient) {
var url = 'https://dog.ceo/api/breeds/image/random';
try {
var result = await Helper.requestPromise(url);
var output = JSON.parse(result).message;
} catch (e) {
message.channel.send(`:no_entry_sign: \`Somthing went wrong\``);
return;
}
var em = new Discord.RichEmbed();
em.setColor('BLUE');
em.setImage(output);
message.channel.send(em);
}

View File

@@ -4,7 +4,6 @@ const fs = require('fs');
const Config = require('../config.js');
const Helper = require('../helper.js');
/*message object, messaage full, message args, discord client*/
module.exports.rules = async function(message, msg, args, discordclient) {
@@ -30,8 +29,8 @@ module.exports.rule = async function(message, msg, args, discordclient) {
var serversConfig = Config.getservers();
var Rules = serversConfig[serverID].rules;
var rule = Rules[args[1]];
try {
var rule = Rules[args[1]];
message.channel.send(`Rule ${args[1]}: ${rule}`);
} catch (e) {
message.channel.send(`:no_entry_sign: \`That is not a valid rule\``)
@@ -39,22 +38,78 @@ module.exports.rule = async function(message, msg, args, discordclient) {
}
module.exports.addrule = async function(message, msg, args, discordclient) {
var serverName = message.guild.name;
var serverID = message.guild.id;
var serversConfig = Config.getservers;
message.channel.send(`AddRule`);
var serversConfig = Config.getservers();
var Rules = serversConfig[serverID].rules;
var newRule = args[1] + ' ';
for (var i = 2; i < args.length; i++) {
newRule += args[i] + ' ';
}
try {
Rules.push(newRule);
serversConfig[serverID].rules = Rules;
Config.writeToFile();
} catch (e) {
message.channel.send(`:no_entry_sign: \`Somthing went wrong\``);
return;
}
var em = new Discord.RichEmbed();
em.setColor('BLUE');
em.setTitle('Rule successfully added!');
em.addField(`Rule ${Rules.length - 1}:`, newRule);
message.channel.send(em);
}
module.exports.delrule = async function(message, msg, args, discordclient) {
var serverName = message.guild.name;
var serverID = message.guild.id;
var serversConfig = Config.getservers;
message.channel.send(`DelRule`);
var serversConfig = Config.getservers();
var Rules = serversConfig[serverID].rules;
var toDelete = args[1];
try {
Rules.splice(toDelete, 1);
serversConfig[serverID].rules = Rules;
Config.writeToFile();
} catch (e) {
message.channel.send(`:no_entry_sign: \`That is not a valid rule\``)
return;
}
var em = new Discord.RichEmbed();
em.setColor('BLUE');
em.setTitle('Rule successfully deleted!');
em.addField(`Rule ${toDelete} deleted`, 'All subsiquent rules pushed one space to the left');
message.channel.send(em);
}
module.exports.editrule = async function(message, msg, args, discordclient) {
var serverName = message.guild.name;
var serverID = message.guild.id;
var serversConfig = Config.getservers;
message.channel.send(`EditRule`);
var serversConfig = Config.getservers();
var Rules = serversConfig[serverID].rules;
var newRule = args[2] + ' ';
for (var i = 3; i < args.length; i++) {
newRule += args[i] + ' ';
}
try {
Rules[args[1]] = newRule;
serversConfig[serverID].rules = Rules;
Config.writeToFile();
} catch (e) {
message.channel.send(`:no_entry_sign: \`That is not a valid rule\``)
return;
}
var em = new Discord.RichEmbed();
em.setColor('BLUE');
em.setTitle('Rule successfully edited!');
em.addField(`Rule ${args[1]}:`, newRule);
message.channel.send(em);
}

View File

@@ -22,7 +22,7 @@ module.exports.setservers = function(con) {
module.exports.addServer = function(guild) {
servers[guild.id] = {
name: guild.name,
rules: [],
rules: ["Oh yeah, arrays start at 0"],
adminroles: []
}
}

13
main.js
View File

@@ -88,8 +88,9 @@ client.on('message', async (message) => {
/*if it starts with prefix loaded from config*/
if (message.content.startsWith(Config.getconfig().Prefix)) {
Logger.logMSG(message);
var msg = message.content.toLowerCase().substring(Config.getconfig().Prefix.length).toLowerCase();
var args = msg.toLowerCase().split(" ");
var msg = message.content.toLowerCase().substring(Config.getconfig().Prefix.length);
var args = message.content.substring(Config.getconfig().Prefix.length).split(" ");
args[0] = args[0].toLowerCase();
/*command manager checks if command exists*/
if (CommandManager.commands[args[0]]) {
@@ -103,12 +104,12 @@ client.on('message', async (message) => {
/*on join server event*/
client.on('guildCreate', async (guild) => {
Logger.log(`JefferyBot was invited to the ${guild.name} server!`);
Logger.log(`JefferyBot was invited to the \'${guild.name}\' server!`);
try {
Logger.log(`Setting up the config for ${guild.name}`)
Logger.log(`Setting up the config for \'${guild.name}\'`)
Config.addServer(guild);
Config.writeToFile();
Logger.success(`Set up the config for the ${guild.name} server`)
Logger.success(`Set up the config for the \'${guild.name}\' server`)
} catch (e) {
Logger.failed('Could not set up the server config');
}
@@ -116,7 +117,7 @@ client.on('guildCreate', async (guild) => {
/*on leave server event*/
client.on('guildDelete', async (guild) => {
Logger.log(`JefferyBot left the ${guild.name} server!`)
Logger.log(`JefferyBot left the \'${guild.name}\' server!`)
});
client.on('error', async (error) => {