aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Lee <alee14498@protonmail.com>2020-05-22 20:36:26 -0400
committerAndrew Lee <alee14498@protonmail.com>2020-05-22 20:36:26 -0400
commitfc76d7c73ae9ffec6be86fc7d9d9e8c9a14605ab (patch)
tree0f4930fd8655e550c974bc404b93149cf7eab4ac
parentbbb982243b6564e526fb581f55946704cdf256a3 (diff)
downloadAleeBot-fc76d7c73ae9ffec6be86fc7d9d9e8c9a14605ab.tar.gz
AleeBot-fc76d7c73ae9ffec6be86fc7d9d9e8c9a14605ab.tar.bz2
AleeBot-fc76d7c73ae9ffec6be86fc7d9d9e8c9a14605ab.zip
Added more ALP exclusive logs & cleaning up code
-rw-r--r--To be worked on/leave.js39
-rw-r--r--To be worked on/play.js159
-rw-r--r--To be worked on/queue.js48
-rw-r--r--To be worked on/skip.js60
-rw-r--r--bot_discord.js790
-rw-r--r--commands/addquote.js46
-rw-r--r--commands/ask.js63
-rw-r--r--commands/avatarurl.js10
-rw-r--r--commands/balance.js59
-rw-r--r--commands/ban.js32
-rw-r--r--commands/eval.js98
-rw-r--r--commands/git.js86
-rw-r--r--commands/help.js140
-rw-r--r--commands/info.js47
-rw-r--r--commands/interrogate.js39
-rw-r--r--commands/invite.js62
-rw-r--r--commands/jail.js39
-rw-r--r--commands/kick.js34
-rw-r--r--commands/leaveguild.js37
-rw-r--r--commands/pay.js84
-rw-r--r--commands/ping.js66
-rw-r--r--commands/poweroff.js49
-rw-r--r--commands/purge.js41
-rw-r--r--commands/quote.js37
-rw-r--r--commands/say.js39
-rw-r--r--commands/setprefix.js59
-rw-r--r--commands/suggest.js53
-rw-r--r--commands/suggestfeature.js1
-rw-r--r--commands/uptime.js88
-rw-r--r--commands/userinfo.js50
-rw-r--r--commands/vtquote.js95
-rw-r--r--deprecated/buy.js49
-rw-r--r--deprecated/daily.js63
-rw-r--r--package.json1
34 files changed, 1342 insertions, 1321 deletions
diff --git a/To be worked on/leave.js b/To be worked on/leave.js
index e1584f0..6712a8d 100644
--- a/To be worked on/leave.js
+++ b/To be worked on/leave.js
@@ -1,5 +1,5 @@
-/****************************************
- *
+/** **************************************
+ *
* Leave: Command for AleeBot
* Copyright (C) 2018 AleeCorp
*
@@ -15,29 +15,28 @@
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ *
* *************************************/
module.exports.run = async (client, message, args) => {
- if (!message.member.voiceChannel) return message.reply('You need a voice channel to perform this action.');
+ if (!message.member.voiceChannel) return message.reply('You need a voice channel to perform this action.');
- if (!message.guild.me.voiceChannel) return message.reply('Error: The bot isn\'t connected to a voice channel.')
+ if (!message.guild.me.voiceChannel) return message.reply('Error: The bot isn\'t connected to a voice channel.');
- if (message.guild.me.voiceChannelID !== message.member.voiceChannelID) return message.reply('Error: You aren\'t connected in the same voice channel as the bot...');
+ if (message.guild.me.voiceChannelID !== message.member.voiceChannelID) return message.reply('Error: You aren\'t connected in the same voice channel as the bot...');
- message.guild.me.voiceChannel.leave();
+ message.guild.me.voiceChannel.leave();
- message.channel.send("Leaving channel...")
+ message.channel.send('Leaving channel...');
+};
- };
-
- exports.conf = {
- aliases: [],
- guildOnly: false,
- };
- exports.help = {
- name: 'leave',
- description: 'Leaves voice chat.',
- usage: 'leave',
- category: '- Music Commands',
- }; \ No newline at end of file
+exports.conf = {
+ aliases: [],
+ guildOnly: false,
+};
+exports.help = {
+ name: 'leave',
+ description: 'Leaves voice chat.',
+ usage: 'leave',
+ category: '- Music Commands',
+};
diff --git a/To be worked on/play.js b/To be worked on/play.js
index ddf80db..d885ee2 100644
--- a/To be worked on/play.js
+++ b/To be worked on/play.js
@@ -1,5 +1,5 @@
-/****************************************
- *
+/** **************************************
+ *
* Play: Command for AleeBot
* Copyright (C) 2018 AleeCorp
*
@@ -15,108 +15,101 @@
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ *
* *************************************/
module.exports.run = async (client, message, args, ops) => {
- const ytdl = require('ytdl-core');
+ const ytdl = require('ytdl-core');
- if (!message.member.voiceChannel) return message.reply('Please connect to a voice channel...');
+ if (!message.member.voiceChannel) return message.reply('Please connect to a voice channel...');
- if (!args[0]) return message.reply('Please input a url.');
+ if (!args[0]) return message.reply('Please input a url.');
- let vaildate = await ytdl.validateURL(args[0]);
+ const vaildate = await ytdl.validateURL(args[0]);
- if (!vaildate) return message.reply('Please input a **valid** url.');
+ if (!vaildate) return message.reply('Please input a **valid** url.');
- let info = await ytdl.getInfo(args[0]);
+ const info = await ytdl.getInfo(args[0]);
- let data = ops.active.get(message.guild.id) || {};
+ const data = ops.active.get(message.guild.id) || {};
- if (!data.connection) data.connection = await message.member.voiceChannel.join();
- if (!data.queue) data.queue = [];
- data.guildID = message.guild.id;
+ if (!data.connection) data.connection = await message.member.voiceChannel.join();
+ if (!data.queue) data.queue = [];
+ data.guildID = message.guild.id;
- data.queue.push({
- songTitle: info.title,
- requester: message.author.tag,
- url: args[0],
- announceChannel: message.channel.id
- });
- if (!data.dispatcher) play(client, ops, data);
- else {
- const { RichEmbed } = require('discord.js');
- const embed = new RichEmbed()
- .setTitle('This music has been added to the queue!')
- .setAuthor(info.title, client.user.avatarURL)
+ data.queue.push({
+ songTitle: info.title,
+ requester: message.author.tag,
+ url: args[0],
+ announceChannel: message.channel.id,
+ });
+ if (!data.dispatcher) play(client, ops, data);
+ else {
+ const {RichEmbed} = require('discord.js');
+ const embed = new RichEmbed()
+ .setTitle('This music has been added to the queue!')
+ .setAuthor(info.title, client.user.avatarURL)
+ .setColor(0x00afff)
+ .setTimestamp()
+ .addField('Title', info.title)
+ .addField('Requested by:', message.author.tag)
+ .setFooter('AleeBot Music Player');
+
+ message.channel.send({embed});
+ }
+
+ ops.active.set(message.guild.id, data);
+};
+
+async function play(client, ops, data) {
+ const ytdl = require('ytdl-core');
+ const {RichEmbed} = require('discord.js');
+ const embed = new RichEmbed()
+ .setTitle('Now playing!')
+ .setAuthor(data.queue[0].songTitle, client.user.avatarURL)
.setColor(0x00afff)
.setTimestamp()
- .addField('Title', info.title)
- .addField('Requested by:', message.author.tag)
+ .addField('Title', data.queue[0].songTitle)
+ .addField('Requested by:', data.queue[0].requester)
+ // .addField('Link', info.url)
+ // .addField('Duration', time)
.setFooter('AleeBot Music Player');
-
- message.channel.send({embed})
- }
-
- ops.active.set(message.guild.id, data);
-
- };
-
- async function play(client, ops, data) {
- const ytdl = require('ytdl-core');
- const { RichEmbed } = require('discord.js');
- const embed = new RichEmbed()
- .setTitle('Now playing!')
- .setAuthor(data.queue[0].songTitle, client.user.avatarURL)
- .setColor(0x00afff)
- .setTimestamp()
- .addField('Title', data.queue[0].songTitle)
- .addField('Requested by:', data.queue[0].requester)
- // .addField('Link', info.url)
- // .addField('Duration', time)
- .setFooter('AleeBot Music Player');
-
- client.channels.get(data.queue[0].announceChannel).send({embed})
-
- data.dispatcher = await data.connection.playStream(ytdl(data.queue[0].url, { filter: 'audioonly'}));
- data.dispatcher.guildID = data.guildID;
-
- data.dispatcher.once('finish', function () {
- finish(client, ops, this);
- });
-
- };
-
- function finish(client, ops, dispatcher) {
- let fetched = ops.active.get(dispatcher.guildID);
+ client.channels.get(data.queue[0].announceChannel).send({embed});
- fetched.queue.shift();
+ data.dispatcher = await data.connection.playStream(ytdl(data.queue[0].url, {filter: 'audioonly'}));
+ data.dispatcher.guildID = data.guildID;
- if (fetched.queue.length > 0) {
+ data.dispatcher.once('finish', function() {
+ finish(client, ops, this);
+ });
+};
- ops.active.set(dispatcher.guildID, fetched);
+function finish(client, ops, dispatcher) {
+ const fetched = ops.active.get(dispatcher.guildID);
- play(client, ops, fetched);
+ fetched.queue.shift();
- } else {
- ops.active.delete(dispatcher.guildID);
+ if (fetched.queue.length > 0) {
+ ops.active.set(dispatcher.guildID, fetched);
- let vc = client.guild.get(dispatcher.guildID).me.voiceChannel;
+ play(client, ops, fetched);
+ } else {
+ ops.active.delete(dispatcher.guildID);
- if (vc) vc.leave();
+ const vc = client.guild.get(dispatcher.guildID).me.voiceChannel;
- }
+ if (vc) vc.leave();
+ }
+}
- }
-
- exports.conf = {
- aliases: [],
- guildOnly: false,
- };
- exports.help = {
- name: 'play',
- description: 'Plays music.',
- usage: 'play [url]',
- category: '- Music Commands',
- }; \ No newline at end of file
+exports.conf = {
+ aliases: [],
+ guildOnly: false,
+};
+exports.help = {
+ name: 'play',
+ description: 'Plays music.',
+ usage: 'play [url]',
+ category: '- Music Commands',
+};
diff --git a/To be worked on/queue.js b/To be worked on/queue.js
index 77d86b7..e1ef7c6 100644
--- a/To be worked on/queue.js
+++ b/To be worked on/queue.js
@@ -1,5 +1,5 @@
-/****************************************
- *
+/** **************************************
+ *
* Queue: Command for AleeBot
* Copyright (C) 2018 AleeCorp
*
@@ -15,35 +15,33 @@
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ *
* *************************************/
module.exports.run = async (client, message, args, ops) => {
-
- let fetched = ops.active.get(message.guild.id);
+ const fetched = ops.active.get(message.guild.id);
- if (!fetched) return message.reply('Currently, there isn\'t any music playing in this guild.');
+ if (!fetched) return message.reply('Currently, there isn\'t any music playing in this guild.');
- let queue = fetched.queue
- let nowPlaying = queue[0];
+ const queue = fetched.queue;
+ const nowPlaying = queue[0];
- let resp = `__**Now Playing**__\n**${nowPlaying.songTitle}** -- **Requested By:** *${nowPlaying.requester}*\n\n__**Queue**__\n`;
+ let resp = `__**Now Playing**__\n**${nowPlaying.songTitle}** -- **Requested By:** *${nowPlaying.requester}*\n\n__**Queue**__\n`;
- for (var i = 1; i < queue.length; i++) {
- resp += `${i}. **${queue[i].songTitle}** -- **Requested By:** *${queue[i].requester}*\n`
- }
+ for (let i = 1; i < queue.length; i++) {
+ resp += `${i}. **${queue[i].songTitle}** -- **Requested By:** *${queue[i].requester}*\n`;
+ }
- message.channel.send(resp);
+ message.channel.send(resp);
+};
- };
-
- exports.conf = {
- aliases: [],
- guildOnly: false,
- };
- exports.help = {
- name: 'queue',
- description: 'Checks what music is in queue.',
- usage: 'queue',
- category: '- Music Commands',
- }; \ No newline at end of file
+exports.conf = {
+ aliases: [],
+ guildOnly: false,
+};
+exports.help = {
+ name: 'queue',
+ description: 'Checks what music is in queue.',
+ usage: 'queue',
+ category: '- Music Commands',
+};
diff --git a/To be worked on/skip.js b/To be worked on/skip.js
index 5a6d2b7..44880bd 100644
--- a/To be worked on/skip.js
+++ b/To be worked on/skip.js
@@ -1,5 +1,5 @@
-/****************************************
- *
+/** **************************************
+ *
* Skip: Command for AleeBot
* Copyright (C) 2018 AleeCorp
*
@@ -15,48 +15,44 @@
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ *
* *************************************/
module.exports.run = async (client, message, args, ops) => {
+ const fetched = ops.active.get(message.guild.id);
- let fetched = ops.active.get(message.guild.id);
-
- if (!fetched) return message.reply('Currently, there isn\'t any music playing in this guild.');
-
- if (message.member.voiceChannel !== message.guild.me.voiceChannel) return message.reply('Sorry, you are currently not in the same channel as the bot.')
-
- let userCount = message.member.voiceChannel.members.size;
+ if (!fetched) return message.reply('Currently, there isn\'t any music playing in this guild.');
- let required = Math.ceil(userCount/2);
+ if (message.member.voiceChannel !== message.guild.me.voiceChannel) return message.reply('Sorry, you are currently not in the same channel as the bot.');
- if (!fetched.queue[0].voteSkips) fetched.queue[0].voteSkips = [];
+ const userCount = message.member.voiceChannel.members.size;
- if (fetched.queue[0].voteSkips.includes(message.member.id)) return message.reply(`Sorry, you have already voted to skip! ${fetched.queue[0].voteSkips.length}/${required} required.`)
+ const required = Math.ceil(userCount/2);
- fetched.queue[0].voteSkips.push(message.member.id);
+ if (!fetched.queue[0].voteSkips) fetched.queue[0].voteSkips = [];
- ops.active.set(message.guild.id, fetched);
+ if (fetched.queue[0].voteSkips.includes(message.member.id)) return message.reply(`Sorry, you have already voted to skip! ${fetched.queue[0].voteSkips.length}/${required} required.`);
- if (fetched.queue[0].voteSkips.length >= required) {
+ fetched.queue[0].voteSkips.push(message.member.id);
- message.channel.send('Successfully skipped song!');
+ ops.active.set(message.guild.id, fetched);
- return fetched.dispatcher.emit('finish');
+ if (fetched.queue[0].voteSkips.length >= required) {
+ message.channel.send('Successfully skipped song!');
- }
+ return fetched.dispatcher.emit('finish');
+ }
- message.channel.send(`Successfully voted to skip! ${fetched.queue[0].voteSkips.length}/${required} required.`)
+ message.channel.send(`Successfully voted to skip! ${fetched.queue[0].voteSkips.length}/${required} required.`);
+};
- };
-
- exports.conf = {
- aliases: [],
- guildOnly: false,
- };
- exports.help = {
- name: 'skip',
- description: 'Skips a music.',
- usage: 'skip',
- category: '- Music Commands',
- }; \ No newline at end of file
+exports.conf = {
+ aliases: [],
+ guildOnly: false,
+};
+exports.help = {
+ name: 'skip',
+ description: 'Skips a music.',
+ usage: 'skip',
+ category: '- Music Commands',
+};
diff --git a/bot_discord.js b/bot_discord.js
index 5380db6..5c437c9 100644
--- a/bot_discord.js
+++ b/bot_discord.js
@@ -1,366 +1,424 @@
-/****************************************
- *
- * AleeBot: Made for discord servers
- * Copyright (C) 2017-2020 Alee Productions
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- * *************************************/
-const Discord = require('discord.js');
-const moment = require('moment');
-const readline = require('readline');
-const colors = require('colors');
-const DBL = require("dblapi.js");
-const client = new Discord.Client({
- disableEveryone: true
-});
-const settings = require('./storage/settings.json')
-const fs = require('fs');
-const api = require('./tokens.json');
-const dbl = new DBL(api.dbltoken, client);
-const active = new Map();
-const ownerID = "242775871059001344";
-
-const log = message => {
-
- console.log(`[${moment().format('YYYY-MM-DD HH:mm:ss')}] ${message}`.white);
-
-};
-
-const rl = readline.createInterface({
- input: process.stdin,
- output: process.stdout,
- prompt: '> '.gray
-});
-
-console.log(`AleeBot ${settings.abVersion}: Copyright (C) 2017-2020 Alee Productions`.gray);
-console.log('This program comes with ABSOLUTELY NO WARRANTY; for details type `show w\'.'.gray);
-console.log ('This is free software, and you are welcome to redistribute it'.gray);
-console.log ('under certain conditions; type `show c\' for details.\n'.gray)
-
-if (process.argv.indexOf("--debug") == -1) {
- console.log("Running AleeBot without --debug command line flag. Debug output disabled.\n".yellow);
-} else {
- console.log('[!] Entering debug mode...'.yellow)
- client.on('debug', function(info) {
- log(info.gray);
- });
- client.on('warn', function(info) {
- log(info.red);
- });
-}
-
-if (process.argv.indexOf("--beta") == -1) {
- client.login(api.abtoken).catch(function() {
- console.log('[X] Login failed. The token that you put in is invalid, please put in a new one...'.red);
- process.exit(0);
- });
-
-} else {
- client.login(api.abbtoken).catch(function() {
- console.log('[X] Login failed. The token that you put in is invalid, please put in a new one...'.red);
- process.exit(0);
- });
-}
-
-client.commands = new Discord.Collection();
-client.aliases = new Discord.Collection();
-
-fs.readdir('./commands', (err, files) => {
- if (err) console.error(err);
- log(`[!] Attempting to load a total of ${files.length} commands into the memory.`.cyan);
- files.forEach(file => {
- try {
- const command = require(`./commands/${file}`);
- log(`[!] Attempting to load the command "${command.help.name}".`.cyan);
- client.commands.set(command.help.name, command);
- command.conf.aliases.forEach(alias => {
- client.aliases.set(alias, command.help.name);
- log(`[!] Attempting to load "${alias}" as an alias for "${command.help.name}"`.cyan);
- });
- }
- catch (err) {
- log('[X] An error has occured trying to load a command. Here is the error.'.red);
- console.log(err.stack);
- }
- });
- log('[>] Command Loading complete!'.green);
- console.log('\n');
-});
-
-rl.on('line', function(cmd){
- var args = cmd.split(" ");
- switch(args[0]) {
- case "guilds":
- if (client.guilds.size === 0) {
- console.log(('[!] No guilds found.'.yellow));
- } else {
- console.log('[i] Here\'s the servers that AleeBot is connected to:')
- for ([id, guild] of client.guilds) {
- console.log(` Guild Name: ${guild.name} - ID: ${guild.id}`.blue);
- }
- }
- break;
- case "channels":
- if (!args[1]) {
- console.log('[!] Please insert the guild\'s ID.'.yellow)
- } else {
- var guild = client.guilds.get(args[1]);
- console.log('[i] Here\'s the channels that this guild have:'.blue)
- for ([id, channel, guild] of guild && client.channels) {
- console.log(` Channel: #${channel.name} - ID: ${channel.id}`.blue);
- }
- }
- break;
- case "leave":
- if (!args[1]) {
- console.log('[!] Please insert the guild\'s ID.'.yellow);
- } else {
- var guild = client.guilds.get(args[1]);
- guild.leave();
- }
- break;
- case "broadcast":
- if (!args[1]) {
- console.log('[!] Usage: broadcast [guildID] [channelID].'.yellow);
- } else {
- let broadcast = args.join(" ").slice(48);
- var guild = null;
- guild = client.guilds.get(args[1]);
- var channel = null;
- channel = guild.channels.get(args[2])
- if (channel != null) {
- channel.send(broadcast);
- }
- }
- break;
- case "uptime":
- let uptime = parseInt(client.uptime);
- uptime = Math.floor(uptime / 1000);
- let uptimeMinutes = Math.floor(uptime / 60);
- const minutes = uptime % 60;
- let hours = 0;
- while (uptimeMinutes >= 60) {
- hours++;
- uptimeMinutes = uptimeMinutes - 60;
- }
- const uptimeSeconds = minutes % 60;
- console.log(`[i] AleeBot has been up for ${hours} hours, ${uptimeMinutes} minutes, and ${uptimeSeconds} seconds.`.blue);
- break;
- case "exit":
- console.log('[i] AleeBot will now exit!'.blue)
- const embed = new Discord.RichEmbed()
- .setAuthor("AleeBot Status", client.user.avatarURL)
- .setDescription("AleeBot is now going offline...")
- .setColor("#ff3333")
- client.channels.find('id', '606602551634296968').send({embed});
- client.destroy();
- process.exit(0);
- break;
- case "help":
- var msg = (`AleeBot `+ settings.abVersion +` Console Help\n\n`);
- msg += (`guilds - Shows all guilds that AleeBot's on.\n`)
- msg += (`channels - Shows all the channels that the guilds have.\n`)
- msg += (`leave - Leaves a guild.\n`)
- msg += (`broadcast - Broadcasts a message to a server.\n`)
- msg += (`uptime - Shows the uptime for AleeBot.\n`)
- msg += (`help - Shows this command.\n`)
- msg += (`exit - Exits AleeBot.\n`)
- console.log(msg.cyan);
- break;
- default:
- console.log('Unknown command, type \'help\' to list the commands...'.yellow)
- }
- rl.prompt();
-});
-
-
-client.on('ready', () => {
- log('[>] AleeBot is now ready!'.green);
- log(`[i] Logged in as ${client.user.tag}`.green);
- log(`[i] Default Prefix: ${settings.prefix}`.green)
- log(`[i] Bot ID: ${client.user.id}`.green);
- log(`[i] Token: ${api.abtoken}`.green);
- log(`[i] Running version ${settings.abVersion} and in ${client.guilds.size} guilds`.green);
-
- client.setInterval(function() {
- const games = [
- 'AleeBot ' + settings.abVersion + ' | ' + settings.prefix + 'help',
- 'Annoying Alee',
- 'Coding stuff',
- 'Drawing shapes',
- 'Fighting AstralMod',
- ];
- setInterval(() => {
- dbl.postStats(client.guilds.size, client.shards.Id, client.shards.total);
- }, 1800000);
- client.user.setPresence({
- status: 'online',
- afk: false,
- game: {
- type: 0,
- name: games[Math.floor(Math.random() * games.length)],
- },
- });
- }, 200000);
- client.user.setStatus('online');
- const embed = new Discord.RichEmbed()
- .setAuthor("AleeBot Status", client.user.avatarURL)
- .setDescription("AleeBot has started")
- .setColor("#5cd65c")
- client.channels.find('id', '606602551634296968').send({embed});
- rl.prompt();
-});
-
-client.on('guildMemberAdd', member => {
- if (member.guild.id != '243022206437687296') return 0
- var role = member.guild.roles.find((role) => role.name === "Member");
- member.addRole(role);
- log(`[i] ${member.user.username} joined Alee Productions.`.green);
- log(`[i] I gave ${member.user.username} the "Member" role.`.green);
-});
-
-client.on('messageUpdate', async(oldMessage, newMessage) => {
- if (oldMessage.guild.id != '243022206437687296') return 0
- if (oldMessage.content === newMessage.content){
- return;
- }
- const logEmbed = new Discord.RichEmbed()
- .setAuthor("AleeBot Logging", client.user.avatarURL)
- .setDescription(`A message from ${oldMessage.author.username} was edited`)
- .addField("Before: ", `\`\`\`${oldMessage.content}\`\`\``)
- .addField("After: ", `\`\`\`${newMessage.content}\`\`\``)
- .setColor("#ffff1a")
- .setTimestamp()
-
- let editmessage = newMessage.guild.channels.find(ch => ch.name === "logs")
- if(!editmessage) return;
-
- editmessage.send(logEmbed);
-
-
-})
-
-client.on('guildCreate', guild => {
-
- log(`[i] New guild joined: ${guild.name} (id: ${guild.id}). This guild has ${guild.memberCount} members!`.blue);
-
-});
-
-
-client.on('guildDelete', guild => {
-
- log(`[i] I have been removed from: ${guild.name} (id: ${guild.id})`.red);
-
-});
-
-dbl.on('posted', () => {
- log('Server count posted!'.blue);
-});
-
-dbl.on('error', e => {
- log(`[X | DBL ERROR] ${e}`.red);
-});
-
-client.on('message', (msg) => {
- if (msg.author.bot) return;
-
- if (msg.mentions != null && msg.mentions.users != null) {
- if (msg.mentions.users.has("282547024547545109")){
- if (msg.content.toLowerCase().includes("hello") || (msg.content.toLowerCase().includes("hi"))) {
- msg.reply(`Hello ${msg.author.username}!`);
- } else {
- if (msg.content.toLowerCase().includes("shut") && msg.content.toLowerCase().includes("up")) {
- switch (Math.floor(Math.random() * 1000) % 3) {
- case 0:
- msg.reply("Hey, Can you not speak to me in that tone...")
- break;
- case 1:
- msg.reply("NO! I can talk as much I can!");
- break;
- case 2:
- msg.reply("Nah I won't....");
- break;
- }
- } else if (msg.content.toLowerCase().includes("how") && msg.content.toLowerCase().includes("are") && msg.content.toLowerCase().includes("you")) {
- msg.reply("I'm doing OK, I suppose...");
- } else if (msg.content.toLowerCase().includes("ok") && msg.content.toLowerCase().includes("google")) {
- msg.reply("Erm... I am not google, if you want to use Google here's the link: https://www.google.com");
- } else if (msg.content.toLowerCase().includes("f") && msg.content.toLowerCase().includes("off")) {
- msg.reply("Do you want a hammer? :hammer:");
- } else if (msg.content.toLowerCase().includes("aleearmy")) {
- msg.reply("Oh yeah.. that thing Alee made...");
- }
- }
- }
- };
-
-
- let prefixes = JSON.parse(fs.readFileSync("./storage/prefixes.json", "utf8"));
-
- if(!prefixes[msg.guild.id]){
- prefixes[msg.guild.id] = {
- prefixes: settings.prefix
- };
- }
-
- let prefix = prefixes[msg.guild.id].prefixes
-
-
- if (!msg.content.startsWith(prefix)) return;
- const args = msg.content.slice(prefix.length).trim().split(/ +/g);
- const command = args.shift();
- let cmd;
-
- if (client.commands.has(command)) {
- cmd = client.commands.get(command);
- } else if (client.aliases.has(command)) {
- cmd = client.commands.get(client.aliases.get(command));
- }
-
- if (cmd) {
- if (cmd.conf.guildOnly == true) {
- if (!msg.channel.guild) {
- return msg.channel.createMessage('This command can only be ran in a guild.');
- }
- }
- try {
-
- let ops = {
- ownerID: ownerID,
- active: active
- }
-
- cmd.run(client, msg, args, ops);
- }
- catch (e) {
- console.error(e);
- }
- }
-});
-
-process.on('unhandledRejection', function(err, p) {
-
-log("[X | UNCAUGHT PROMISE] " + err.stack.red);
-
-});
-client.on('reconnecting', function() {
- log("[!] AleeBot has disconnected from Discord and is now attempting to reconnect.".yellow);
-});
-
-client.on('disconnect', function() {
- log("[X] AleeBot has disconnected from Discord and will not attempt to reconnect.".red);
- console.log("At this point, you'll need to restart AleeBot.".red);
- process.exit(0);
-});
+/** **************************************
+ *
+ * AleeBot: Made for discord servers
+ * Copyright (C) 2017-2020 Alee Productions
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * *************************************/
+const Discord = require('discord.js');
+const moment = require('moment');
+const readline = require('readline');
+const colors = require('colors');
+const DBL = require('dblapi.js');
+const i18next = require('i18next');
+const client = new Discord.Client({
+ disableEveryone: true,
+});
+const settings = require('./storage/settings.json');
+const fs = require('fs');
+const api = require('./tokens.json');
+const dbl = new DBL(api.dbltoken, client);
+const active = new Map();
+const ownerID = '242775871059001344';
+
+const log = (message) => {
+ console.log(`[${moment().format('YYYY-MM-DD HH:mm:ss')}] ${message}`.white);
+};
+
+const rl = readline.createInterface({
+ input: process.stdin,
+ output: process.stdout,
+ prompt: '> '.gray,
+});
+
+console.log(`AleeBot ${settings.abVersion}: Copyright (C) 2017-2020 Alee Productions`.gray);
+console.log('This program comes with ABSOLUTELY NO WARRANTY; for details type `show w\'.'.gray);
+console.log('This is free software, and you are welcome to redistribute it'.gray);
+console.log('under certain conditions; type `show c\' for details.\n'.gray);
+
+if (process.argv.indexOf('--debug') == -1) {
+ console.log('Running AleeBot without --debug command line flag. Debug output disabled.\n'.yellow);
+} else {
+ console.log('[!] Entering debug mode...'.yellow);
+ client.on('debug', function(info) {
+ log(info.gray);
+ });
+ client.on('warn', function(info) {
+ log(info.red);
+ });
+}
+
+if (process.argv.indexOf('--beta') == -1) {
+ client.login(api.abtoken).catch(function() {
+ console.log('[X] Login failed. The token that you put in is invalid, please put in a new one...'.red);
+ process.exit(0);
+ });
+} else {
+ client.login(api.abbtoken).catch(function() {
+ console.log('[X] Login failed. The token that you put in is invalid, please put in a new one...'.red);
+ process.exit(0);
+ });
+}
+
+client.commands = new Discord.Collection();
+client.aliases = new Discord.Collection();
+
+fs.readdir('./commands', (err, files) => {
+ if (err) console.error(err);
+ log(`[!] Attempting to load a total of ${files.length} commands into the memory.`.cyan);
+ files.forEach((file) => {
+ try {
+ const command = require(`./commands/${file}`);
+ log(`[!] Attempting to load the command "${command.help.name}".`.cyan);
+ client.commands.set(command.help.name, command);
+ command.conf.aliases.forEach((alias) => {
+ client.aliases.set(alias, command.help.name);
+ log(`[!] Attempting to load "${alias}" as an alias for "${command.help.name}"`.cyan);
+ });
+ } catch (err) {
+ log('[X] An error has occured trying to load a command. Here is the error.'.red);
+ console.log(err.stack);
+ }
+ });
+ log('[>] Command Loading complete!'.green);
+ console.log('\n');
+});
+
+rl.on('line', function(cmd) {
+ const args = cmd.split(' ');
+ switch (args[0]) {
+ case 'guilds':
+ if (client.guilds.size === 0) {
+ console.log(('[!] No guilds found.'.yellow));
+ } else {
+ console.log('[i] Here\'s the servers that AleeBot is connected to:');
+ for ([id, guild] of client.guilds) {
+ console.log(` Guild Name: ${guild.name} - ID: ${guild.id}`.blue);
+ }
+ }
+ break;
+ case 'channels':
+ if (!args[1]) {
+ console.log('[!] Please insert the guild\'s ID.'.yellow);
+ } else {
+ var guild = client.guilds.get(args[1]);
+ console.log('[i] Here\'s the channels that this guild have:'.blue);
+ for ([id, channel, guild] of guild && client.channels) {
+ console.log(` Channel: #${channel.name} - ID: ${channel.id}`.blue);
+ }
+ }
+ break;
+ case 'leave':
+ if (!args[1]) {
+ console.log('[!] Please insert the guild\'s ID.'.yellow);
+ } else {
+ var guild = client.guilds.get(args[1]);
+ guild.leave();
+ }
+ break;
+ case 'broadcast':
+ if (!args[1]) {
+ console.log('[!] Usage: broadcast [guildID] [channelID].'.yellow);
+ } else {
+ const broadcast = args.join(' ').slice(48);
+ var guild = null;
+ guild = client.guilds.get(args[1]);
+ var channel = null;
+ channel = guild.channels.get(args[2]);
+ if (channel != null) {
+ channel.send(broadcast);
+ }
+ }
+ break;
+ case 'uptime':
+ let uptime = parseInt(client.uptime);
+ uptime = Math.floor(uptime / 1000);
+ let uptimeMinutes = Math.floor(uptime / 60);
+ const minutes = uptime % 60;
+ let hours = 0;
+ while (uptimeMinutes >= 60) {
+ hours++;
+ uptimeMinutes = uptimeMinutes - 60;
+ }
+ const uptimeSeconds = minutes % 60;
+ console.log(`[i] AleeBot has been up for ${hours} hours, ${uptimeMinutes} minutes, and ${uptimeSeconds} seconds.`.blue);
+ break;
+ case 'exit':
+ console.log('[i] AleeBot will now exit!'.blue);
+ const asyncPowerOff = async () => {
+ const embed = new Discord.RichEmbed()
+ .setAuthor('AleeBot Status', client.user.avatarURL)
+ .setDescription('AleeBot is now going offline...')
+ .setColor('#ff3333');
+ await client.channels.find('id', '606602551634296968').send({embed});
+ };
+ asyncPowerOff();
+ client.destroy();
+ process.exit(0);
+ break;
+ case 'help':
+ let msg = (`AleeBot `+ settings.abVersion +` Console Help\n\n`);
+ msg += (`guilds - Shows all guilds that AleeBot's on.\n`);
+ msg += (`channels - Shows all the channels that the guilds have.\n`);
+ msg += (`leave - Leaves a guild.\n`);
+ msg += (`broadcast - Broadcasts a message to a server.\n`);
+ msg += (`uptime - Shows the uptime for AleeBot.\n`);
+ msg += (`help - Shows this command.\n`);
+ msg += (`exit - Exits AleeBot.\n`);
+ console.log(msg.cyan);
+ break;
+ default:
+ console.log('Unknown command, type \'help\' to list the commands...'.yellow);
+ }
+ rl.prompt();
+});
+
+
+client.on('ready', () => {
+ log('[>] AleeBot is now ready!'.green);
+ log(`[i] Logged in as ${client.user.tag}`.green);
+ log(`[i] Default Prefix: ${settings.prefix}`.green);
+ log(`[i] Bot ID: ${client.user.id}`.green);
+ log(`[i] Token: ${api.abtoken}`.green);
+ log(`[i] Running version ${settings.abVersion} and in ${client.guilds.size} guilds`.green);
+
+ client.setInterval(function() {
+ const games = [
+ 'AleeBot ' + settings.abVersion + ' | ' + settings.prefix + 'help',
+ 'Annoying Alee',
+ 'Coding stuff',
+ 'Drawing shapes',
+ 'Fighting AstralMod',
+ ];
+ /*
+ setInterval(() => {
+ dbl.postStats(client.guilds.size, client.shards.Id, client.shards.total);
+ }, 1800000);*/
+ client.user.setPresence({
+ status: 'online',
+ afk: false,
+ game: {
+ type: 0,
+ name: games[Math.floor(Math.random() * games.length)],
+ },
+ });
+ }, 200000);
+ client.user.setStatus('online');
+ const embed = new Discord.RichEmbed()
+ .setAuthor('AleeBot Status', client.user.avatarURL)
+ .setDescription('AleeBot has started')
+ .setColor('#5cd65c');
+ client.channels.find('id', '606602551634296968').send({embed});
+ rl.prompt();
+});
+
+client.on('guildMemberAdd', (member) => {
+ if (member.guild.id != '243022206437687296') return 0;
+ const role = member.guild.roles.find((role) => role.name === 'Member');
+ member.addRole(role);
+ log(`[i] ${member.user.username} joined Alee Productions.`.green);
+ log(`[i] I gave ${member.user.username} the "Member" role.`.green);
+});
+
+client.on('messageUpdate', async (oldMessage, newMessage) => {
+ if (oldMessage.guild.id != '243022206437687296') return 0;
+ if (oldMessage.content === newMessage.content) {
+ return;
+ }
+ const logEmbed = new Discord.RichEmbed()
+ .setAuthor('AleeBot Logging', client.user.avatarURL)
+ .setDescription(`A message from ${oldMessage.author.username} was edited`)
+ .addField('Before: ', `\`\`\`${oldMessage.content}\`\`\``)
+ .addField('After: ', `\`\`\`${newMessage.content}\`\`\``)
+ .setColor('#ffff1a')
+ .setTimestamp()
+ .setFooter(`Author ID: ${oldMessage.author.id}`);
+
+ const editMessage = newMessage.guild.channels.find((ch) => ch.name === 'logs');
+ if (!editMessage) return;
+
+ editMessage.send(logEmbed);
+});
+
+client.on('messageDelete', (message) => {
+ if (message.guild.id != '243022206437687296') return 0;
+ const logEmbed = new Discord.RichEmbed()
+ .setAuthor('AleeBot Logging', client.user.avatarURL)
+ .setDescription(`A message from ${message.author.username} was deleted`)
+ .addField('Deleted Message: ', `\`\`\`${message.content}\`\`\``)
+ .setColor('#ff021b')
+ .setTimestamp()
+ .setFooter(`Author ID: ${message.author.id}`);
+
+ const deleteMessage = message.guild.channels.find((ch) => ch.name === 'logs');
+ if (!deleteMessage) return;
+
+ deleteMessage.send(logEmbed);
+});
+
+client.on('guildBanAdd', (guild, user) => {
+ if (guild.id != '243022206437687296') return 0;
+ const logEmbed = new Discord.RichEmbed()
+ .setAuthor('AleeBot Logging', client.user.avatarURL)
+ .setDescription(`This user got banned from ${guild.name}`)
+ .addField(`User:`, `${user.tag}`)
+ .addField(`User ID:`, `${user.id}`)
+ .setColor('#ff021b')
+ .setTimestamp();
+
+ const banMessage = guild.channels.find((ch) => ch.name === 'logs');
+ if (!banMessage) return;
+
+ banMessage.send(logEmbed);
+});
+
+client.on('guildBanRemove', (guild, user) => {
+ if (guild.id != '243022206437687296') return 0;
+ const logEmbed = new Discord.RichEmbed()
+ .setAuthor('AleeBot Logging', client.user.avatarURL)
+ .setDescription(`This user got unbanned from ${guild.name}`)
+ .addField(`User:`, `${user.tag}`)
+ .addField(`User ID:`, `${user.id}`)
+ .setColor('#ff021b')
+ .setTimestamp();
+
+ const banMessage = guild.channels.find((ch) => ch.name === 'logs');
+ if (!banMessage) return;
+
+ banMessage.send(logEmbed);
+});
+
+client.on('guildCreate', (guild) => {
+ log(`[i] New guild joined: ${guild.name} (id: ${guild.id}). This guild has ${guild.memberCount} members!`.blue);
+ /*
+ const logEmbed = new Discord.RichEmbed()
+ .setAuthor("AleeBot", client.user.avatarURL)
+ .setDescription(`I got added to this server!`)
+ .addField(`Server Name:`, `${guild.name}`)
+ .addField(`Server ID:`, `${guild.id}`)
+ .setColor("#5cd65c")
+
+ client.channels.find('id', '606602551634296968').send({logEmbed});*/
+});
+
+
+client.on('guildDelete', (guild) => {
+ log(`[i] I have been removed from: ${guild.name} (id: ${guild.id})`.red);
+ /*
+ const logEmbed = new Discord.RichEmbed()
+ .setAuthor("AleeBot", client.user.avatarURL)
+ .setDescription(`I got removed from server...`)
+ .addField(`Server Name:`, `${guild.name}`)
+ .addField(`Server ID:`, `${guild.id}`)
+ .setColor("#5cd65c")
+
+ client.channels.find('id', '606602551634296968').send({logEmbed});*/
+});
+
+dbl.on('posted', () => {
+ log('Server count posted!'.blue);
+});
+
+dbl.on('error', (e) => {
+ log(`[X | DBL ERROR] ${e}`.red);
+});
+
+client.on('message', (msg) => {
+ if (msg.author.bot) return;
+
+ if (msg.mentions != null && msg.mentions.users != null) {
+ if (msg.mentions.users.has('282547024547545109')) {
+ if (msg.content.toLowerCase().includes('hello') || (msg.content.toLowerCase().includes('hi'))) {
+ msg.reply(`Hello ${msg.author.username}!`);
+ } else {
+ if (msg.content.toLowerCase().includes('shut') && msg.content.toLowerCase().includes('up')) {
+ switch (Math.floor(Math.random() * 1000) % 3) {
+ case 0:
+ msg.reply('Hey, Can you not speak to me in that tone...');
+ break;
+ case 1:
+ msg.reply('NO! I can talk as much I can!');
+ break;
+ case 2:
+ msg.reply('Nah I won\'t....');
+ break;
+ }
+ } else if (msg.content.toLowerCase().includes('how') && msg.content.toLowerCase().includes('are') && msg.content.toLowerCase().includes('you')) {
+ msg.reply('I\'m doing OK, I suppose...');
+ } else if (msg.content.toLowerCase().includes('ok') && msg.content.toLowerCase().includes('google')) {
+ msg.reply('Erm... I am not google, if you want to use Google here\'s the link: https://www.google.com');
+ } else if (msg.content.toLowerCase().includes('f') && msg.content.toLowerCase().includes('off')) {
+ msg.reply('Do you want a hammer? :hammer:');
+ } else if (msg.content.toLowerCase().includes('aleearmy')) {
+ msg.reply('Oh yeah.. that thing Alee made...');
+ }
+ }
+ }
+ };
+
+
+ const prefixes = JSON.parse(fs.readFileSync('./storage/prefixes.json', 'utf8'));
+
+ if (!prefixes[msg.guild.id]) {
+ prefixes[msg.guild.id] = {
+ prefixes: settings.prefix,
+ };
+ }
+
+ const prefix = prefixes[msg.guild.id].prefixes;
+
+
+ if (!msg.content.startsWith(prefix)) return;
+ const args = msg.content.slice(prefix.length).trim().split(/ +/g);
+ const command = args.shift();
+ let cmd;
+
+ if (client.commands.has(command)) {
+ cmd = client.commands.get(command);
+ } else if (client.aliases.has(command)) {
+ cmd = client.commands.get(client.aliases.get(command));
+ }
+
+ if (cmd) {
+ if (cmd.conf.guildOnly == true) {
+ if (!msg.channel.guild) {
+ return msg.channel.createMessage('This command can only be ran in a guild.');
+ }
+ }
+ try {
+ const ops = {
+ ownerID: ownerID,
+ active: active,
+ };
+
+ cmd.run(client, msg, args, ops);
+ } catch (e) {
+ console.error(e);
+ }
+ }
+});
+
+process.on('unhandledRejection', function(err, p) {
+ log('[X | UNCAUGHT PROMISE] ' + err.stack.red);
+});
+client.on('reconnecting', function() {
+ log('[!] AleeBot has disconnected from Discord and is now attempting to reconnect.'.yellow);
+});
+
+client.on('disconnect', function() {
+ log('[X] AleeBot has disconnected from Discord and will not attempt to reconnect.'.red);
+ console.log('At this point, you\'ll need to restart AleeBot.'.red);
+ process.exit(0);
+});
diff --git a/commands/addquote.js b/commands/addquote.js
index 04df3f4..7782b91 100644
--- a/commands/addquote.js
+++ b/commands/addquote.js
@@ -1,5 +1,5 @@
-/****************************************
- *
+/** **************************************
+ *
* AddQuote: Command for AleeBot
* Copyright (C) 2017-2020 Alee Productions
*
@@ -15,19 +15,19 @@
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ *
* *************************************/
module.exports.run = async (client, message, args) => {
/*
const moment = require('moment');
const log = message => {
-
+
console.log(`[${moment().format('YYYY-MM-DD HH:mm:ss')}] ${message}`);
-
+
};
const fs = require('fs');
if(!args[0]) return message.reply(`Usage: ab:addquote [author] [authorImage] [quote] [year]`);
-
+
let quotes = JSON.parse(fs.readFileSync("./storage/quotes.json", "utf8"));
quotes = {
@@ -36,25 +36,25 @@ module.exports.run = async (client, message, args) => {
quote: args[2],
year: args[3]
};
-
+
fs.writeFile("./storage/quotes.json", JSON.stringify(quotes), (err) =>{
if (err) log(err)
})
-
+
message.reply(`You just added a new quote!`);
- log(`[i] A quote has been added to quotes.json...`)
+ log(`[i] A quote has been added to quotes.json...`)
*/
- message.reply('Command is broken for now');
- };
-
- exports.conf = {
- aliases: [],
- guildOnly: true,
- };
- exports.help = {
- name: 'addquote',
- description: 'Sets the guild prefix.',
- usage: 'addquote [author] [authorImage] [quote] [year]',
- category: '- Quote Commands',
- };
-
+ message.reply('Command is broken for now');
+};
+
+exports.conf = {
+ aliases: [],
+ guildOnly: true,
+};
+exports.help = {
+ name: 'addquote',
+ description: 'Sets the guild prefix.',
+ usage: 'addquote [author] [authorImage] [quote] [year]',
+ category: '- Quote Commands',
+};
+
diff --git a/commands/ask.js b/commands/ask.js
index db9e10e..0bc0761 100644
--- a/commands/ask.js
+++ b/commands/ask.js
@@ -1,5 +1,5 @@
-/****************************************
- *
+/** **************************************
+ *
* Ask: Command for AleeBot
* Copyright (C) 2017-2020 Alee Productions
*
@@ -15,35 +15,34 @@
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ *
* *************************************/
module.exports.run = async (client, message, args) => {
- let abaskanswer = [
- "Yes.",
- "Nope. Just kidding :P",
- "Definitely!",
- "No.",
- "Yep. Just kidding :P",
- "I doubt it.",
- "Maybe?",
- "I don't know?",
- "Hmm let me think :thinking:"
- ];
- if (args[1]) {
- message.channel.sendMessage(abaskanswer[Math.floor(Math.random() * abaskanswer.length)]);
- } else {
- message.channel.sendMessage("Sorry, I don't know what your saying.")
- }
- };
-
- exports.conf = {
- aliases: ['8ball'],
- guildOnly: false,
- };
- exports.help = {
- name: 'ask',
- description: 'Give AleeBot a question!',
- usage: 'ask [args]',
- category: '- Fun Commands',
- };
- \ No newline at end of file
+ const abaskanswer = [
+ 'Yes.',
+ 'Nope. Just kidding :P',
+ 'Definitely!',
+ 'No.',
+ 'Yep. Just kidding :P',
+ 'I doubt it.',
+ 'Maybe?',
+ 'I don\'t know?',
+ 'Hmm let me think :thinking:',
+ ];
+ if (args[1]) {
+ message.channel.sendMessage(abaskanswer[Math.floor(Math.random() * abaskanswer.length)]);
+ } else {
+ message.channel.sendMessage('Sorry, I don\'t know what your saying.');
+ }
+};
+
+exports.conf = {
+ aliases: ['8ball'],
+ guildOnly: false,
+};
+exports.help = {
+ name: 'ask',
+ description: 'Give AleeBot a question!',
+ usage: 'ask [args]',
+ category: '- Fun Commands',
+};
diff --git a/commands/avatarurl.js b/commands/avatarurl.js
index 018bc7a..7f9c256 100644
--- a/commands/avatarurl.js
+++ b/commands/avatarurl.js
@@ -1,5 +1,5 @@
-/****************************************
- *
+/** **************************************
+ *
* AvatarURL: Command for AleeBot
* Copyright (C) 2017-2020 Alee Productions
*
@@ -15,12 +15,12 @@
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ *
* *************************************/
module.exports.run = async (client, message) => {
- message.reply(message.author.avatarURL);
+ message.reply(message.author.avatarURL);
};
-
+
exports.conf = {
aliases: [],
guildOnly: false,
diff --git a/commands/balance.js b/commands/balance.js
index ae575cc..7b340b2 100644
--- a/commands/balance.js
+++ b/commands/balance.js
@@ -1,5 +1,5 @@
-/****************************************
- *
+/** **************************************
+ *
* Balance: Command for AleeBot
* Copyright (C) 2017-2020 Alee Productions
*
@@ -15,37 +15,36 @@
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ *
* *************************************/
module.exports.run = async (client, message) => {
- const db = require('quick.db');
- const { RichEmbed } = require('discord.js');
+ const db = require('quick.db');
+ const {RichEmbed} = require('discord.js');
+
+ const user = message.mentions.users.first() || message.author;
- let user = message.mentions.users.first() || message.author;
+ let balance = await db.fetch(`userBalance_${user.id}`);
- let balance = await db.fetch(`userBalance_${user.id}`);
+ if (balance === null) {
+ db.set(`userBalance_${message.author.id}`, 0);
+ balance = 0;
+ }
+ const embed = new RichEmbed()
+ .setDescription(`**AleeCorp Bank**`)
+ .addField('Account Holder: ', user.username, true)
+ .addField('Account Balance: ', balance, true)
+ .setColor('#1fd619');
- if (balance === null) {
- db.set(`userBalance_${message.author.id}`, 0);
- balance = 0;
- }
- const embed = new RichEmbed()
- .setDescription(`**AleeCorp Bank**`)
- .addField('Account Holder: ', user.username, true)
- .addField('Account Balance: ', balance, true)
- .setColor('#1fd619')
+ message.channel.send({embed});
+};
- message.channel.send({embed})
- };
-
- exports.conf = {
- aliases: ['bal', 'money'],
- guildOnly: false,
- };
- exports.help = {
- name: 'balance',
- description: 'Checks the balance of AleeBot',
- usage: 'balance [@someone (optional)]',
- category: '- Economy Commands',
- };
- \ No newline at end of file
+exports.conf = {
+ aliases: ['bal', 'money'],
+ guildOnly: false,
+};
+exports.help = {
+ name: 'balance',
+ description: 'Checks the balance of AleeBot',
+ usage: 'balance [@someone (optional)]',
+ category: '- Economy Commands',
+};
diff --git a/commands/ban.js b/commands/ban.js
index 6331347..354dcaa 100644
--- a/commands/ban.js
+++ b/commands/ban.js
@@ -1,5 +1,5 @@
-/****************************************
- *
+/** **************************************
+ *
* Ban: Command for AleeBot
* Copyright (C) 2017-2020 Alee Productions
*
@@ -15,22 +15,22 @@
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ *
* *************************************/
module.exports.run = async (client, message, args) => {
- const Discord = require('discord.js');
- const mreason = args.join(" ").slice(22);
- if (!message.member.permissions.has('BAN_MEMBERS')) return message.reply("It looks like that you don't have the permissions to ban people.")
- if (!message.guild.member(client.user).hasPermission('BAN_MEMBERS')) return message.reply('Uhh... I don\'t have permission to ban members.');
- const member = message.mentions.members.first();
- if (!member) return message.reply("Uhh... Please mention a member first.");
- member.ban(`Banned by ${message.author.tag} Reason: ` + mreason);
- const embed = new Discord.RichEmbed()
- .setTitle('User Banned!')
- .setColor('#1fd619')
- .addField('**User:**', `${member.user.tag}`)
- .addField('**Reason:**', `\`\`\`${mreason}\`\`\``)
- await message.channel.send({ embed });
+ const Discord = require('discord.js');
+ const mreason = args.join(' ').slice(22);
+ if (!message.member.permissions.has('BAN_MEMBERS')) return message.reply('It looks like that you don\'t have the permissions to ban people.');
+ if (!message.guild.member(client.user).hasPermission('BAN_MEMBERS')) return message.reply('Uhh... I don\'t have permission to ban members.');
+ const member = message.mentions.members.first();
+ if (!member) return message.reply('Uhh... Please mention a member first.');
+ member.ban(`Banned by ${message.author.tag} Reason: ` + mreason);
+ const embed = new Discord.RichEmbed()
+ .setTitle('User Banned!')
+ .setColor('#1fd619')
+ .addField('**User:**', `${member.user.tag}`)
+ .addField('**Reason:**', `\`\`\`${mreason}\`\`\``);
+ await message.channel.send({embed});
};
exports.conf = {
diff --git a/commands/eval.js b/commands/eval.js
index 90b7030..2147376 100644
--- a/commands/eval.js
+++ b/commands/eval.js
@@ -1,5 +1,5 @@
-/****************************************
- *
+/** **************************************
+ *
* Eval: Command for AleeBot
* Copyright (C) 2017-2020 Alee Productions & jtsshieh + PokeWorld
*
@@ -15,72 +15,70 @@
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ *
* *************************************/
module.exports.run = async (client, message, args) => {
- if (!['242775871059001344',].includes(message.author.id)) return message.reply('Nope! You need the person who created this bot to use this command.');
- const { RichEmbed } = require('discord.js');
- const code = args.join(' ');
-
- let evaled;
- let remove;
-
- try {
- remove = text => {
- if (typeof(text) === 'string') {
- return text.replace(/`/g, '`' + String.fromCharCode(8203)).replace(/@/g, '@' + String.fromCharCode(8203));
- } else {
- return text;
- }
- };
-
- evaled = eval(code);
-
- if (typeof evaled !== 'string') {
- evaled = require('util').inspect(evaled);
+ if (!['242775871059001344'].includes(message.author.id)) return message.reply('Nope! You need the person who created this bot to use this command.');
+ const {RichEmbed} = require('discord.js');
+ const code = args.join(' ');
+
+ let evaled;
+ let remove;
+
+ try {
+ remove = (text) => {
+ if (typeof(text) === 'string') {
+ return text.replace(/`/g, '`' + String.fromCharCode(8203)).replace(/@/g, '@' + String.fromCharCode(8203));
+ } else {
+ return text;
}
-
- } catch (err) {
- const embed = new RichEmbed()
+ };
+
+ evaled = eval(code);
+
+ if (typeof evaled !== 'string') {
+ evaled = require('util').inspect(evaled);
+ }
+ } catch (err) {
+ const embed = new RichEmbed()
.setAuthor('Eval Error')
.setDescription('Eval\'s result')
.addField(':inbox_tray: Input:', `\`\`\`js\n${code}\n\`\`\``)
.addField(':outbox_tray: Output:', `\`\`\`${err}\`\`\``)
.setFooter('Eval', client.user.avatarURL)
.setColor('RED');
- return message.channel.send({ embed });
- }
-
- try {
- const embed = new RichEmbed()
+ return message.channel.send({embed});
+ }
+
+ try {
+ const embed = new RichEmbed()
.setAuthor('Eval Success')
.setDescription('Eval\'s result')
.addField(':inbox_tray: Input:', `\`\`\`js\n${code}\n\`\`\``)
.addField(':outbox_tray: Output:', `\`\`\`js\n${remove(evaled)}\n\`\`\``)
.setFooter('Eval', client.user.avatarURL)
.setColor('GREEN');
-
- return message.channel.send({ embed });
- } catch (err) {
- const embed = new RichEmbed()
+
+ return message.channel.send({embed});
+ } catch (err) {
+ const embed = new RichEmbed()
.setAuthor('Eval Error')
.setDescription('Eval\'s result')
.addField(':inbox_tray: Input:', `\`\`\`js\n${code}\n\`\`\``)
.addField(':outbox_tray: Output:', `\`\`\`${err}\`\`\``)
.setFooter('Eval', client.user.avatarURL)
.setColor('RED');
- return message.channel.send({ embed });
- }
- };
-
- exports.conf = {
- aliases: [],
- guildOnly: false,
- };
- exports.help = {
- name: 'eval',
- description: 'Evalulates commands.',
- usage: '<code>',
- category: '- Owners Only',
- };
- \ No newline at end of file
+ return message.channel.send({embed});
+ }
+};
+
+exports.conf = {
+ aliases: [],
+ guildOnly: false,
+};
+exports.help = {
+ name: 'eval',
+ description: 'Evalulates commands.',
+ usage: '<code>',
+ category: '- Owners Only',
+};
diff --git a/commands/git.js b/commands/git.js
index d6bed8b..cf754f4 100644
--- a/commands/git.js
+++ b/commands/git.js
@@ -1,43 +1,43 @@
-/****************************************
- *
- * Git: Command for AleeBot
- * Copyright (C) 2017-2020 Alee Productions
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- * *************************************/
-module.exports.run = async (client, message) => {
- const Discord = require('discord.js');
- const git = require('git-last-commit');
- git.getLastCommit(function(err, commit) {
- const embed = new Discord.RichEmbed()
- .setTitle('GitHub Information')
- .addField('**Repository:**', 'https://github.com/aleeproductions/AleeBot-JS')
- .addField('**Last Commit:**', commit.subject)
- .addField('**Commited By:**', commit.author.name)
- .setColor('#1fd619')
- message.channel.send({ embed });
- })
-};
-
-exports.conf = {
- aliases: [],
- guildOnly: false,
-};
-exports.help = {
- name: 'git',
- description: 'Get the git info.',
- usage: 'git',
- category: '- General Commands',
-};
+/** **************************************
+ *
+ * Git: Command for AleeBot
+ * Copyright (C) 2017-2020 Alee Productions
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * *************************************/
+module.exports.run = async (client, message) => {
+ const Discord = require('discord.js');
+ const git = require('git-last-commit');
+ git.getLastCommit(function(err, commit) {
+ const embed = new Discord.RichEmbed()
+ .setTitle('GitHub Information')
+ .addField('**Repository:**', 'https://github.com/aleeproductions/AleeBot-JS')
+ .addField('**Last Commit:**', commit.subject)
+ .addField('**Commited By:**', commit.author.name)
+ .setColor('#1fd619');
+ message.channel.send({embed});
+ });
+};
+
+exports.conf = {
+ aliases: [],
+ guildOnly: false,
+};
+exports.help = {
+ name: 'git',
+ description: 'Get the git info.',
+ usage: 'git',
+ category: '- General Commands',
+};
diff --git a/commands/help.js b/commands/help.js
index eb53b40..9d94c80 100644
--- a/commands/help.js
+++ b/commands/help.js
@@ -1,70 +1,70 @@
-/****************************************
- *
- * Help: Command for AleeBot
- * Copyright (C) 2017-2020 Alee Productions
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- * *************************************/
-const Discord = require('discord.js');
-const fs = require('fs');
-module.exports.run = async (client, message) => {
- const categories = [];
- const commands = Array.from(client.commands.keys());
- const settings = require('../storage/settings.json');
- commands.forEach(function(x) {
- if (!categories.includes(client.commands.get(x).help.category)) {
- categories.push(client.commands.get(x).help.category);
- }
- });
-
- let prefixes = JSON.parse(fs.readFileSync("./storage/prefixes.json", "utf8"));
-
- if(!prefixes[message.guild.id]){
- prefixes[message.guild.id] = {
- prefixes: settings.prefix
- };
- }
-
- let prefix = prefixes[message.guild.id].prefixes
- if (!message.guild.member(client.user).hasPermission('EMBED_LINKS')) return message.reply('ERROR: AleeBot doesn\'t have the permission to send embed links please enable them to use the full help.');
- const embed = new Discord.RichEmbed()
- .setAuthor('AleeBot ' + require('../storage/settings.json').abVersion + ` Help and on ${client.guilds.size} servers`, client.user.avatarURL)
- .setDescription('Every command you input into AleeBot is `' + prefix + '`')
- .setColor('#1fd619')
- .setFooter('© Copyright 2017-2020 Alee Productions, Licensed with GPL-3.0');
-
- categories.forEach(function(x) {
- let cat = '';
- commands.forEach(function(command) {
- if (client.commands.get(command).help.category == x) {
- cat = cat + command + '\n';
- }
- });
- embed.addField(x, cat, true);
- });
-
- await message.channel.send({ embed });
-};
-
-exports.conf = {
- aliases: ['h'],
- guildOnly: false,
-};
-exports.help = {
- name: 'help',
- description: 'Displays all the commands or a page with information for 1 command.',
- usage: 'help (command:command-name)',
- category: '- General Commands',
-};
+/** **************************************
+ *
+ * Help: Command for AleeBot
+ * Copyright (C) 2017-2020 Alee Productions
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * *************************************/
+const Discord = require('discord.js');
+const fs = require('fs');
+module.exports.run = async (client, message) => {
+ const categories = [];
+ const commands = Array.from(client.commands.keys());
+ const settings = require('../storage/settings.json');
+ commands.forEach(function(x) {
+ if (!categories.includes(client.commands.get(x).help.category)) {
+ categories.push(client.commands.get(x).help.category);
+ }
+ });
+
+ const prefixes = JSON.parse(fs.readFileSync('./storage/prefixes.json', 'utf8'));
+
+ if (!prefixes[message.guild.id]) {
+ prefixes[message.guild.id] = {
+ prefixes: settings.prefix,
+ };
+ }
+
+ const prefix = prefixes[message.guild.id].prefixes;
+ if (!message.guild.member(client.user).hasPermission('EMBED_LINKS')) return message.reply('ERROR: AleeBot doesn\'t have the permission to send embed links please enable them to use the full help.');
+ const embed = new Discord.RichEmbed()
+ .setAuthor('AleeBot ' + require('../storage/settings.json').abVersion + ` Help and on ${client.guilds.size} servers`, client.user.avatarURL)
+ .setDescription('Every command you input into AleeBot is `' + prefix + '`')
+ .setColor('#1fd619')
+ .setFooter('© Copyright 2017-2020 Alee Productions, Licensed with GPL-3.0');
+
+ categories.forEach(function(x) {
+ let cat = '';
+ commands.forEach(function(command) {
+ if (client.commands.get(command).help.category == x) {
+ cat = cat + command + '\n';
+ }
+ });
+ embed.addField(x, cat, true);
+ });
+
+ await message.channel.send({embed});
+};
+
+exports.conf = {
+ aliases: ['h'],
+ guildOnly: false,
+};
+exports.help = {
+ name: 'help',
+ description: 'Displays all the commands or a page with information for 1 command.',
+ usage: 'help (command:command-name)',
+ category: '- General Commands',
+};
diff --git a/commands/info.js b/commands/info.js
index 162a1cf..5487a14 100644
--- a/commands/info.js
+++ b/commands/info.js
@@ -1,5 +1,5 @@
-/****************************************
- *
+/** **************************************
+ *
* Info: Command for AleeBot
* Copyright (C) 2017-2020 Alee Productions
*
@@ -15,29 +15,28 @@
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ *
* *************************************/
module.exports.run = async (client, message) => {
- const Discord = require('discord.js');
- const os = require('os');
- const embed = new Discord.RichEmbed()
+ const Discord = require('discord.js');
+ const os = require('os');
+ const embed = new Discord.RichEmbed()
.setTitle('Information on AleeBot\'s Host')
- .addField('OS Hostname: ', os.hostname() , true)
- .addField('NodeJS Version: ', process.versions.node , true)
- .addField('OS Platform: ', os.platform() , true)
- .addField('OS Version: ', os.release() , true)
+ .addField('OS Hostname: ', os.hostname(), true)
+ .addField('NodeJS Version: ', process.versions.node, true)
+ .addField('OS Platform: ', os.platform(), true)
+ .addField('OS Version: ', os.release(), true)
.setColor('#1fd619');
- message.channel.send({embed});
- };
-
- exports.conf = {
- aliases: [],
- guildOnly: false,
- };
- exports.help = {
- name: 'info',
- description: 'Tells you information about the bot',
- usage: 'info',
- category: '- Information Commands',
- };
- \ No newline at end of file
+ message.channel.send({embed});
+};
+
+exports.conf = {
+ aliases: [],
+ guildOnly: false,
+};
+exports.help = {
+ name: 'info',
+ description: 'Tells you information about the bot',
+ usage: 'info',
+ category: '- Information Commands',
+};
diff --git a/commands/interrogate.js b/commands/interrogate.js
index ea7de53..c015f2c 100644
--- a/commands/interrogate.js
+++ b/commands/interrogate.js
@@ -1,5 +1,5 @@
-/****************************************
- *
+/** **************************************
+ *
* Interrogate: Command for AleeBot
* Copyright (C) 2017-2020 Alee Productions
*
@@ -15,29 +15,28 @@
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ *
* *************************************/
module.exports.run = async (client, message, args) => {
- if (message.guild.id != '243022206437687296') return message.reply ('This is a ALP exclusive command.');
+ if (message.guild.id != '243022206437687296') return message.reply('This is a ALP exclusive command.');
- if (!message.member.hasPermission('BAN_MEMBERS')) return message.reply('It looks like that you don\'t have the permissions to jail members.');
- if (!message.guild.member(client.user).hasPermission('MANAGE_ROLES')) return message.reply('Uhh... I don\'t have permission to jail members.');
+ if (!message.member.hasPermission('BAN_MEMBERS')) return message.reply('It looks like that you don\'t have the permissions to jail members.');
+ if (!message.guild.member(client.user).hasPermission('MANAGE_ROLES')) return message.reply('Uhh... I don\'t have permission to jail members.');
- const member = message.mentions.members.first();
- if (!member) return await message.reply('Uhh... Please mention a member first.');
+ const member = message.mentions.members.first();
+ if (!member) return await message.reply('Uhh... Please mention a member first.');
- member.addRole(message.guild.roles.find('name', 'Interrogation'));
- message.reply(`Alright, I just interrogated ${member.user.tag}.`)
+ member.addRole(message.guild.roles.find('name', 'Interrogation'));
+ message.reply(`Alright, I just interrogated ${member.user.tag}.`);
};
exports.conf = {
- aliases: [],
- guildOnly: false,
- };
- exports.help = {
- name: 'interrogate',
- description: 'Interrogates a member',
- usage: 'interrogate [user]',
- category: '- ALP Exclusive Commands',
- };
- \ No newline at end of file
+ aliases: [],
+ guildOnly: false,
+};
+exports.help = {
+ name: 'interrogate',
+ description: 'Interrogates a member',
+ usage: 'interrogate [user]',
+ category: '- ALP Exclusive Commands',
+};
diff --git a/commands/invite.js b/commands/invite.js
index 38094b4..a6ce5a8 100644
--- a/commands/invite.js
+++ b/commands/invite.js
@@ -1,5 +1,5 @@
-/****************************************
- *
+/** **************************************
+ *
* Invite: Command for AleeBot
* Copyright (C) 2017-2020 Alee Productions
*
@@ -15,37 +15,37 @@
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ *
* *************************************/
module.exports.run = async (client, message) => {
- const Discord = require('discord.js');
- const embed = new Discord.RichEmbed()
- message.channel.send({embed: {
+ const Discord = require('discord.js');
+ const embed = new Discord.RichEmbed();
+ message.channel.send({embed: {
color: 2086425,
- title: "Invite Command",
+ title: 'Invite Command',
fields: [{
- name: "Invite AleeBot",
- value: "[Invite AleeBot to your server.](https://top.gg/bot/282547024547545109)"
- },
- {
- name: "Join the Alee Productions Community",
- value: "[If there's any bugs you can join Alee Community guild and explain the bug...](https://discord.gg/EFhRDqG)"
- }
+ name: 'Invite AleeBot',
+ value: '[Invite AleeBot to your server.](https://top.gg/bot/282547024547545109)',
+ },
+ {
+ name: 'Join the Alee Productions Community',
+ value: '[If there\'s any bugs you can join Alee Community guild and explain the bug...](https://discord.gg/EFhRDqG)',
+ },
],
- }
-});
-
- // message.channel.send('Want AleeBot in your server? Here\'s the link: https://discordapp.com/api/oauth2/authorize?client_id=282547024547545109&permissions=2080375863&scope=bot');
- };
-
- exports.conf = {
- aliases: [],
- guildOnly: false,
- };
- exports.help = {
- name: 'invite',
- description: 'Gives you an invite to the guild and the bot.',
- usage: 'invite',
- category: '- General Commands',
- };
-
+ },
+ });
+
+ // message.channel.send('Want AleeBot in your server? Here\'s the link: https://discordapp.com/api/oauth2/authorize?client_id=282547024547545109&permissions=2080375863&scope=bot');
+};
+
+exports.conf = {
+ aliases: [],
+ guildOnly: false,
+};
+exports.help = {
+ name: 'invite',
+ description: 'Gives you an invite to the guild and the bot.',
+ usage: 'invite',
+ category: '- General Commands',
+};
+
diff --git a/commands/jail.js b/commands/jail.js
index e1ba85f..199ae20 100644
--- a/commands/jail.js
+++ b/commands/jail.js
@@ -1,5 +1,5 @@
-/****************************************
- *
+/** **************************************
+ *
* Jail: Command for AleeBot
* Copyright (C) 2017-2020 Alee Productions
*
@@ -15,29 +15,28 @@
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ *
* *************************************/
module.exports.run = async (client, message, args) => {
- if (message.guild.id != '243022206437687296') return message.reply ('This is a ALP exclusive command.');
+ if (message.guild.id != '243022206437687296') return message.reply('This is a ALP exclusive command.');
- if (!message.member.hasPermission('BAN_MEMBERS')) return message.reply('It looks like that you don\'t have the permissions to jail members.');
- if (!message.guild.member(client.user).hasPermission('MANAGE_ROLES')) return message.reply('Uhh... I don\'t have permission to jail members.');
+ if (!message.member.hasPermission('BAN_MEMBERS')) return message.reply('It looks like that you don\'t have the permissions to jail members.');
+ if (!message.guild.member(client.user).hasPermission('MANAGE_ROLES')) return message.reply('Uhh... I don\'t have permission to jail members.');
- const member = message.mentions.members.first();
- if (!member) return await message.reply('Uhh... Please mention a member first.');
+ const member = message.mentions.members.first();
+ if (!member) return await message.reply('Uhh... Please mention a member first.');
- member.addRole(message.guild.roles.find('name', 'Jail'));
- message.reply(`Alright, I just jailed ${member.user.tag}.`)
+ member.addRole(message.guild.roles.find('name', 'Jail'));
+ message.reply(`Alright, I just jailed ${member.user.tag}.`);
};
exports.conf = {
- aliases: [],
- guildOnly: false,
- };
- exports.help = {
- name: 'jail',
- description: 'Jails a member',
- usage: 'jail [user]',
- category: '- ALP Exclusive Commands',
- };
- \ No newline at end of file
+ aliases: [],
+ guildOnly: false,
+};
+exports.help = {
+ name: 'jail',
+ description: 'Jails a member',
+ usage: 'jail [user]',
+ category: '- ALP Exclusive Commands',
+};
diff --git a/commands/kick.js b/commands/kick.js
index dbb1eb1..bfacd92 100644
--- a/commands/kick.js
+++ b/commands/kick.js
@@ -1,5 +1,5 @@
-/****************************************
- *
+/** **************************************
+ *
* Kick: Command for AleeBot
* Copyright (C) 2017-2020 Alee Productions
*
@@ -15,23 +15,23 @@
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ *
* *************************************/
module.exports.run = async (client, message, args) => {
- const Discord = require('discord.js');
- const mreason = args.join(" ").slice(22);
- if (!message.member.permissions.has('KICK_MEMBERS')) return message.reply("It looks like that you don't have the permissions to ban people.");
- if (!message.guild.member(client.user).hasPermission('KICK_MEMBERS')) return message.reply('Uhh... I don\'t have permission to kick members.');
- const member = message.mentions.members.first();
- if (!member) return message.reply("Uhh... Please mention a member first.");
- member.kick(`Kicked by: ${message.author.tag} Reason: ` + mreason);
- const embed = new Discord.RichEmbed()
- .setTitle('User Kicked!')
- .setColor('#1fd619')
- .addField('**User:**', `${member.user.tag}`)
- .addField('**Reason:**', `\`\`\`${mreason}\`\`\``)
- await message.channel.send({ embed });
- };
+ const Discord = require('discord.js');
+ const mreason = args.join(' ').slice(22);
+ if (!message.member.permissions.has('KICK_MEMBERS')) return message.reply('It looks like that you don\'t have the permissions to ban people.');
+ if (!message.guild.member(client.user).hasPermission('KICK_MEMBERS')) return message.reply('Uhh... I don\'t have permission to kick members.');
+ const member = message.mentions.members.first();
+ if (!member) return message.reply('Uhh... Please mention a member first.');
+ member.kick(`Kicked by: ${message.author.tag} Reason: ` + mreason);
+ const embed = new Discord.RichEmbed()
+ .setTitle('User Kicked!')
+ .setColor('#1fd619')
+ .addField('**User:**', `${member.user.tag}`)
+ .addField('**Reason:**', `\`\`\`${mreason}\`\`\``);
+ await message.channel.send({embed});
+};
exports.conf = {
aliases: [],
diff --git a/commands/leaveguild.js b/commands/leaveguild.js
index 4a77b0c..fd77509 100644
--- a/commands/leaveguild.js
+++ b/commands/leaveguild.js
@@ -1,5 +1,5 @@
-/****************************************
- *
+/** **************************************
+ *
* LeaveGuild: Command for AleeBot
* Copyright (C) 2017-2020 Alee Productions
*
@@ -15,22 +15,21 @@
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ *
* *************************************/
module.exports.run = async (client, message) => {
- if (!['242775871059001344', message.guild.owner.user.id].includes(message.author.id)) return message.reply('Nope! You need the person who created this bot or the owner of this guild to use this command.');
- message.channel.send('Alright, I\'m leaving the server now. Bye everyone!')
- message.guild.leave();
- };
-
- exports.conf = {
- aliases: [],
- guildOnly: false,
- };
- exports.help = {
- name: 'leaveguild',
- description: 'Makes the bot leave the server',
- usage: 'leaveguild',
- category: '- Owners Only',
- };
- \ No newline at end of file
+ if (!['242775871059001344', message.guild.owner.user.id].includes(message.author.id)) return message.reply('Nope! You need the person who created this bot or the owner of this guild to use this command.');
+ message.channel.send('Alright, I\'m leaving the server now. Bye everyone!');
+ message.guild.leave();
+};
+
+exports.conf = {
+ aliases: [],
+ guildOnly: false,
+};
+exports.help = {
+ name: 'leaveguild',
+ description: 'Makes the bot leave the server',
+ usage: 'leaveguild',
+ category: '- Owners Only',
+};
diff --git a/commands/pay.js b/commands/pay.js
index 633e4db..2d0aa89 100644
--- a/commands/pay.js
+++ b/commands/pay.js
@@ -1,5 +1,5 @@
-/****************************************
- *
+/** **************************************
+ *
* Pay: Command for AleeBot
* Copyright (C) 2017-2020 Alee Productions
*
@@ -15,46 +15,46 @@
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ *
* *************************************/
module.exports.run = async (client, message, args) => {
- const db = require('quick.db');
- if (!message.mentions.members.first()) return message.reply('Please mention a user...');
-
- let targetMember = message.mentions.members.first(),
- amount = parseInt(args.join(' ').replace(targetMember, ''));
-
- if (isNaN(amount)) return message.reply('Please define an amount.')
-
- let targetBalance = await db.fetch(`userBalance_${targetMember.id}`),
- selfBalance = await db.fetch(`userBalance_${message.author.id}`);
-
- if (targetBalance === null) {
- db.set(`userBalance_${targetMember.id}`, 0);
- targetBalance = 0
- }
-
- if (selfBalance === null) {
- db.set(`userBalance_${message.author.id}`, 0);
- selfBalance = 0
- }
-
- if (amount > selfBalance) return message.reply('Sorry you don\'t have enough money.');
-
- db.add(`userBalance_${targetMember.id}`, amount);
- db.subtract(`userBalance_${message.author.id}`, amount);
-
- message.reply(`Successfully transfered $${amount} to ${targetMember.user}`)
- };
-
- exports.conf = {
- aliases: ['transfer'],
- guildOnly: false,
- };
- exports.help = {
- name: 'pay',
- description: 'You can pay others!',
- usage: 'pay [@user] [interger]',
- category: '- Economy Commands',
- }; \ No newline at end of file
+ const db = require('quick.db');
+ if (!message.mentions.members.first()) return message.reply('Please mention a user...');
+
+ const targetMember = message.mentions.members.first();
+ const amount = parseInt(args.join(' ').replace(targetMember, ''));
+
+ if (isNaN(amount)) return message.reply('Please define an amount.');
+
+ let targetBalance = await db.fetch(`userBalance_${targetMember.id}`);
+ let selfBalance = await db.fetch(`userBalance_${message.author.id}`);
+
+ if (targetBalance === null) {
+ db.set(`userBalance_${targetMember.id}`, 0);
+ targetBalance = 0;
+ }
+
+ if (selfBalance === null) {
+ db.set(`userBalance_${message.author.id}`, 0);
+ selfBalance = 0;
+ }
+
+ if (amount > selfBalance) return message.reply('Sorry you don\'t have enough money.');
+
+ db.add(`userBalance_${targetMember.id}`, amount);
+ db.subtract(`userBalance_${message.author.id}`, amount);
+
+ message.reply(`Successfully transfered $${amount} to ${targetMember.user}`);
+};
+
+exports.conf = {
+ aliases: ['transfer'],
+ guildOnly: false,
+};
+exports.help = {
+ name: 'pay',
+ description: 'You can pay others!',
+ usage: 'pay [@user] [interger]',
+ category: '- Economy Commands',
+};
diff --git a/commands/ping.js b/commands/ping.js
index fa1fd10..afb3807 100644
--- a/commands/ping.js
+++ b/commands/ping.js
@@ -1,33 +1,33 @@
-/****************************************
- *
- * Ping: Command for AleeBot
- * Copyright (C) 2017-2020 Alee Productions
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- * *************************************/
-module.exports.run = async (client, message) => {
- message.reply('**PONG!** :ping_pong: ' + Math.round(client.ping) + ' ms');
-};
-
-exports.conf = {
- aliases: [],
- guildOnly: false,
-};
-exports.help = {
- name: 'ping',
- description: 'Ping the bot.',
- usage: 'ping',
- category: '- General Commands',
-};
+/** **************************************
+ *
+ * Ping: Command for AleeBot
+ * Copyright (C) 2017-2020 Alee Productions
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * *************************************/
+module.exports.run = async (client, message) => {
+ message.reply('**PONG!** :ping_pong: ' + Math.round(client.ping) + ' ms');
+};
+
+exports.conf = {
+ aliases: [],
+ guildOnly: false,
+};
+exports.help = {
+ name: 'ping',
+ description: 'Ping the bot.',
+ usage: 'ping',
+ category: '- General Commands',
+};
diff --git a/commands/poweroff.js b/commands/poweroff.js
index 3af23b8..3f60f8a 100644
--- a/commands/poweroff.js
+++ b/commands/poweroff.js
@@ -1,5 +1,5 @@
-/****************************************
- *
+/** **************************************
+ *
* Poweroff: Command for AleeBot
* Copyright (C) 2017-2020 Alee Productions
*
@@ -15,29 +15,28 @@
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ *
* *************************************/
module.exports.run = async (client, message, args) => {
const Discord = require('discord.js');
- if (!['242775871059001344',].includes(message.author.id)) return message.reply('Nope! You need the person who created this bot to use this command.');
- const embed = new Discord.RichEmbed()
- .setAuthor("AleeBot Status", client.user.avatarURL)
- .setDescription("AleeBot is now going offline...")
- .setColor("#ff3333")
- await client.channels.find('id', '606602551634296968').send({embed});
- await message.reply(':warning: AleeBot will now exit!');
- client.destroy();
- process.exit(0);
- };
-
- exports.conf = {
- aliases: ['reboot'],
- guildOnly: false,
- };
- exports.help = {
- name: 'poweroff',
- description: 'Turns off AleeBot.',
- usage: 'poweroff',
- category: '- Owners Only',
- };
- \ No newline at end of file
+ if (!['242775871059001344'].includes(message.author.id)) return message.reply('Nope! You need the person who created this bot to use this command.');
+ const embed = new Discord.RichEmbed()
+ .setAuthor('AleeBot Status', client.user.avatarURL)
+ .setDescription('AleeBot is now going offline...')
+ .setColor('#ff3333');
+ await client.channels.find('id', '606602551634296968').send({embed});
+ await message.reply(':warning: AleeBot will now exit!');
+ client.destroy();
+ process.exit(0);
+};
+
+exports.conf = {
+ aliases: ['reboot'],
+ guildOnly: false,
+};
+exports.help = {
+ name: 'poweroff',
+ description: 'Turns off AleeBot.',
+ usage: 'poweroff',
+ category: '- Owners Only',
+};
diff --git a/commands/purge.js b/commands/purge.js
index 9a510f9..6122083 100644
--- a/commands/purge.js
+++ b/commands/purge.js
@@ -1,5 +1,5 @@
-/****************************************
- *
+/** **************************************
+ *
* Purge: Command for AleeBot
* Copyright (C) 2017-2020 Alee Productions
*
@@ -15,26 +15,25 @@
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ *
* *************************************/
module.exports.run = async (client, message, args) => {
- if (!message.member.permissions.has('MANAGE_MESSAGES')) return message.reply("It looks like that you don't have the permissions to delete messages.")
- if (isNaN(args[0])) return message.reply("Please put the valid number of messages to purge.");
+ if (!message.member.permissions.has('MANAGE_MESSAGES')) return message.reply('It looks like that you don\'t have the permissions to delete messages.');
+ if (isNaN(args[0])) return message.reply('Please put the valid number of messages to purge.');
+
+ if (args[0] > 100) return message.channel.send('Please put a number less than 100.');
- if (args[0] > 100) return message.channel.send("Please put a number less than 100.");
+ message.channel.bulkDelete(args[0])
+ .then( (messages) => message.channel.send(`Successfully deleted ${messages.size} messages.`));
+};
- message.channel.bulkDelete(args[0])
- .then( messages => message.channel.send(`Successfully deleted ${messages.size} messages.`))
- };
-
- exports.conf = {
- aliases: ['rm'],
- guildOnly: false,
- };
- exports.help = {
- name: 'purge',
- description: 'Removes messages in a bulk.',
- usage: 'purge [number]',
- category: '- Moderation Commands',
- };
- \ No newline at end of file
+exports.conf = {
+ aliases: ['rm'],
+ guildOnly: false,
+};
+exports.help = {
+ name: 'purge',
+ description: 'Removes messages in a bulk.',
+ usage: 'purge [number]',
+ category: '- Moderation Commands',
+};
diff --git a/commands/quote.js b/commands/quote.js
index 9aa9be0..ce7b56a 100644
--- a/commands/quote.js
+++ b/commands/quote.js
@@ -1,5 +1,5 @@
-/****************************************
- *
+/** **************************************
+ *
* Quote: Command for AleeBot
* Copyright (C) 2017-2020 Alee Productions
*
@@ -15,16 +15,16 @@
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ *
* *************************************/
module.exports.run = async (client, message) => {
-const Discord = require('discord.js');
+ const Discord = require('discord.js');
-let NewQuote;
+ let NewQuote;
function GetNewQuote(quoteNum = -1) {
NewQuote = new Discord.RichEmbed();
-
+
let quo = require('../storage/quotes.json').quotes;
if (quoteNum == -1) {
@@ -47,19 +47,18 @@ let NewQuote;
return NewQuote;
}
- const newquote = GetNewQuote();
- message.reply('Alright, here\'s your quote.')
- message.channel.send(newquote);
+ const newquote = GetNewQuote();
+ message.reply('Alright, here\'s your quote.');
+ message.channel.send(newquote);
};
exports.conf = {
- aliases: [],
- guildOnly: false,
- };
- exports.help = {
- name: 'quote',
- description: 'Tells you quotes',
- usage: 'quote',
- category: '- Quote Commands',
- };
- \ No newline at end of file
+ aliases: [],
+ guildOnly: false,
+};
+exports.help = {
+ name: 'quote',
+ description: 'Tells you quotes',
+ usage: 'quote',
+ category: '- Quote Commands',
+};
diff --git a/commands/say.js b/commands/say.js
index 4f25aec..774e9e3 100644
--- a/commands/say.js
+++ b/commands/say.js
@@ -1,5 +1,5 @@
-/****************************************
- *
+/** **************************************
+ *
* Say: Command for AleeBot
* Copyright (C) 2017-2020 Alee Productions
*
@@ -15,23 +15,22 @@
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ *
* *************************************/
module.exports.run = async (client, message, args) => {
- if (!['242775871059001344',].includes(message.author.id)) return message.reply('Nope! You need the person who created this bot to use this command.');
- let absay = args.join(" ");
- message.delete().catch();
- message.channel.send(absay);
- };
-
- exports.conf = {
- aliases: [],
- guildOnly: false,
- };
- exports.help = {
- name: 'say',
- description: 'You can control AleeBot now!',
- usage: 'say [context]',
- category: '- Owners Only',
- };
- \ No newline at end of file
+ if (!['242775871059001344'].includes(message.author.id)) return message.reply('Nope! You need the person who created this bot to use this command.');
+ const absay = args.join(' ');
+ message.delete().catch();
+ message.channel.send(absay);
+};
+
+exports.conf = {
+ aliases: [],
+ guildOnly: false,
+};
+exports.help = {
+ name: 'say',
+ description: 'You can control AleeBot now!',
+ usage: 'say [context]',
+ category: '- Owners Only',
+};
diff --git a/commands/setprefix.js b/commands/setprefix.js
index f9aac08..1c53509 100644
--- a/commands/setprefix.js
+++ b/commands/setprefix.js
@@ -1,5 +1,5 @@
-/****************************************
- *
+/** **************************************
+ *
* SetPrefix: Command for AleeBot
* Copyright (C) 2017-2020 Alee Productions
*
@@ -15,41 +15,38 @@
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ *
* *************************************/
module.exports.run = async (client, message, args) => {
const moment = require('moment');
- const log = message => {
-
+ const log = (message) => {
console.log(`[${moment().format('YYYY-MM-DD HH:mm:ss')}] ${message}`);
-
};
- const fs = require('fs');
- if(!message.member.hasPermission("ADMINISTRATOR")) return message.reply('Sorry you need admin to set my prefix')
- if(!args[0] || args[0 == "help"]) return message.reply(`Usage: <your prefix>setprefix <prefix>`)
+ const fs = require('fs');
+ if (!message.member.hasPermission('ADMINISTRATOR')) return message.reply('Sorry you need admin to set my prefix');
+ if (!args[0] || args[0 == 'help']) return message.reply(`Usage: <your prefix>setprefix <prefix>`);
- let prefixes = JSON.parse(fs.readFileSync("./storage/prefixes.json", "utf8"));
+ const prefixes = JSON.parse(fs.readFileSync('./storage/prefixes.json', 'utf8'));
- prefixes[message.guild.id] = {
- prefixes: args[0]
- };
+ prefixes[message.guild.id] = {
+ prefixes: args[0],
+ };
- fs.writeFile("./storage/prefixes.json", JSON.stringify(prefixes), (err) =>{
- if (err) log(err)
- })
+ fs.writeFile('./storage/prefixes.json', JSON.stringify(prefixes), (err) =>{
+ if (err) log(err);
+ });
- message.reply(`AleeBot's Prefix in this guild is now \`${args[0]}\``);
- log(`[i] The guild ${message.guild.name} has changed AleeBot's prefix to ${args[0]}`)
- };
-
- exports.conf = {
- aliases: [],
- guildOnly: true,
- };
- exports.help = {
- name: 'setprefix',
- description: 'Sets the guild prefix.',
- usage: 'setprefix [prefix]',
- category: '- Settings Commands',
- };
- \ No newline at end of file
+ message.reply(`AleeBot's Prefix in this guild is now \`${args[0]}\``);
+ log(`[i] The guild ${message.guild.name} has changed AleeBot's prefix to ${args[0]}`);
+};
+
+exports.conf = {
+ aliases: [],
+ guildOnly: true,
+};
+exports.help = {
+ name: 'setprefix',
+ description: 'Sets the guild prefix.',
+ usage: 'setprefix [prefix]',
+ category: '- Settings Commands',
+};
diff --git a/commands/suggest.js b/commands/suggest.js
index 1b2d814..6fb4289 100644
--- a/commands/suggest.js
+++ b/commands/suggest.js
@@ -1,5 +1,5 @@
-/****************************************
- *
+/** **************************************
+ *
* Suggest: Command for AleeBot
* Copyright (C) 2017-2020 Alee Productions
*
@@ -15,32 +15,31 @@
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ *
* *************************************/
module.exports.run = async (client, message, args) => {
- if (message.guild.id != '243022206437687296') return message.reply ('This is a ALP exclusive command.');
- const { RichEmbed } = require('discord.js');
- client.channels.find('id', '427495678390960148').send(
- new RichEmbed()
- .setColor ('#1fd619')
+ if (message.guild.id != '243022206437687296') return message.reply('This is a ALP exclusive command.');
+ const {RichEmbed} = require('discord.js');
+ client.channels.find('id', '427495678390960148').send(
+ new RichEmbed()
+ .setColor('#1fd619')
.setTitle('Suggestion')
.setDescription(`This is a suggestion from `+ message.author.username +` please react to it using the following emojis.`)
- .addField('Suggestion Contents', args.join(' '))
- ).then(message => {
- message.react('\u2705');
- message.react('\u274E');
- });
- message.reply("Your suggestion has been shown in the suggestions channel.")
- };
-
- exports.conf = {
- aliases: [],
- guildOnly: false,
- };
- exports.help = {
- name: 'suggest',
- description: 'Suggest a feature in ACN.',
- usage: 'suggest [suggestion]',
- category: '- ALP Exclusive Commands',
- };
- \ No newline at end of file
+ .addField('Suggestion Contents', args.join(' ')),
+ ).then((message) => {
+ message.react('\u2705');
+ message.react('\u274E');
+ });
+ message.reply('Your suggestion has been shown in the suggestions channel.');
+};
+
+exports.conf = {
+ aliases: [],
+ guildOnly: false,
+};
+exports.help = {
+ name: 'suggest',
+ description: 'Suggest a feature in ACN.',
+ usage: 'suggest [suggestion]',
+ category: '- ALP Exclusive Commands',
+};
diff --git a/commands/suggestfeature.js b/commands/suggestfeature.js
index 95e1c2d..fac82a6 100644
--- a/commands/suggestfeature.js
+++ b/commands/suggestfeature.js
@@ -19,6 +19,7 @@
* *************************************/
module.exports.run = async (client, message, args) => {
const { RichEmbed } = require('discord.js');
+
client.channels.find('id', '427495678390960148').send(
new RichEmbed()
.setColor ('#1fd619')
diff --git a/commands/uptime.js b/commands/uptime.js
index 7c8d9fe..8f97d02 100644
--- a/commands/uptime.js
+++ b/commands/uptime.js
@@ -1,45 +1,43 @@
-/****************************************
- *
- * Uptime: Command for AleeBot
- * Copyright (C) 2017-2020 Alee Productions & OfficialRain
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- * *************************************/
-module.exports.run = async (client, message) => {
-
- let uptime = parseInt(client.uptime);
- uptime = Math.floor(uptime / 1000);
- let uptimeMinutes = Math.floor(uptime / 60);
- const minutes = uptime % 60;
- let hours = 0;
- while (uptimeMinutes >= 60) {
- hours++;
- uptimeMinutes = uptimeMinutes - 60;
- }
- const uptimeSeconds = minutes % 60;
- message.channel.send(':clock3: AleeBot has been up for ' + hours + ' hours, ' + uptimeMinutes + ' minutes, and ' + uptimeSeconds + ' seconds.');
-
-};
-
-exports.conf = {
- aliases: [],
- guildOnly: false,
-};
-exports.help = {
- name: 'uptime',
- description: 'Displays Uptime.',
- usage: 'uptime',
- category: '- General Commands',
-};
+/** **************************************
+ *
+ * Uptime: Command for AleeBot
+ * Copyright (C) 2017-2020 Alee Productions & OfficialRain
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * *************************************/
+module.exports.run = async (client, message) => {
+ let uptime = parseInt(client.uptime);
+ uptime = Math.floor(uptime / 1000);
+ let uptimeMinutes = Math.floor(uptime / 60);
+ const minutes = uptime % 60;
+ let hours = 0;
+ while (uptimeMinutes >= 60) {
+ hours++;
+ uptimeMinutes = uptimeMinutes - 60;
+ }
+ const uptimeSeconds = minutes % 60;
+ message.channel.send(':clock3: AleeBot has been up for ' + hours + ' hours, ' + uptimeMinutes + ' minutes, and ' + uptimeSeconds + ' seconds.');
+};
+
+exports.conf = {
+ aliases: [],
+ guildOnly: false,
+};
+exports.help = {
+ name: 'uptime',
+ description: 'Displays Uptime.',
+ usage: 'uptime',
+ category: '- General Commands',
+};
diff --git a/commands/userinfo.js b/commands/userinfo.js
index 2eebd8b..3b79beb 100644
--- a/commands/userinfo.js
+++ b/commands/userinfo.js
@@ -1,5 +1,5 @@
-/****************************************
- *
+/** **************************************
+ *
* UserInfo: Command for AleeBot
* Copyright (C) 2017-2020 Alee Productions
*
@@ -15,30 +15,28 @@
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ *
* *************************************/
module.exports.run = async (client, message) => {
- const Discord = require('discord.js');
- var embed = new Discord.RichEmbed()
- .setAuthor(message.author.tag, message.author.avatarURL)
- .setDescription("User Information")
- .setThumbnail(message.author.avatarURL)
- .addField("Names", "**Username:** " + message.author.username + "\n**Current Nickname:** " + message.member.displayName)
- .addField("Identity", `**User ID:** ${message.author.id} `)
- .addField("Create and Join Times", "**Created At:** " + message.member.user.createdAt.toUTCString() + "\n**Joined Guild At:** " + message.member.joinedAt.toUTCString())
- .setColor('#1fd619')
- message.channel.send({embed});
+ const Discord = require('discord.js');
+ const embed = new Discord.RichEmbed()
+ .setAuthor(message.author.tag, message.author.avatarURL)
+ .setDescription('User Information')
+ .setThumbnail(message.author.avatarURL)
+ .addField('Names', '**Username:** ' + message.author.username + '\n**Current Nickname:** ' + message.member.displayName)
+ .addField('Identity', `**User ID:** ${message.author.id} `)
+ .addField('Create and Join Times', '**Created At:** ' + message.member.user.createdAt.toUTCString() + '\n**Joined Guild At:** ' + message.member.joinedAt.toUTCString())
+ .setColor('#1fd619');
+ message.channel.send({embed});
+};
- };
-
- exports.conf = {
- aliases: ['uinfo'],
- guildOnly: false,
- };
- exports.help = {
- name: 'userinfo',
- description: 'Tells your info.',
- usage: 'userinfo',
- category: '- Information Commands',
- };
- \ No newline at end of file
+exports.conf = {
+ aliases: ['uinfo'],
+ guildOnly: false,
+};
+exports.help = {
+ name: 'userinfo',
+ description: 'Tells your info.',
+ usage: 'userinfo',
+ category: '- Information Commands',
+};
diff --git a/commands/vtquote.js b/commands/vtquote.js
index e21db08..7d1ccd0 100644
--- a/commands/vtquote.js
+++ b/commands/vtquote.js
@@ -1,5 +1,5 @@
-/****************************************
- *
+/** **************************************
+ *
* VTQuote: Command for AleeBot
* Copyright (C) 2017-2020 Alee Productions
*
@@ -15,51 +15,50 @@
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ *
* *************************************/
module.exports.run = async (client, message) => {
- const Discord = require('discord.js');
-
- let VictorQuote;
-
- function GetVictorQuote(quoteNum = -1) {
- VictorQuote = new Discord.RichEmbed();
-
- let quo = require('../storage/vtquotes.json').quotes
-
- if (quoteNum == -1) {
- quoteNum = Math.floor(Math.random() * 1000) % quo.length;
- quo=quo[quoteNum];
- }
-
- const author = quo.author;
- const authorImage = quo.authorImage;
- const quote = quo.quote;
- const year = quo.year;
- const url = quo.url;
-
- VictorQuote.setAuthor(author, authorImage);
- VictorQuote.setColor('#1fd619');
- VictorQuote.setDescription(quote);
- VictorQuote.setFooter('- ' + year);
- VictorQuote.setURL(url);
-
- return VictorQuote;
- }
-
- const victorquote = GetVictorQuote();
- message.reply('Alright, here\'s your Victor quote.')
- message.channel.send(victorquote);
- };
-
- exports.conf = {
- aliases: [],
- guildOnly: false,
- };
- exports.help = {
- name: 'vtquote',
- description: 'Tells you quotes when victor accidentaly swore.',
- usage: 'vtquote',
- category: '- Quote Commands',
- };
- \ No newline at end of file
+ const Discord = require('discord.js');
+
+ let VictorQuote;
+
+ function GetVictorQuote(quoteNum = -1) {
+ VictorQuote = new Discord.RichEmbed();
+
+ let quo = require('../storage/vtquotes.json').quotes;
+
+ if (quoteNum == -1) {
+ quoteNum = Math.floor(Math.random() * 1000) % quo.length;
+ quo=quo[quoteNum];
+ }
+
+ const author = quo.author;
+ const authorImage = quo.authorImage;
+ const quote = quo.quote;
+ const year = quo.year;
+ const url = quo.url;
+
+ VictorQuote.setAuthor(author, authorImage);
+ VictorQuote.setColor('#1fd619');
+ VictorQuote.setDescription(quote);
+ VictorQuote.setFooter('- ' + year);
+ VictorQuote.setURL(url);
+
+ return VictorQuote;
+ }
+
+ const victorquote = GetVictorQuote();
+ message.reply('Alright, here\'s your Victor quote.');
+ message.channel.send(victorquote);
+};
+
+exports.conf = {
+ aliases: [],
+ guildOnly: false,
+};
+exports.help = {
+ name: 'vtquote',
+ description: 'Tells you quotes when victor accidentaly swore.',
+ usage: 'vtquote',
+ category: '- Quote Commands',
+};
diff --git a/deprecated/buy.js b/deprecated/buy.js
index e5b8fee..8e52f08 100644
--- a/deprecated/buy.js
+++ b/deprecated/buy.js
@@ -1,5 +1,5 @@
-/****************************************
- *
+/** **************************************
+ *
* Buy: Command for AleeBot
* Copyright (C) 2018 AleeCorp
*
@@ -15,7 +15,7 @@
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ *
* *************************************/
module.exports.run = async (client, message, args) => {
/*
@@ -23,27 +23,27 @@ const Discord = require('discord.js');
const fs = require('fs')
const db = require('quick.db');
const items = JSON.parse(fs.readFileSync('./storage/items.json', 'utf8'));
-
- let categories = [];
- if (!args.join(" ")) {
+ let categories = [];
+
+ if (!args.join(" ")) {
+
+
+ for (var i in items) {
-
- for (var i in items) {
-
if (!categories.includes(items[i].type)) {
categories.push(items[i].type)
}
}
-
+
const embed = new Discord.RichEmbed()
.setDescription(`Available Items`)
.setColor('#1fd619')
- for (var i = 0; i < categories.length; i++) {
+ for (var i = 0; i < categories.length; i++) {
var tempDesc = '';
@@ -60,7 +60,7 @@ const items = JSON.parse(fs.readFileSync('./storage/items.json', 'utf8'));
}
-
+
return message.channel.send({
embed
});
@@ -72,15 +72,15 @@ const items = JSON.parse(fs.readFileSync('./storage/items.json', 'utf8'));
let itemPrice = 0;
let itemDesc = '';
- for (var i in items) {
- if (args.join(" ").trim().toUpperCase() === items[i].name.toUpperCase()) {
+ for (var i in items) {
+ if (args.join(" ").trim().toUpperCase() === items[i].name.toUpperCase()) {
itemName = items[i].name;
itemPrice = items[i].price;
itemDesc = items[i].desc;
}
}
-
+
if (itemName === '') {
return message.channel.send(`Item ${args.join(" ").trim()} not found.`)
}
@@ -90,10 +90,10 @@ const items = JSON.parse(fs.readFileSync('./storage/items.json', 'utf8'));
if (selfBalance === null) {
db.set(`userBalance_${message.author.id}`, 0);
selfBalance = 0
- }
+ }
if (itemPrice > selfBalance) return message.reply('You don\'t have enough money for this item.')
-
+
db.subtract(`userBalance_${message.author.id}`, itemPrice);
if (itemName === 'Programmer Role') {
@@ -102,17 +102,16 @@ const items = JSON.parse(fs.readFileSync('./storage/items.json', 'utf8'));
message.channel.send('You bought ' + itemName + '!');
*/
- message.reply('Command is broken for now');
+ message.reply('Command is broken for now');
};
exports.conf = {
- aliases: [],
- guildOnly: false,
+ aliases: [],
+ guildOnly: false,
};
exports.help = {
- name: 'buy',
- description: 'Buy things.',
- usage: 'buy [item]',
- category: '- Economy Commands',
+ name: 'buy',
+ description: 'Buy things.',
+ usage: 'buy [item]',
+ category: '- Economy Commands',
};
- \ No newline at end of file
diff --git a/deprecated/daily.js b/deprecated/daily.js
index 0d844a2..efb6c2e 100644
--- a/deprecated/daily.js
+++ b/deprecated/daily.js
@@ -1,5 +1,5 @@
-/****************************************
- *
+/** **************************************
+ *
* Daily: Command for AleeBot
* Copyright (C) 2018 AleeCorp
*
@@ -15,45 +15,42 @@
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ *
* *************************************/
const db = require('quick.db');
- ms = require('parse-ms');
+ms = require('parse-ms');
module.exports.run = async (client, message) => {
+ const cooldown = 8.64e+7;
+ const amount = 100;
- let cooldown = 8.64e+7,
- amount = 100;
-
- let lastDaily = await db.fetch(`lastDaily_${message.author.id}`);
-
- if (lastDaily !== null && cooldown - (Date.now() - lastDaily) > 0) {
- let timeObj = ms(cooldown - (Date.now() - lastDaily));
+ const lastDaily = await db.fetch(`lastDaily_${message.author.id}`);
- message.reply(`You already collected your money, please wait **${timeObj.hours}h ${timeObj.minutes}m**!`)
- } else {
- message.channel.send(`You have successfully collected $${amount} dollars!`);
+ if (lastDaily !== null && cooldown - (Date.now() - lastDaily) > 0) {
+ const timeObj = ms(cooldown - (Date.now() - lastDaily));
- let balance = await db.fetch(`userBalance_${message.author.id}`);
+ message.reply(`You already collected your money, please wait **${timeObj.hours}h ${timeObj.minutes}m**!`);
+ } else {
+ message.channel.send(`You have successfully collected $${amount} dollars!`);
- if (balance == null) {
- db.set(`userBalance_${message.author.id}`, 0);
- }
+ const balance = await db.fetch(`userBalance_${message.author.id}`);
- db.set(`lastDaily_${message.author.id}`, Date.now());
- db.add(`userBalance_${message.author.id}`, 100);
+ if (balance == null) {
+ db.set(`userBalance_${message.author.id}`, 0);
}
- };
-
- exports.conf = {
- aliases: [],
- guildOnly: false,
- };
- exports.help = {
- name: 'daily',
- description: 'This gives you money everyday.',
- usage: 'daily',
- category: '- Economy Commands',
- };
- \ No newline at end of file
+ db.set(`lastDaily_${message.author.id}`, Date.now());
+ db.add(`userBalance_${message.author.id}`, 100);
+ }
+};
+
+exports.conf = {
+ aliases: [],
+ guildOnly: false,
+};
+exports.help = {
+ name: 'daily',
+ description: 'This gives you money everyday.',
+ usage: 'daily',
+ category: '- Economy Commands',
+};
diff --git a/package.json b/package.json
index 9631ca5..c982509 100644
--- a/package.json
+++ b/package.json
@@ -24,6 +24,7 @@
"discord.js": "^11.3.1",
"fs": "0.0.1-security",
"git-last-commit": "^0.3.0",
+ "i18next": "^19.4.4",
"moment": "^2.21.0",
"node-opus": "^0.3.0",
"os": "^0.1.1",