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("
").join("") .split("
").join("") .split("&").join("&") .split("ä").join("ä") .split("ö").join("ö") .split("ü").join("ü") .split("Ä").join("Ä") .split("Ö").join("Ö") .split("Ü").join("Ü") .split("ß").join("ß") .split(""").join("\"") .replace(/\ { 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.`); } })); };