From d9812248364eafe698685bdc583f3f69c00e5660 Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 27 Oct 2017 09:11:04 -0400 Subject: Added modular to AleeBot (but guildMemberAdd is broken) --- src/bot.js | 41 +++++++++++++++++++++++++++++------------ src/commands/ping.js | 0 src/events/guildMemberAdd.js | 3 +++ src/events/ready.js | 11 +++++++++++ 4 files changed, 43 insertions(+), 12 deletions(-) create mode 100644 src/commands/ping.js create mode 100644 src/events/guildMemberAdd.js create mode 100644 src/events/ready.js (limited to 'src') diff --git a/src/bot.js b/src/bot.js index a3226d4..c8adba9 100644 --- a/src/bot.js +++ b/src/bot.js @@ -1,16 +1,28 @@ /********************************************* * - * AleeBot for Discord servers - * Copyright (C) 2017 AleeCorp - * License: MIT + * AleeBot for Discord servers + * Copyright (C) 2017 AleeCorp + * License: MIT * **********************************************/ const Discord = require('discord.js'); const client = new Discord.Client(); const abVersion = "2.0.0 Beta"; const prefix = "abb:" +const fs = require("fs"); const config = require('./absettings.json'); +fs.readdir("./events/", (err, files) => { + if (err) return console.error(err); + files.forEach(file => { + let eventFunction = require(`./events/${file}`); + let eventName = file.split(".")[0]; + // super-secret recipe to call events with all their proper arguments *after* the `client` var. + client.on(eventName, (...args) => eventFunction.run(client,abVersion, ...args)); + }); +}); + +/* client.on('ready', () => { console.log("[>] AleeBot is now ready!") console.log("[i] Running version " + abVersion + ` and in ${client.guilds.size} guilds`) @@ -21,7 +33,7 @@ client.on('ready', () => { } }); client.user.setStatus('online') -}); +}); */ client.on("guildCreate", guild => { @@ -50,10 +62,10 @@ client.on("guildDelete", guild => { }); - +/* client.on('guildMemberAdd', member => { member.guild.channels.find("name", "welcomes-and-byes").sendMessage(member.toString() + " has joined the server"); -}); +}); */ client.on('guildMemberRemove', member => { member.guild.channels.find("name", "welcomes-and-byes").sendMessage(`**${member.user.username}** has left the server`); @@ -65,11 +77,16 @@ client.on("message", function(message) { if (message.channel.type === "dm") return; if (message.content.indexOf(config.prefix) !== 0) return; - let command = message.content.split(" ")[0]; - command = command.slice(prefix.length); - - let args = message.content.split(" ").slice(1); - + const args = message.content.slice(config.prefix.length).trim().split(/ +/g); + const command = args.shift().toLowerCase(); + + try { + let commandFile = require(`./commands/${command}.js`); + commandFile.run(client, message, args); + } catch (err) { + message.reply(`The command ${command} is invalid buddy try to do ab:help`); + } + /* if (command === 'help') { var embed = new Discord.RichEmbed() .setAuthor('AleeBot ' + abVersion + ' Commands', "https://cdn.discordapp.com/avatars/282547024547545109/6c147a444ae328c38145ef1f74169e38.png?size=2048") @@ -96,7 +113,7 @@ client.on("message", function(message) { var uptimeSeconds = minutes % 60; message.channel.send(":clock3: AleeBot has been up for " + hours + " hours, " + uptimeMinutes + " minutes, and " + uptimeSeconds + " seconds.") } - + */ }); client.login(config.abtoken).catch(function() { console.log("[X] Login failed. Please contact Alee14#9928 or email him at alee14498@gmail.com."); diff --git a/src/commands/ping.js b/src/commands/ping.js new file mode 100644 index 0000000..e69de29 diff --git a/src/events/guildMemberAdd.js b/src/events/guildMemberAdd.js new file mode 100644 index 0000000..2fb5cf0 --- /dev/null +++ b/src/events/guildMemberAdd.js @@ -0,0 +1,3 @@ +exports.run = (client, member) => { + member.guild.channels.find("name", "welcomes-and-byes").sendMessage(member.toString() + " has joined the server"); +} \ No newline at end of file diff --git a/src/events/ready.js b/src/events/ready.js new file mode 100644 index 0000000..52d28ec --- /dev/null +++ b/src/events/ready.js @@ -0,0 +1,11 @@ +exports.run = (client, abVersion) => { + console.log("[>] AleeBot is now ready!") + console.log("[i] Running version " + abVersion + ` and in ${client.guilds.size} guilds`) + client.user.setPresence({ + game: { + name: `ab:help | ${client.guilds.size} servers`, + type: 0 + } + }); + client.user.setStatus('online') +} \ No newline at end of file -- cgit v1.2.3