Made bot modular
This commit is contained in:
1 parent
e85d40cedc
commit
66535142b2
6 files changed
+1419
-209
No files matched your search
@@ -1,10 +0,0 @@
|
||||
|
||||
module.exports.matches = [ { "!8ball" } ];
|
||||
|
||||
function basicRoute(str)
|
||||
{
|
||||
if(str.startsWith("!8ball"))
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
@@ -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
Reference in new issue
Block a user