From 3c0a57a64b799288baa46e23e692ecc323a7c302 Mon Sep 17 00:00:00 2001 From: plane000 Date: Sun, 20 May 2018 19:05:27 +0100 Subject: [PATCH] Changed arround some stuff --- commandmanager.js | 18 +++++++++++++----- commands/commands.js | 2 +- commands/rulecommands.js | 41 ++++++++++++++++++++++++++++++++++++++++ config.js | 22 +++++++++++---------- helper.js | 0 logger.js | 25 +++++++++++++++++++++--- main.js | 38 +++++++++++++++++++++++-------------- 7 files changed, 113 insertions(+), 33 deletions(-) create mode 100644 commands/rulecommands.js create mode 100644 helper.js diff --git a/commandmanager.js b/commandmanager.js index f9ddffb..ca42dac 100644 --- a/commandmanager.js +++ b/commandmanager.js @@ -1,6 +1,7 @@ const Logger = require('./logger'); const Config = require('./config'); const Commands = require('./commands/commands') +const RuleCommands = require('./commands/rulecommands') const CommandManager = require('./main'); const http = require('http'); const ping = require('ping'); @@ -12,7 +13,7 @@ var commands = {}; module.exports.commands = commands; function addCommand(name, command, alt, usage, desc, requrePerms, functionReference) { - commands[name] = { + commands[command] = { name: name, command: command, alt: alt, @@ -26,8 +27,15 @@ function addCommand(name, command, alt, usage, desc, requrePerms, functionRefere /*command name, command, alt, usage, description, require permission, reference*/ module.exports.loadCommands = function() { //general commands - addCommand('say', 'say', undefined, 'say [input]', 'repeats the input', false, Commands.say); - addCommand('version', 'version', undefined, 'version', 'returns the version', false, Commands.version); - addCommand('ping', 'ping', undefined, 'ping', 'returns round trip to discords serves', false, Commands.ping); - //continue + addCommand('Say', 'say', undefined, 'say [input]', 'repeats the input', false, Commands.say); + 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); + + //rule commands + addCommand('Rules', 'rules', undefined, 'rules', 'returns all the rules for the server the command was issued on', false, RuleCommands.rules); + addCommand('Rule', 'rule', undefined, 'rule [rule number]', 'returns corresponding rule for the server the command was issued on', false, RuleCommands.rule); + addCommand('AddRule', 'addrule', undefined, 'addrule [new rule]', 'adds a rule to the rule list for the server the command was issued on', true, RuleCommands.addrule); + addCommand('DelRule', 'delrule', undefined, 'delrule [rule number]', 'deletes the corresponding rule for the server the command was issued on', true, RuleCommands.delrule); + addCommand('EditRule', 'editrule', undefined, 'editrule [rune number] [new rule]', 'edits the corresponding rule for the server the command was issued on', true, RuleCommands.editrule); + } diff --git a/commands/commands.js b/commands/commands.js index 287f85b..ee7e5f7 100644 --- a/commands/commands.js +++ b/commands/commands.js @@ -6,7 +6,7 @@ const Config = require('../config'); /*message object, messaage full, message args, discord client*/ module.exports.say = function(message, msg, args, discordclient) { - message.channel.send(msg); + message.channel.send(msg.slice(4, msg.length)); } module.exports.version = function(message, msg, args, discordclient) { diff --git a/commands/rulecommands.js b/commands/rulecommands.js new file mode 100644 index 0000000..f4efc20 --- /dev/null +++ b/commands/rulecommands.js @@ -0,0 +1,41 @@ +const Discord = require('discord.js'); +const ping = require('ping'); +const fs = require('fs'); +const Config = require('../config'); + +/*message object, messaage full, message args, discord client*/ + +module.exports.rules = function(message, msg, args, discordclient) { + var serverID = message.guild.id; + var serversConfig = Config.getservers; + message.channel.send(`Rules`); + +} + +module.exports.rule = function(message, msg, args, discordclient) { + var serverID = message.guild.id; + var serversConfig = Config.getservers; + message.channel.send(`Rule`); + +} + +module.exports.addrule = function(message, msg, args, discordclient) { + var serverID = message.guild.id; + var serversConfig = Config.getservers; + message.channel.send(`AddRule`); + +} + +module.exports.delrule = function(message, msg, args, discordclient) { + var serverID = message.guild.id; + var serversConfig = Config.getservers; + message.channel.send(`DelRule`); + +} + +module.exports.editrule = function(message, msg, args, discordclient) { + var serverID = message.guild.id; + var serversConfig = Config.getservers; + message.channel.send(`EditRule`); + +} diff --git a/config.js b/config.js index bbb29d3..3be8e9c 100644 --- a/config.js +++ b/config.js @@ -22,30 +22,32 @@ module.exports.setservers = function(con) { module.exports.addServer = function(guild) { servers[guild.id] = { name: guild.name, - rules: [] + rules: [], + adminroles: [] } } module.exports.loadDefaults = function() { config = { - Token: "DISCORD_TOKEN", - NowPlaying: "RealLife.exe", - Prefix: "+", - Version: "2.0.1", + Token: 'DISCORD_TOKEN', + NowPlaying: 'RealLife.exe', + Prefix: '+', + Version: '2.0.1', }; servers['SERVER ID'] = { name: 'SERVER NAME', - rules: ['RULE 0', 'RULE 1'] + rules: ['RULE 0', 'RULE 1'], + adminroles: ['123456789101112', '123456789101112'] } }; module.exports.loadFromFile = function() { - config = JSON.parse(fs.readFileSync("resources/config.json")); - servers = JSON.parse(fs.readFileSync("resources/servers.json")); + config = JSON.parse(fs.readFileSync('resources/config.json')); + servers = JSON.parse(fs.readFileSync('resources/servers.json')); } module.exports.writeToFile = function() { - fs.writeFileSync("resources/config.json", JSON.stringify(config, null, 4)); - fs.writeFileSync("resources/servers.json", JSON.stringify(servers, null, 4)); + fs.writeFileSync('resources/config.json', JSON.stringify(config, null, 4)); + fs.writeFileSync('resources/servers.json', JSON.stringify(servers, null, 4)); } diff --git a/helper.js b/helper.js new file mode 100644 index 0000000..e69de29 diff --git a/logger.js b/logger.js index 7afa82b..f5a4308 100644 --- a/logger.js +++ b/logger.js @@ -1,6 +1,7 @@ const colors = require('colors'); colors.setTheme({ + brace: 'white', input: 'grey', prompt: 'cyan', info: 'green', @@ -44,7 +45,9 @@ module.exports.success = function(msg) { console.log( '[' + time + '] ' + msg - + ' [SUCCESS]'.info + + ' ['.brace + + 'SUCCESS' .info + + ']'.brace ); } @@ -53,7 +56,20 @@ module.exports.failed = function(msg) { console.log( '[' + time + '] ' + msg - + ' [WARN]'.warn + + ' ['.brace + + 'FAILED' .error + + ']'.brace + ); +} + +module.exports.warn = function(msg) { + var time = getTime(); + console.log( + '[' + time + '] ' + + msg + + ' ['.brace + + 'WARN' .warn + + ']'.brace ); } @@ -68,6 +84,9 @@ module.exports.welcome = function() { __/ | |___/ `.rainbow); + console.log('Invite JefferyBot to your server! ' + + 'https://discordapp.com/api/oauth2/authorize?client_id=423592273151000576&permissions=506981494&scope=bot' .debug); + console.log(); } function pad(n, width, z) { @@ -78,6 +97,6 @@ function pad(n, width, z) { function getTime() { var t = new Date(); - var time = (pad(t.getHours(), 2) + ":" + pad(t.getMinutes(), 2) + ":" + pad(t.getSeconds(), 2)) + var time = (pad(t.getHours(), 2) + ':' + pad(t.getMinutes(), 2) + ':' + pad(t.getSeconds(), 2)) return time; } diff --git a/main.js b/main.js index a21c8fb..0b33925 100644 --- a/main.js +++ b/main.js @@ -11,6 +11,7 @@ const Discord = require('discord.js'); const client = new Discord.Client(); Logger.welcome(); + /*checks if config exists*/ if (!fs.existsSync('resources/config.json') || !fs.existsSync('resources/servers.json')) { Logger.log('Creating the config...'); @@ -23,7 +24,7 @@ if (!fs.existsSync('resources/config.json') || !fs.existsSync('resources/servers Config.writeToFile(); } catch (e) { - Logger.failed(`Could not create the config: ${e.message}`); + Logger.warn(`Could not create the config: ${e.message}`); } } /*loads config*/ @@ -33,32 +34,41 @@ try { Logger.success('Congig loaded'); } catch (e) { - Logger.failed(`Could not load the config: ${e.message}`); + Logger.warn(`Could not load the config: ${e.message}`); } /*loads the commands*/ try { - Logger.log("Loading commands..."); + Logger.log('Loading commands...'); CommandManager.loadCommands(); Logger.success('Commands loaded'); } catch (e) { - Logger.log(`Could not load the commands: ${e.message}`); + Logger.warn;(`Could not load the commands: ${e.message}`); } /*connects to discord*/ try { - Logger.log("Starting discord client..."); + Logger.log('Starting discord client...'); client.login(Config.getconfig().Token); } catch (e) { Logger.failed(`Could not connect to discord: ${e.message}`) } -/*adds all servers not in config to config*/ -client.guilds.array().forEach((g) => { - Config.addServer(g); - Config.writeToFile(); -}); + /*once connected*/ client.on('ready', () => { try { Logger.success('Connected to discords API'); + + + /*adds all servers not in config to config*/ + Logger.log('Setting up the server spesific commands...') + client.guilds.array().forEach((g) => { + if (!Config.getservers()[g.id]) { + Config.addServer(g); + } + }); + Config.writeToFile(); + Logger.success('Server commands set up'); + + Logger.log('Logging in...') client.user.setPresence('online'); client.user.setActivity(Config.getconfig().NowPlaying); @@ -66,7 +76,7 @@ client.on('ready', () => { Logger.log('Ready!'); console.log(); } catch (e) { - Logger.failed('Somthing went wrong with discords API') + Logger.failed(`Somthing went wrong with discords API: ${e.message}`) } }); @@ -77,8 +87,8 @@ 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.substring(Config.getconfig().Prefix.length); - var args = msg.split(" "); + var msg = message.content.toLowerCase().substring(Config.getconfig().Prefix.length).toLowerCase(); + var args = msg.toLowerCase().split(" "); /*command manager checks if command exists*/ if (CommandManager.commands[args[0]]) { @@ -109,5 +119,5 @@ client.on('guildDelete', async (guild) => { }); client.on('error', async (error) => { - Logger.warn(error); + Logger.warn('Somthing went wrong'); })