457 lines
12 KiB
JavaScript
457 lines
12 KiB
JavaScript
import sql from "../sql";
|
||
|
||
import rp from "request-promise";
|
||
import jsdom from "jsdom";
|
||
|
||
const data = {
|
||
abschieben: [],
|
||
kaffee: [],
|
||
tee: [],
|
||
quotes_firecooler: [],
|
||
quotes_kinski: [],
|
||
quotes_stoll: [],
|
||
quotes_boll: []
|
||
};
|
||
|
||
Object.keys(data).forEach(cur => {
|
||
sql.any("select data from useless where trigger = $1 limit 1", [cur])
|
||
.then(rows => {
|
||
data[cur] = JSON.parse(rows[0].data);
|
||
});
|
||
});
|
||
|
||
export default bot => {
|
||
bot._trigger.set("abschieben", new bot.trigger({
|
||
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.`);
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("butterkaese", new bot.trigger({
|
||
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.`);
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("notschlachten", new bot.trigger({
|
||
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`);
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("lachs", new bot.trigger({
|
||
call: /^(\.|\/)lachs/i,
|
||
set: "uwe",
|
||
f: e => {
|
||
e.reply("öhöhöhöhöhöhö");
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("kaffee", new bot.trigger({
|
||
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]`)
|
||
);
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("milchkaffee", new bot.trigger({
|
||
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.`);
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("tee", new bot.trigger({
|
||
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]`)
|
||
);
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("uwe_quotes", new bot.trigger({
|
||
call: /^(\.|\/)(boll|firecooler|kinski|stoll)$/i,
|
||
set: "uwe",
|
||
f: e => {
|
||
e.reply(data[`quotes_${e.cmd}`][~~(Math.random() * data[`quotes_${e.cmd}`].length)]);
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("wusel", new bot.trigger({
|
||
call: /^(\.|\/)wusel/i,
|
||
set: "uwe",
|
||
f: e => {
|
||
e.replyAction(`wuselt [b]${e.args[0] || e.user.nick}[/b] über den Haufen.`);
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("mett", new bot.trigger({
|
||
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.`);
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("unfaehig", new bot.trigger({
|
||
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.`);
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("rotenburg", new bot.trigger({
|
||
call: /^(\.|\/)rotenburg/i,
|
||
set: "uwe",
|
||
f: e => {
|
||
e.replyAction(`verarbeitet [b]${e.args[0] || e.user.nick}[/b] zu Hackfleisch.`);
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("pee", new bot.trigger({
|
||
call: /^(\.|\/)pee/i,
|
||
set: "uwe",
|
||
f: e => {
|
||
e.replyAction(`pisst in [b]${e.args[0] || e.user.nick}[/b]s Gesicht.`);
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("ike", new bot.trigger({
|
||
call: /^ike/i,
|
||
set: "uwe",
|
||
f: e => {
|
||
e.reply("ike ike!");
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("rip", new bot.trigger({
|
||
call: /^rip/i,
|
||
set: "uwe",
|
||
f: e => {
|
||
e.reply("Rust in Pitabrot");
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("haram", new bot.trigger({
|
||
call: /^(\.|\/)haram/i,
|
||
set: "uwe",
|
||
f: e => {
|
||
e.reply(`[b]${e.args[0] || e.user.nick}[/b] ist ${(~~(Math.random() * 2) ? "haram" : "nicht haram")}.`);
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("sacklutscher", new bot.trigger({
|
||
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]`);
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("kawaii", new bot.trigger({
|
||
call: /kawaii/i,
|
||
set: "uwe",
|
||
f: e => {
|
||
e.reply("⌒(o^▽^o)ノ so much kawaii");
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("hurrdurr", new bot.trigger({
|
||
call: /^hurr$/i,
|
||
set: "uwe",
|
||
f: e => {
|
||
e.reply("durr");
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("fraguwe", new bot.trigger({
|
||
call: /^uwe.*\?$/i,
|
||
set: "uwe",
|
||
active: false,
|
||
f: e => {
|
||
e.reply("fuck you");
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("wasser", new bot.trigger({
|
||
call: /^(\.|\/)wasser/i,
|
||
set: "uwe",
|
||
f: e => {
|
||
e.replyAction(`kippt [b]${e.args[0] || e.user.nick}[/b] einen Eimer Wasser über den Kopf.`);
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("normie", new bot.trigger({
|
||
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.`);
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("hyper", new bot.trigger({
|
||
call: /^(\.|\/)hyper$/i,
|
||
set: "uwe",
|
||
f: e => {
|
||
e.reply("[b]GET HYPER![/b]");
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("bark", new bot.trigger({
|
||
call: /^(\.|\/)bark$/i,
|
||
set: "uwe",
|
||
f: e => {
|
||
e.reply("BARK BARK BARK");
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("meditieren", new bot.trigger({
|
||
call: /^(\.|\/)meditieren/i,
|
||
set: "uwe",
|
||
f: e => {
|
||
e.replyAction(`meditiert zusammen mit [b]${e.args[0] || e.user.nick}[/b] Metta.`);
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("duden", new bot.trigger({
|
||
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.`);
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("kscht", new bot.trigger({
|
||
call: /^(\.|\/)kscht/i,
|
||
set: "uwe",
|
||
f: e => {
|
||
e.replyAction(`jagt [b]${e.args[0] || e.user.nick}[/b] durch den Raum.`);
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("bullenpisse", new bot.trigger({
|
||
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.`);
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("lungenkrebs", new bot.trigger({
|
||
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.`);
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("irpg", new bot.trigger({
|
||
call: /^(\.|\/)irpg/i,
|
||
set: "uwe",
|
||
f: e => {
|
||
const user = e.args[0] || e.user.nick;
|
||
rp("http://idlerpg.rizon.net/players.php").then(top => {
|
||
let prank = 0
|
||
, i = 1;
|
||
const dom = new jsdom.JSDOM(top);
|
||
let playerlist = dom.window.document.querySelectorAll("ol > li");
|
||
let player = null;
|
||
for(let p of playerlist) {
|
||
if (p.innerHTML.includes(`player=${user}">`)) {
|
||
prank = i;
|
||
player = p;
|
||
break;
|
||
}
|
||
i++;
|
||
}
|
||
if(player !== null) {
|
||
const [, plevel, pclass, puntil] = player.innerHTML.match(/.*, the level (.*?) (.*?)\. Next level in (.*?)\./);
|
||
e.reply(`([i]${prank} / ${playerlist.length}[/i]) [b]${user}[/b], the [b]${pclass}[/b]: level: ${plevel}, next level in ${puntil}.`);
|
||
}
|
||
else
|
||
e.reply(`player [b]${user}[/b] was not found`);
|
||
});
|
||
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("blah", new bot.trigger({
|
||
call: /^[A-ZÄÖÜẞ](?: [A-ZÄÖÜẞ]){1,5}$/,
|
||
set: "uwe",
|
||
clients: ["irc"],
|
||
f: e => {
|
||
let args = e.message.trim();
|
||
if (args.toUpperCase() === args)
|
||
args.substring(2).split(" ").forEach(e.reply);
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("rose", new bot.trigger({
|
||
call: /^(\.|\/)rose/i,
|
||
set: "uwe",
|
||
f: e => {
|
||
e.replyAction(`schenkt [b]${e.args[0] || e.user.nick}[/b] eine [color=red]~~{~[@}[/color]`);
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("wienerle", new bot.trigger({
|
||
call: /^(\.|\/)wienerle/i,
|
||
set: "uwe",
|
||
f: e => {
|
||
e.replyAction(`serviert [b]${e.args[0] || e.user.nick}[/b] ein kaltes Wienerle mit etwas Wurstwasser.`);
|
||
}
|
||
}));
|
||
|
||
|
||
bot._trigger.set("witz", new bot.trigger({
|
||
call: /^(\.|\/)witz$/i,
|
||
set: "uwe",
|
||
f: e => {
|
||
rp("http://www.funny4you.at/webmasterprogramm/zufallswitz.php?id=312")
|
||
.then(res => {
|
||
res = res
|
||
.split("<br />").join("")
|
||
.split("<div class=\"funny4you\">").join("")
|
||
.split("&").join("&")
|
||
.split("ä").join("ä")
|
||
.split("ö").join("ö")
|
||
.split("ü").join("ü")
|
||
.split("Ä").join("Ä")
|
||
.split("Ö").join("Ö")
|
||
.split("Ü").join("Ü")
|
||
.split("ß").join("ß")
|
||
.split(""").join("\"")
|
||
.replace(/\<span.*/i, "");
|
||
|
||
if(e.network !== "Telegram") {
|
||
res
|
||
.match(/.{1,450}/g)
|
||
.map(e.reply);
|
||
}
|
||
else
|
||
e.reply(res);
|
||
})
|
||
.catch(err => {
|
||
console.log(err);
|
||
});
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("joke", new bot.trigger({
|
||
call: /^(\.|\/)joke$/i,
|
||
set: "uwe",
|
||
f: e => {
|
||
rp("https://icanhazdadjoke.com/slack", { json: true })
|
||
.then(res => {
|
||
res = res.attachments[0].text;
|
||
|
||
if(e.network !== "Telegram") {
|
||
res
|
||
.match(/.{1,450}/g)
|
||
.map(e.reply);
|
||
}
|
||
else
|
||
e.reply(res);
|
||
})
|
||
.catch(err => {
|
||
console.log(err);
|
||
});
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("test", new bot.trigger({
|
||
call: /^\.version/i,
|
||
set: "uwe",
|
||
clients: ["irc"],
|
||
f: e => {
|
||
e.socket.once("data", res => {
|
||
let verstring;
|
||
try {
|
||
verstring = res.match(/\u0001VERSION (.*?)\u0001/)[1];
|
||
}
|
||
catch(err) {
|
||
verstring = false;
|
||
};
|
||
|
||
if(verstring)
|
||
e.reply(`${e.user.nick}: ${verstring}`);
|
||
});
|
||
e.write(`privmsg ${e.args[0] || e.user.nick} :\u0001VERSION\u0001`);
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("mock", new bot.trigger({
|
||
call: /^\.mock .*/i,
|
||
set: "uwe",
|
||
f: e => {
|
||
let mock = "";
|
||
[...e.args.join(" ")].forEach(l => mock += (l === " ") ? " " : (Math.round(Math.random()) === 0) ? l.toUpperCase() : l.toLowerCase());
|
||
e.reply(mock);
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("sync", new bot.trigger({
|
||
call: /^\.sync.*/i,
|
||
set: "uwe",
|
||
f: e => {
|
||
const sync = e.args[0] || "80s90s";
|
||
rp(`https://f0ck.space/sync.php?${sync}`, { json: true })
|
||
.then(data => {
|
||
if(data.err)
|
||
e.reply("Channel nicht gefunden D:");
|
||
else
|
||
e.reply(`${data.name} @ https://sync.f0ck.space/r/${data.name} : ${data.user} Users, now playing: ${decodeURIComponent(data.title)}`);
|
||
})
|
||
.catch(err => {
|
||
e.reply("Channel nicht gefunden D:");
|
||
});
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("blech", new bot.trigger({
|
||
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.`);
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("joghurt", new bot.trigger({
|
||
call: /^(\.|\/)joghurt/i,
|
||
set: "uwe",
|
||
f: e => {
|
||
e.replyAction(`spritzt [b]${e.args[0] || e.user.nick}[/b] 500ml Joghurt in den Arsch.`);
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("kelly", new bot.trigger({
|
||
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.`);
|
||
}
|
||
}));
|
||
|
||
bot._trigger.set("pflaumen", new bot.trigger({
|
||
call: /^(\.|\/)pflaumen/i,
|
||
set: "uwe",
|
||
f: e => {
|
||
e.replyAction(`sieht, wie [b]${e.args[0] || e.user.nick}[/b] Pflaumen aus dem Arsch fallen.`);
|
||
}
|
||
}));
|
||
|
||
};
|