aboutsummaryrefslogtreecommitdiff
path: root/test.js
diff options
context:
space:
mode:
Diffstat (limited to 'test.js')
-rw-r--r--test.js88
1 files changed, 84 insertions, 4 deletions
diff --git a/test.js b/test.js
index 4cd42bb..f6b21f5 100644
--- a/test.js
+++ b/test.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
@@ -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;