This commit is contained in:
Flummi 2019-12-04 20:57:56 +01:00
parent b28ae0202b
commit d3daf4c895
4 changed files with 98 additions and 44 deletions

View File

@ -11,8 +11,8 @@
"author": "Flummi & jkhsjdhjs",
"license": "WTFPL",
"dependencies": {
"cuffeo": "^1.0.2",
"flumm-fetch-cookies": "^1.1.1",
"cuffeo": "^1.0.4",
"flumm-fetch-cookies": "^1.3.4",
"pg": "^7.14.0",
"stringify-object": "^3.3.0"
}

View File

@ -0,0 +1,47 @@
import fetch from "flumm-fetch-cookies";
import config from "../../../cfg/config.json";
const api = `https://robot-ws.your-server.de`;
const auth = {
headers: {
Authorization: `Basic ${Buffer.from(config.apis.hetzner.user + ":" + config.apis.hetzner.pwd).toString("base64")}`
}
};
export default async bot => {
return [{
name: "hz",
call: /^(\.|\/)hz/i,
f: async e => {
switch(e.args[0]) {
case "traffic":
const now = {
year: new Date().getFullYear(),
month: new Date().getMonth() + 1
};
const opts = {
...auth,
method: "POST",
body: {
type: "month",
from: `${now.year}-${now.month}-01`,
to: `${now.year}-${now.month}-32`,
"subnet[]": config.apis.hetzner.subnets
}
};
const res = await (await fetch(`${api}/traffic`, opts)).json();
const traffic = {
in: Object.keys(res.traffic.data).reduce((a, b) => a + res.traffic.data[b].in, 0).toFixed(2),
out: Object.keys(res.traffic.data).reduce((a, b) => a + res.traffic.data[b].out, 0).toFixed(2),
sum: Object.keys(res.traffic.data).reduce((a, b) => a + res.traffic.data[b].sum, 0).toFixed(2)
};
e.reply(`Traffic (${now.year}-${now.month}) in GiB: rx: ${traffic.in} tx: ${traffic.out} total: ${traffic.sum}`);
break;
default:
// prints help
break;
}
}
}];
};

View File

