diff options
| author | Alee <alee14498@gmail.com> | 2018-04-22 15:09:16 -0400 |
|---|---|---|
| committer | Alee <alee14498@gmail.com> | 2018-04-22 15:09:16 -0400 |
| commit | f7970f3a9cc94600309ff48d1a920040672899a5 (patch) | |
| tree | 99e1be14a7cbd83ac7e6be693b53e1c5791f2c8c | |
| parent | 6d23c51eb64ce44269fc59c5289880b2d5c30396 (diff) | |
| download | AleeBot-f7970f3a9cc94600309ff48d1a920040672899a5.tar.gz AleeBot-f7970f3a9cc94600309ff48d1a920040672899a5.tar.bz2 AleeBot-f7970f3a9cc94600309ff48d1a920040672899a5.zip | |
2.9 releasev2.9.0
| -rw-r--r-- | bot_discord.js | 65 | ||||
| -rw-r--r-- | commands/addquote.js | 2 | ||||
| -rw-r--r-- | commands/changelog.js | 2 | ||||
| -rw-r--r-- | package-lock.json | 5 | ||||
| -rw-r--r-- | package.json | 3 | ||||
| -rw-r--r-- | storage/settings.json | 4 | ||||
| -rw-r--r-- | test.js | 88 |
7 files changed, 160 insertions, 9 deletions
diff --git a/bot_discord.js b/bot_discord.js index f1346e8..c0b5ebc 100644 --- a/bot_discord.js +++ b/bot_discord.js @@ -20,6 +20,7 @@ const Discord = require('discord.js');
const economy = require('discord-eco');
const moment = require('moment');
+const readline = require('readline');
const DBL = require("dblapi.js");
const client = new Discord.Client({
disableEveryone: true
@@ -35,6 +36,12 @@ const log = message => { };
+const rl = readline.createInterface({
+ input: process.stdin,
+ output: process.stdout,
+ prompt: '> '
+});
+
console.log(`AleeBot ${settings.abVersion}: Copyright (C) 2018 AleeCorp`);
console.log('This program comes with ABSOLUTELY NO WARRANTY; for details type `show w\'.');
console.log ('This is free software, and you are welcome to redistribute it');
@@ -77,6 +84,63 @@ fs.readdir('./commands', (err, files) => { 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.'));
+ } 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} - Owner: ${guild.owner.user.tag}`);
+ }
+ }
+ break;
+ case "leave":
+ if (!args[1]) {
+ console.log('[!] Please insert the guild\'s ID.');
+ } else {
+ var guild = client.guilds.get(args[1]);
+ guild.leave();
+ }
+ break;
+ case "broadcast":
+ if (!args[1]) {
+ console.log('[!] Please insert the guild\'s ID.');
+ } 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);
+ }
+ if (channel = null) {
+ console.log ('Usage: broadcast [guildID] [channelID]')
+ }
+ }
+ break;
+ case "exit":
+ console.log('[i] AleeBot will now exit!')
+ 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 += (`leave - Leaves a guild.\n`)
+ msg += (`broadcast - Broadcasts a message to a server.\n`)
+ msg += (`help - Shows this command.\n`)
+ msg += (`exit - Exits AleeBot.\n`)
+ console.log(msg);
+ break;
+ default:
+ console.log('Unknown Command type \'help\' to list the commands...')
+ }
+ rl.prompt();
+});
+
client.on('ready', () => {
log('[>] AleeBot is now ready!');
@@ -108,6 +172,7 @@ client.on('ready', () => { });
}, 200000);
client.user.setStatus('online');
+ rl.prompt();
});
client.on('guildCreate', guild => {
diff --git a/commands/addquote.js b/commands/addquote.js index a957c59..fe42333 100644 --- a/commands/addquote.js +++ b/commands/addquote.js @@ -28,7 +28,7 @@ module.exports.run = async (client, message, args) => { if(!args[0]) return message.reply(`Usage: ab:addquote [author] [authorImage] [quote] [year]`) let quotes = JSON.parse(fs.readFileSync("./storage/quotes.json", "utf8")); - + quotes = { author: args[0], authorImage: args[1], diff --git a/commands/changelog.js b/commands/changelog.js index d5d9584..2849d8d 100644 --- a/commands/changelog.js +++ b/commands/changelog.js @@ -22,7 +22,7 @@ module.exports.run = async (client, message) => { const embed = new Discord.RichEmbed()
.setAuthor('AleeBot ' + require('../storage/settings.json').abVersion + ' Changelog', 'https://cdn.discordapp.com/avatars/282547024547545109/6c147a444ae328c38145ef1f74169e38.png?size=2048')
.setDescription('What\'s new in AleeBot '+ require('../storage/settings.json').abVersion +'?')
- .addField('1. Setting a custom prefix for AleeBot!', 'We\'ve finally did it! You can now set a prefix!')
+ .addField('1. Console commands!', 'Unfortunately they are not discord features but it\'s only for console.')
.setColor('#1fd619');
message.channel.send({embed});
diff --git a/package-lock.json b/package-lock.json index b0bd3c9..76e72e1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -77,6 +77,11 @@ "resolved": "https://registry.npmjs.org/prism-media/-/prism-media-0.0.2.tgz", "integrity": "sha512-L6yc8P5NVG35ivzvfI7bcTYzqFV+K8gTfX9YaJbmIFfMXTs71RMnAupvTQPTCteGsiOy9QcNLkQyWjAafY/hCQ==" }, + "readline": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/readline/-/readline-1.3.0.tgz", + "integrity": "sha1-xYDXfvLPyHUrEySYBg3JeTp6wBw=" + }, "safe-buffer": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", diff --git a/package.json b/package.json index a0d8baa..922707a 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,8 @@ "fs": "0.0.1-security", "git-last-commit": "^0.3.0", "moment": "^2.21.0", - "os": "^0.1.1" + "os": "^0.1.1", + "readline": "^1.3.0" }, "devDependencies": {} } diff --git a/storage/settings.json b/storage/settings.json index 7471866..3dc56a8 100644 --- a/storage/settings.json +++ b/storage/settings.json @@ -1,4 +1,4 @@ { - "abVersion": "2.9.0 Beta", - "prefix": "abb:" + "abVersion": "2.9.0", + "prefix": "ab:" } @@ -20,6 +20,7 @@ const Discord = require('discord.js');
const economy = require('discord-eco');
const moment = require('moment');
+const readline = require('readline');
const DBL = require("dblapi.js");
const client = new Discord.Client({
disableEveryone: true
@@ -33,7 +34,13 @@ const log = message => { };
-console.log('AleeBot: Copyright (C) 2018 AleeCorp');
+const rl = readline.createInterface({
+ input: process.stdin,
+ output: process.stdout,
+ prompt: '> '
+});
+
+console.log(`AleeBot ${settings.abVersion}: Copyright (C) 2018 AleeCorp`);
console.log('This program comes with ABSOLUTELY NO WARRANTY; for details type `show w\'.');
console.log ('This is free software, and you are welcome to redistribute it');
console.log ('under certain conditions; type `show c\' for details.\n')
@@ -75,11 +82,68 @@ fs.readdir('./commands', (err, files) => { 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.'));
+ } 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} - Owner: ${guild.owner.user.tag}`);
+ }
+ }
+ break;
+ case "leave":
+ if (!args[1]) {
+ console.log('[!] Please insert the guild\'s ID.');
+ } else {
+ var guild = client.guilds.get(args[1]);
+ guild.leave();
+ }
+ break;
+ case "broadcast":
+ if (!args[1]) {
+ console.log('[!] Please insert the guild\'s ID.');
+ } 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);
+ }
+ if (channel = null) {
+ console.log ('Usage: broadcast [guildID] [channelID]')
+ }
+ }
+ break;
+ case "exit":
+ console.log('[i] AleeBot will now exit!')
+ 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 += (`leave - Leaves a guild.\n`)
+ msg += (`broadcast - Broadcasts a message to a server.\n`)
+ msg += (`help - Shows this command.\n`)
+ msg += (`exit - Exits AleeBot.\n`)
+ console.log(msg);
+ break;
+ default:
+ console.log('Unknown Command type \'help\' to list the commands...')
+ }
+ rl.prompt();
+});
+
client.on('ready', () => {
log('[>] AleeBot is now ready!');
log(`[i] Logged in as ${client.user.tag}`);
- log(`[i] Prefix: ${settings.prefix}`)
+ log(`[i] Default Prefix: ${settings.prefix}`)
log(`[i] Bot ID: ${client.user.id}`);
log(`[i] Token: ${api.abtoken}`);
log('[i] Running version ' + settings.abVersion + ` and in ${client.guilds.size} guilds`);
@@ -92,6 +156,9 @@ client.on('ready', () => { 'Drawing shapes',
'Fighting AstralMod',
];
+ setInterval(() => {
+ dbl.postStats(client.guilds.size, client.shards.Id, client.shards.total);
+ }, 1800000);
client.user.setPresence({
status: 'online',
@@ -103,6 +170,7 @@ client.on('ready', () => { });
}, 200000);
client.user.setStatus('online');
+ rl.prompt();
});
client.on('guildCreate', guild => {
@@ -121,8 +189,20 @@ client.on('guildDelete', guild => { client.on('message', (msg) => {
if (msg.author.bot) return;
- if (!msg.content.startsWith(settings.prefix)) return;
- const args = msg.content.slice(settings.prefix.length).trim().split(/ +/g);
+
+ 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;
|
