Made bot modular

This commit is contained in:
cameron committed 2018-06-13 02:31:48 -04:00
1 parent e85d40cedc
commit 66535142b2
6 files changed
+1419 -209

No files matched your search

-10
View File
@@ -1,10 +0,0 @@
module.exports.matches = [ { "!8ball" } ];
function basicRoute(str)
{
if(str.startsWith("!8ball"))
{
}
}
+43
View File
@@ -0,0 +1,43 @@
class Eightball {
constructor() {
this.matches = [ "8ball" ];
}
magic8ball()
{
const answers = [
'It is certain',
'It is decidedly so',
'Without a doubt',
'Yes definitely',
'You may rely on it',
'As I see it, yes',
'Most likely',
'Outlook good',
'Yes',
'Signs point to yes',
'Reply hazy try again',
'Ask again later',
'Better not tell you now',
'Cannot predict now',
'Concentrate and ask again',
"Don't count on it",
'My reply is no',
'My sources say no',
'Outlook not so good',
'Very doubtful' ];
let selection = Math.floor(Math.random() * (answers.length));
return answers[selection];
}
async action(msg) {
if(msg.content.startsWith('!8ball')) {
msg.reply(magic8ball());
}
}
}
module.exports = Eightball;
+60
View File
@@ -0,0 +1,60 @@
const Discord = require("discord.js");
const Gamedig = require('gamedig');
const fs = require('fs');
class GameServer {
constructor() {
this.matches = [ "gm", "mc" ];
}
async action(msg) {
if(msg.content.startsWith('!mc')) {
Gamedig.query({
type: 'minecraftping',
host: 'americastrong.jumpingcrab.com'
}).then((state) => {
let str = "MINECRAFT SERVER INFO\n";
console.log(state);
str += "Server Name: " + state.raw.description + "\n";
str += "Players: " + state.players.length + "/" + state.maxplayers + "\n";
str += "Currently Online: "
for (let i = 0; i < state.players.length; i++) {
str += state.players[i].name + ", ";
}
str = str.slice(0, -2);
str += "\n";
msg.reply(str);
}).catch((error) => {
msg.reply("Server is offline!");
});
} else if(msg.content.startsWith('!gm') {
try {
let gameinfo = await Gamedig.query({type: 'garrysmod',
host: 'construct420.game.nfoservers.com'});
let str = "GARRY'S MOD SERVER INFO\n";
str += "Server name: " + gameinfo.name + "\n";
str += "Current Map: " + gameinfo.map + "\n";
str += "Players: " + gameinfo.players.length + "/" + gameinfo.maxplayers + "\n";
str += "Currently Online: "
for (let i = 0; i < gameinfo.players.length; i++) {
str += gameinfo.players[i].name + ", ";
}
str = str.slice(0, -2);
str += "\n";
str += "Server IP: 192.223.30.22\n"
msg.reply(str);
} catch (err) {
console.log(err);
msg.reply("Server is offline!");
}
}
}
}
module.exports = GameServer;
+36
View File
@@ -0,0 +1,36 @@
const Discord = require("discord.js");
const fs = require('fs');
class Pepe {
constructor() {
this.matches = [ "pepe" ];
this.loadPepes();
}
loadPepes()
{
let pepes = fs.readFileSync('pepes.txt').toString();
this.pepesList = pepes.split("\n");
}
//returns a dank pepe
pepe()
{
let dankPepe = new Discord.RichEmbed();
let selection = Math.floor(Math.random() * (this.pepesList.length));
dankPepe.setImage(this.pepesList[selection]);
return dankPepe;
}
async action(msg) {
let chan = msg.channel;
let pepeImg = this.pepe();
chan.send(pepeImg);
}
}
module.exports = Pepe;
File diff suppressed because it is too large. Load diff