@ -25,7 +25,7 @@ export default async bot => {
usage: "[b].kiss[/b] [i](<nick>)[/i]"
},
f: e => {
e.reply(`(づ。◕‿‿◕。)づ" [color=red]。。・゜゜・。。・゜❤[/color] [b]${e.args[0] || e.user.nick}[/b] [color=red]❤[/color]`);
e.reply(`(づ。◕‿‿◕。)づ" [color=red]。。・゜゜・。。・゜❤[/color] [b]${e.args.join(" ") || e.user.nick}[/b] [color=red]❤[/color]`);
}
}, {
name: "hug",
@ -36,7 +36,7 @@ export default async bot => {
usage: "[b].hug[/b] [i](<nick>)[/i]"
},
f: e => {
e.reply(`[color=red]♥♡❤♡♥[/color] [b]${e.args[0] || e.user.nick}[/b] [color=red]♥♡❤♡♥[/color]`);
e.reply(`[color=red]♥♡❤♡♥[/color] [b]${e.args.join(" ") || e.user.nick}[/b] [color=red]♥♡❤♡♥[/color]`);
}
}, {
name: "kill",
@ -44,7 +44,7 @@ export default async bot => {
set: "nxy",
f: e => {
e.replyAction(data.kill_templates[~~(Math.random() * data.kill_templates.length)]
.replace("{user}", `[b]${e.args[0] || e.user.nick}[/b]`)
.replace("{user}", `[b]${e.args.join(" ") || e.user.nick}[/b]`)
.replace("{limbs}", data.kill_parts.limbs[~~(Math.random() * data.kill_parts.limbs.length)])
.replace("{gun}", data.kill_parts.gun[~~(Math.random() * data.kill_parts.gun.length)])
.replace("{weapon_stab}", data.kill_parts.weapon_stab[~~(Math.random() * data.kill_parts.weapon_stab.length)])
@ -62,7 +62,7 @@ export default async bot => {
set: "nxy",
f: e => {
e.replyAction(data.yiff[~~(Math.random() * data.yiff.length)]
.split("{user}").join(`[b]${e.args[0] || e.user.nick}[/b]`)
.split("{user}").join(`[b]${e.args.join(" ") || e.user.nick}[/b]`)
.split("{yiffer}").join(`[b]${e.user.nick}[/b]`)
.split("{nick}").join(`[b]${e.self.me.nickname}[/b]`)
.split("{channel}").join(`${e.channel}`)
@ -73,14 +73,14 @@ export default async bot => {
call: /^(\.|\/)bier/i,
set: "nxy",
f: e => {
e.replyAction(`schenkt ein kühles Blondes an [b]${e.args[0] || e.user.nick}[/b] aus.`);
e.replyAction(`schenkt ein kühles Blondes an [b]${e.args.join(" ") || e.user.nick}[/b] aus.`);
}
}, {
name: "fucken",
call: /^(\.|\/)fucken/i,
set: "nxy",
f: e => {
const user = e.args[0] || e.user.nick;
const user = e.args.join(" ") || e.user.nick;
e.replyAction(`fuckt [b]${user}[/b] und tötet [b]${user}[/b] anschließend.`);
}
}, {
@ -88,21 +88,21 @@ export default async bot => {
call: /^(\.|\/)hack/i,
set: "nxy",
f: e => {
e.reply(`hacking ${e.args[0] || e.user.nick}...`);
e.reply(`hacking ${e.args.join(" ") || e.user.nick}...`);
}
}, {
name: "spit",
call: /^(\.|\/)spit/i,
set: "nxy",
f: e => {
e.replyAction(`spits on [b]${e.args[0] || e.user.nick}[/b] like a dirty whore.`);
e.replyAction(`spits on [b]${e.args.join(" ") || e.user.nick}[/b] like a dirty whore.`);
}
}, {
name: "assume",
call: /^(\.|\/)assume/i,
set: "nxy",
f: e => {
e.reply(`Assuming [b]${e.args[0] || e.user.nick}'s[/b] gender... it's a ${data.genders[~~(Math.random() * data.genders.length)]}.`);
e.reply(`Assuming [b]${e.args.join(" ") || e.user.nick}'s[/b] gender... it's a ${data.genders[~~(Math.random() * data.genders.length)]}.`);
}
}, {
name: "jn",
@ -160,7 +160,7 @@ export default async bot => {
set: "nxy",
f: e => {
e.replyAction(data.slap[~~(Math.random() * data.slap.length)]
.replace("{user}", `[b]${e.args[0] || e.user.nick}[/b]`)
.replace("{user}", `[b]${e.args.join(" ") || e.user.nick}[/b]`)
);
}
}, {
@ -200,7 +200,7 @@ export default async bot => {
call: /^(\.|\/)asshole/i,
set: "nxy",
f: e => {
e.reply(`Jamba Arschlochscanner: [b]${e.args[0] || e.user.nick}[/b] ist zu ${~~(Math.random() * 100 + 1)}% ein Arschloch.`);
e.reply(`Jamba Arschlochscanner: [b]${e.args.join(" ") || e.user.nick}[/b] ist zu ${~~(Math.random() * 100 + 1)}% ein Arschloch.`);
}
}, {
name: "isup",
@ -219,9 +219,8 @@ export default async bot => {
}, {
name: "einschlaefern",
call: /^(\.|\/)einschläfern/i,
set: "nxy",
f: e => {
e.replyAction(`schläfert [b]${e.args[0] || e.user.nick}[/b] mit einer Spritze Ketamin ein.`);
e.replyAction(`schläfert [b]${e.args.join(" ") || e.user.nick}[/b] mit einer Spritze Ketamin ein.`);
}
}];
};

View File

@ -23,21 +23,21 @@ export default async bot => {
call: /^(\.|\/)abschieben/i,
set: "uwe",
f: e => {
e.replyAction(`schiebt [b]${e.args[0] || e.user.nick}[/b] ${data.abschieben[~~(Math.random() * data.abschieben.length)]} ab.`);
e.replyAction(`schiebt [b]${e.args.join(" ") || e.user.nick}[/b] ${data.abschieben[~~(Math.random() * data.abschieben.length)]} ab.`);
}
}, {
name: "butterkäse",
call: /^(\.|\/)butterkäse/i,
set: "uwe",
f: e => {
e.replyAction(`drischt mit einem großen Stück Butterkäse auf [b]${e.args[0] || e.user.nick}[/b] ein.`);
e.replyAction(`drischt mit einem großen Stück Butterkäse auf [b]${e.args.join(" ") || e.user.nick}[/b] ein.`);
}
}, {
name: "notschlachten",
call: /^(\.|\/)notschlachten/i,
set: "uwe",
f: e => {
e.replyAction(`notschlachtet [b]${e.args[0] || e.user.nick}[/b] und entsorgt die Leiche im Biomüll`);
e.replyAction(`notschlachtet [b]${e.args.join(" ") || e.user.nick}[/b] und entsorgt die Leiche im Biomüll`);
}
}, {
name: "lachs",
@ -51,28 +51,28 @@ export default async bot => {
call: /^(\.|\/)kaffee/i,
set: "uwe",
f: e => {
e.replyAction(data.kaffee[~~(Math.random() * data.kaffee.length)].replace("{user}", `[b]${e.args[0] || e.user.nick}[/b]`));
e.replyAction(data.kaffee[~~(Math.random() * data.kaffee.length)].replace("{user}", `[b]${e.args.join(" ") || e.user.nick}[/b]`));
}
}, {
name: "milch",
call: /^(\.|\/)milch/i,
call: /^(\.|\/)milch /i,
set: "uwe",
f: e => {
e.replyAction(data.milch[~~(Math.random() * data.milch.length)].replace("{user}", `[b]${e.args[0] || e.user.nick}[/b]`));
e.replyAction(data.milch[~~(Math.random() * data.milch.length)].replace("{user}", `[b]${e.args.join(" ") || e.user.nick}[/b]`));
}
}, {
name: "milchkaffee",
call: /^(\.|\/)milchkaffee/i,
set: "uwe",
f: e => {
e.replyAction(`serviert [b]${e.args[0] || e.user.nick}[/b] einen heißen halbschwarzen Kaffee mit 99% Kondensmilchanteil.`);
e.replyAction(`serviert [b]${e.args.join(" ") || e.user.nick}[/b] einen heißen halbschwarzen Kaffee mit 99% Kondensmilchanteil.`);
}
}, {
name: "tee",
call: /^(\.|\/)tee/i,
set: "uwe",
f: e => {
e.replyAction(data.tee[~~(Math.random() * data.tee.length)].replace("{user}", `[b]${e.args[0] || e.user.nick}[/b]`));
e.replyAction(data.tee[~~(Math.random() * data.tee.length)].replace("{user}", `[b]${e.args.join(" ") || e.user.nick}[/b]`));
}
}, {
name: "uwe_quotes",
@ -86,35 +86,35 @@ export default async bot => {
call: /^(\.|\/)wusel/i,
set: "uwe",
f: e => {
e.replyAction(`wuselt [b]${e.args[0] || e.user.nick}[/b] über den Haufen.`);
e.replyAction(`wuselt [b]${e.args.join(" ") || e.user.nick}[/b] über den Haufen.`);
}
}, {
name: "mett",
call: /^(\.|\/)mett/i,
set: "uwe",
f: e => {
e.reply(`Jamba Mettscanner: [b]${e.args[0] || e.user.nick}[/b] ist zu ${~~(Math.random() * 100 + 1)}% Mett.`);
e.reply(`Jamba Mettscanner: [b]${e.args.join(" ") || e.user.nick}[/b] ist zu ${~~(Math.random() * 100 + 1)}% Mett.`);
}
}, {
name: "unfaehig",
call: /^(\.|\/)unfähig/i,
set: "uwe",
f: e => {
e.reply(`Jamba Fähigkeitenscanner: [b]${e.args[0] || e.user.nick}[/b] ist zu ${~~(Math.random() * 100 + 1)}% unfähig.`);
e.reply(`Jamba Fähigkeitenscanner: [b]${e.args.join(" ") || e.user.nick}[/b] ist zu ${~~(Math.random() * 100 + 1)}% unfähig.`);
}
}, {
name: "rotenburg",
call: /^(\.|\/)rotenburg/i,
set: "uwe",
f: e => {
e.replyAction(`verarbeitet [b]${e.args[0] || e.user.nick}[/b] zu Hackfleisch.`);
e.replyAction(`verarbeitet [b]${e.args.join(" ") || e.user.nick}[/b] zu Hackfleisch.`);
}
}, {
name: "pee",
call: /^(\.|\/)pee/i,
set: "uwe",
f: e => {
e.replyAction(`pisst in [b]${e.args[0] || e.user.nick}[/b]s Gesicht.`);
e.replyAction(`pisst in [b]${e.args.join(" ") || e.user.nick}[/b]s Gesicht.`);
}
}, {
name: "ike",
@ -135,14 +135,14 @@ export default async bot => {
call: /^(\.|\/)haram/i,
set: "uwe",
f: e => {
e.reply(`[b]${e.args[0] || e.user.nick}[/b] ist ${(~~(Math.random() * 2) ? "haram" : "nicht haram")}.`);
e.reply(`[b]${e.args.join(" ") || e.user.nick}[/b] ist ${(~~(Math.random() * 2) ? "haram" : "nicht haram")}.`);
}
}, {
name: "sacklutscher",
call: /^(\.|\/)lutschsack/i,
set: "uwe",
f: e => {
e.reply(`[b]${e.user.nick}[/b] legt Rosen aus und lutscht den Sack von [b]${e.args[0] || e.user.nick}[/b]`);
e.reply(`[b]${e.user.nick}[/b] legt Rosen aus und lutscht den Sack von [b]${e.args.join(" ") || e.user.nick}[/b]`);
}
}, {
name: "kawaii",
@ -170,14 +170,14 @@ export default async bot => {
call: /^(\.|\/)wasser/i,
set: "uwe",
f: e => {
e.replyAction(`kippt [b]${e.args[0] || e.user.nick}[/b] einen Eimer Wasser über den Kopf.`);
e.replyAction(`kippt [b]${e.args.join(" ") || e.user.nick}[/b] einen Eimer Wasser über den Kopf.`);
}
}, {
name: "normie",
call: /^(\.|\/)normie/i,
set: "uwe",
f: e => {
e.reply(`Jamba Normiescanner: [b]${e.args[0] || e.user.nick}[/b] ist zu ${~~(Math.random() * 100 + 1)}% ein Normie.`);
e.reply(`Jamba Normiescanner: [b]${e.args.join(" ") || e.user.nick}[/b] ist zu ${~~(Math.random() * 100 + 1)}% ein Normie.`);
}
}, {
name: "hyper",
@ -198,49 +198,49 @@ export default async bot => {
call: /^(\.|\/)meditieren/i,
set: "uwe",
f: e => {
e.replyAction(`meditiert zusammen mit [b]${e.args[0] || e.user.nick}[/b] Metta.`);
e.replyAction(`meditiert zusammen mit [b]${e.args.join(" ") || e.user.nick}[/b] Metta.`);
}
}, {
name: "duden",
call: /^(\.|\/)duden/i,
set: "uwe",
f: e => {
e.replyAction(`drischt mit einem großen Duden auf [b]${e.args[0] || e.user.nick}[/b] ein.`);
e.replyAction(`drischt mit einem großen Duden auf [b]${e.args.join(" ") || e.user.nick}[/b] ein.`);
}
}, {
name: "kscht",
call: /^(\.|\/)kscht/i,
set: "uwe",
f: e => {
e.replyAction(`jagt [b]${e.args[0] || e.user.nick}[/b] durch den Raum.`);
e.replyAction(`jagt [b]${e.args.join(" ") || e.user.nick}[/b] durch den Raum.`);
}
}, {
name: "bullenpisse",
call: /^(\.|\/)bullenpisse/i,
set: "uwe",
f: e => {
e.replyAction(`zapft ein Fläschchen feinsten Bullenurin, verarbeitet diesen zu Red-Bull und serviert ihn [b]${e.args[0] || e.user.nick}[/b] in Form einer Pfanddose.`);
e.replyAction(`zapft ein Fläschchen feinsten Bullenurin, verarbeitet diesen zu Red-Bull und serviert ihn [b]${e.args.join(" ") || e.user.nick}[/b] in Form einer Pfanddose.`);
}
}, {
name: "lungenkrebs",
call: /^(\.|\/)lungenkrebs/i,
set: "uwe",
f: e => {
e.replyAction(`dreht [b]${e.args[0] || e.user.nick}[/b] einen prall gefüllten Sargnagel mit feinstem Schwarzer Krauser.`);
e.replyAction(`dreht [b]${e.args.join(" ") || e.user.nick}[/b] einen prall gefüllten Sargnagel mit feinstem Schwarzer Krauser.`);
}
}, {
name: "rose",
call: /^(\.|\/)rose/i,
set: "uwe",
f: e => {
e.replyAction(`schenkt [b]${e.args[0] || e.user.nick}[/b] eine [color=red]~~{~[@}[/color]`);
e.replyAction(`schenkt [b]${e.args.join(" ") || e.user.nick}[/b] eine [color=red]~~{~[@}[/color]`);
}
}, {
name: "wienerle",
call: /^(\.|\/)wienerle/i,
set: "uwe",
f: e => {
e.replyAction(`serviert [b]${e.args[0] || e.user.nick}[/b] ein kaltes Wienerle mit etwas Wurstwasser.`);
e.replyAction(`serviert [b]${e.args.join(" ") || e.user.nick}[/b] ein kaltes Wienerle mit etwas Wurstwasser.`);
}
}, {
name: "joke",
@ -300,35 +300,35 @@ export default async bot => {
call: /^(\.|\/)blech/i,
set: "uwe",
f: e => {
e.replyAction(`bereitet [b]${e.args[0] || e.user.nick}[/b] ein Blech Schore zu. Viel Vergnügen du Siffscheiße.`);
e.replyAction(`bereitet [b]${e.args.join(" ") || e.user.nick}[/b] ein Blech Schore zu. Viel Vergnügen du Siffscheiße.`);
}
}, {
name: "joghurt",
call: /^(\.|\/)joghurt/i,
set: "uwe",
f: e => {
e.replyAction(`spritzt [b]${e.args[0] || e.user.nick}[/b] 500ml Joghurt in den Arsch.`);
e.replyAction(`spritzt [b]${e.args.join(" ") || e.user.nick}[/b] 500ml Joghurt in den Arsch.`);
}
}, {
name: "kelly",
call: /^(\.|\/)kelly/i,
set: "uwe",
f: e => {
e.replyAction(`dreht [b]${e.args[0] || e.user.nick}[/b]'s dreckige Kelly Family Musik leiser und spuckt [b]${e.args[0] || e.user.nick}[/b] ins Gesicht.`);
e.replyAction(`dreht [b]${e.args.join(" ") || e.user.nick}[/b]'s dreckige Kelly Family Musik leiser und spuckt [b]${e.args.join(" ") || e.user.nick}[/b] ins Gesicht.`);
}
}, {
name: "pflaumen",
call: /^(\.|\/)pflaumen/i,
set: "uwe",
f: e => {
e.replyAction(`sieht, wie [b]${e.args[0] || e.user.nick}[/b] Pflaumen aus dem Arsch fallen.`);
e.replyAction(`sieht, wie [b]${e.args.join(" ") || e.user.nick}[/b] Pflaumen aus dem Arsch fallen.`);
}
}, {
name: "quark",
call: /^(\.|\/)quark/i,
set: "uwe",
f: e => {
e.replyAction(`schiebt [b]${e.args[0] || e.user.nick}[/b] 500g dickflüssigen Quark in den soften Arsch.`);
e.replyAction(`schiebt [b]${e.args.join(" ") || e.user.nick}[/b] 500g dickflüssigen Quark in den soften Arsch.`);
}
}, {
name: "shrug",
@ -344,6 +344,14 @@ export default async bot => {
f: e => {
e.reply("spielt Wiedergeburt aus, legt nxy vom Friedhof in die Monsterzone und beendet seinen Zug.");
}
}, {
name: "bible",
call: /^(\.|\/)bible$/i,
active: false,
f: async e => {
const bib = await (await fetch("http://getbible.net/json?version=luther1912")).json();
e.reply(Object.keys(bib));
}
}];
};