import sql from "../sql"; import rp from "request-promise"; const data = { yiff: [], kill_templates: [], kill_parts: {}, genders: [], woahs: [], slap: [] }; 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); }) .catch(err => { console.log(err); }); }); export default bot => { bot._trigger.set("kiss", new bot.trigger({ call: /^(\.|\/)kiss/i, set: "nxy", help: { text: "Kisses a user", usage: "[b].kiss[/b] [i]()[/i]" }, f: e => { e.reply(`(づ。◕‿‿◕。)づ" [color=red]。。・゜゜・。。・゜❤[/color] [b]${e.args[0] || e.user.nick}[/b] [color=red]❤[/color]`); } })); bot._trigger.set("hug", new bot.trigger({ call: /^(\.|\/)hug/i, set: "nxy", help: { text: "Hugs a user", usage: "[b].hug[/b] [i]()[/i]" }, f: e => { e.reply(`[color=red]♡❤♡♥[/color] [b]${e.args[0] || e.user.nick}[/b] [color=red]♥♡❤♡♥[/color]`); } })); bot._trigger.set("kill", new bot.trigger({ call: /^(\.|\/)kill/i, 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("{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)]) .replace("{weapon_slice}", data.kill_parts.weapon_slice[~~(Math.random() * data.kill_parts.weapon_slice.length)]) .replace("{weapon_crush}", data.kill_parts.weapon_crush[~~(Math.random() * data.kill_parts.weapon_crush.length)]) .replace("{weapon_explosive}", data.kill_parts.weapon_explosive[~~(Math.random() * data.kill_parts.weapon_explosive.length)]) .replace("{tall_thing}", data.kill_parts.tall_thing[~~(Math.random() * data.kill_parts.tall_thing.length)]) .replace("{spiked_thing}", data.kill_parts.spiked_thing[~~(Math.random() * data.kill_parts.spiked_thing.length)]) .replace("{bomb}", data.kill_parts.bomb[~~(Math.random() * data.kill_parts.bomb.length)]) ); } })); bot._trigger.set("yiff", new bot.trigger({ call: /^(\.|\/)yiff/i, 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("{yiffer}").join(`[b]${e.user.nick}[/b]`) .split("{nick}").join(`[b]${e.self.me.nickname}[/b]`) .split("{channel}").join(`${e.channel}`) ); } })); bot._trigger.set("bier", new bot.trigger({ call: /^(\.|\/)bier/i, set: "nxy", f: e => { e.replyAction(`schenkt ein kühles Blondes an [b]${e.args[0] || e.user.nick}[/b] aus.`); } })); bot._trigger.set("fucken", new bot.trigger({ call: /^(\.|\/)fucken/i, set: "nxy", f: e => { const user = e.args[0] || e.user.nick; e.replyAction(`fuckt [b]${user}[/b] und tötet [b]${user}[/b] anschließend.`); } })); bot._trigger.set("hack", new bot.trigger({ call: /^(\.|\/)hack/i, set: "nxy", f: e => { e.reply(`hacking ${e.args[0] || e.user.nick}...`); } })); bot._trigger.set("spit", new bot.trigger({ call: /^(\.|\/)spit/i, set: "nxy", f: e => { e.replyAction(`spits on [b]${e.args[0] || e.user.nick}[/b] like a dirty whore.`); } })); bot._trigger.set("assume", new bot.trigger({ 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)]}.`); } })); bot._trigger.set("jn", new bot.trigger({ call: /^(\.|\/)jn/i, set: "nxy", f: e => { e.reply(`${e.user.nick}: [b]${~~(Math.random() * 2) ? "Ja" : "Nein"}[/b]`); } })); bot._trigger.set("choose", new bot.trigger({ call: /^(\.|\/)choose .*/i, set: "nxy", f: e => { const args = e.message.substring(8).trim().split(","); if (args.length < 2) return e.reply(`${e.user.nick}: Ob du behindert bist?`); e.reply(`${e.user.nick}: ${args[~~(Math.random() * args.length)].trim()}`); } })); bot._trigger.set("huehuehue", new bot.trigger({ call: /^huehuehue$/i, set: "nxy", f: e => { e.reply("huehuehue"); } })); bot._trigger.set("woah", new bot.trigger({ call: /woah/i, set: "nxy", f: e => { if (~~(Math.random() * 4)) e.reply(data.woahs[~~(Math.random() * data.woahs.length)]); } })); bot._trigger.set("REEE", new bot.trigger({ call: /reee+$/i, set: "nxy", f: e => { e.reply("R".padEnd(~~(Math.random() * 20 + 10), "E")); } })); bot._trigger.set("meme", new bot.trigger({ call: /^(\.|\/)meme .*/i, set: "nxy", active: false, f: e => { const args = e.message.trim().substring(6).split("/"); //if(args.length < 3) return e.reply("[WIP] too few arguments: .meme [meme] / [line 1] / [line 2]"); } })); bot._trigger.set("slap", new bot.trigger({ call: /^(\.|\/)slap/i, set: "nxy", f: e => { e.replyAction(data.slap[~~(Math.random() * data.slap.length)] .replace("{user}", `[b]${e.args[0] || e.user.nick}[/b]`) ); } })); bot._trigger.set("fw", new bot.trigger({ call: /^(\.|\/)fw .*/i, set: "nxy", f: e => { const args = e.message.substring(4).trim(); e.reply(args.toUpperCase().split``.map(c => String.fromCharCode(65312 + (c.charCodeAt(0) - 64))).join``); } })); bot._trigger.set("waifu_husbando", new bot.trigger({ call: /^(\.|\/)(waifu|husbando)/i, set: "nxy", f: e => { let nick = e.args[0] || (e.type === "tg"?e.user.username || e.user.nick:e.user.nick) let mode = e.cmd; nick = nick.split("@").join(""); if(e.args.length > 0 && e.args[0].charAt(0) === "=") { let tmp = e.args[0].slice(1); sql.any( `insert into nxy_users (prefix, nick, ${mode}) values ($1, lower($2), $3) on conflict (prefix) do update set ${mode} = excluded.${mode}, nick = $2`, [ e.user.prefix, (e.type === "tg"?e.user.username || e.user.nick:e.user.nick), tmp ]) .then(rows => { e.reply(`${mode.charAt(0).toUpperCase()+mode.slice(1)} set to: [b]${tmp}[/b]`) }) .catch(err => console.log(err)); } else { sql.any(`select ${mode} from nxy_users where lower(nick) = lower($1) limit 1`, [nick]) .then(rows => { if(!rows[0]) return e.reply(`[b]${mode.charAt(0).toUpperCase() + mode.slice(1)}[/b]: none`); e.reply(`${mode.charAt(0).toUpperCase() + mode.slice(1)}: [b]${rows[0][mode]}[/b]`); }) .catch(err => console.log(err)); } } })); bot._trigger.set("asshole", new bot.trigger({ 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.`); } })); bot._trigger.set("isup", new bot.trigger({ call: /^(\.|\/)isup .*/i, set: "nxy", f: e => { const addr = !e.args[0].match(/^https?/g) ? `https://${e.args[0]}` : e.args[0]; rp(addr, { timeout: 2000 }) .then(res => { e.reply(`[b]${addr}[/b] seems to be [b]up[/b].`); }) .catch(err => { e.reply(`[b]${addr}[/b] seems to be [b]down[/b].`); }); } })); bot._trigger.set("einschlaefern", new bot.trigger({ 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.`); } })); };