diff options
Diffstat (limited to 'aleebot.js')
| -rw-r--r-- | aleebot.js | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/aleebot.js b/aleebot.js new file mode 100644 index 0000000..8030c64 --- /dev/null +++ b/aleebot.js @@ -0,0 +1,121 @@ +/**************************************** + * + * AleeBot for AleeArmy Community and other servers + * Copyright (C) 2017 AleeCorp + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + * + **************************************/ +const Discord = require('discord.js'); +const moment = require('moment'); +const blessed = require('blessed'); +const fs = require('fs'); +const client = new Discord.Client(); +const config = require('./absettings.json'); +const abversion = "1.1.1"; +const log = message => { + + console.log(`[${moment().format('YYYY-MM-DD HH:mm:ss')}] ${message}`); + +}; + + + +client.commands = new Discord.Collection(); + +client.aliases = new Discord.Collection(); +fs.readdir('./commands/', (err, files) => { + if (err) console.error(err); + log(`Loading a total of ${files.length} commands.`); + files.forEach(f => { + let props = require(`./commands/${f}`); + log(`Loading Command: ${props.help.name}. Done!`); + client.commands.set(props.help.name, props); + props.conf.aliases.forEach(alias => { + client.aliases.set(alias, props.help.name); + }); + }); +}); + + +client.on('ready', () => { + log(`[>] AleeBot is now ready! Running version ${abversion} in ${client.guilds.size} guilds`); + client.user.setPresence({ + + + game: { + name: 'AleeBot 1.1.1 | ab:help', + type: 0 + } + }); + + + client.user.setStatus('online') +}); + + +client.on("guildCreate", guild => { + + // This event triggers when the bot joins a guild. + + log(`New guild joined: ${guild.name} (id: ${guild.id}). This guild has ${guild.memberCount} members!`); + + + guild.defaultChannel.sendMessage(":wave: Hello I am AleeBot thanks for inviting me to your server for help type `" + config.prefix + "help`.") + +}); + + + +client.on("guildDelete", guild => { + + // this event triggers when the bot is removed from a guild. + + log(`I have been removed from: ${guild.name} (id: ${guild.id})`); + + +}); + + +client.on("message", function(message) { + if (message.author.bot) return; + if (message.channel.type === "dm") return; + if (message.content.indexOf(config.prefix) !== 0) return; + + 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, config, abversion); + } catch (err) { + log(err); + } + + +}); + +process.on('unhandledRejection', function(err, p) { + log("[X | UNCAUGHT PROMISE] " + err.stack); +}); + +client.login(config.abtoken).catch(function() { + log("[X] Login failed. Please contact Alee14#9928 or email him at alee14498@gmail.com."); +}); |
