64 lines
2.6 KiB
JavaScript
64 lines
2.6 KiB
JavaScript
import { logger } from "./inc/log.js";
|
|
import { read } from "./inc/cfg.js";
|
|
import { wrapper, clients } from "./inc/wrapper.js";
|
|
const safeEval = require("safe-eval");
|
|
|
|
read().then(() => {
|
|
let bot = new wrapper();
|
|
bot.on("message", e => { // Todo: eventhandler
|
|
let orig = e.message;
|
|
let tmp = orig.split(" ");
|
|
tmp.shift();
|
|
let args = tmp;
|
|
args[0] = (args[0] == String.empty || typeof args[0] === "undefined" || args[0] == "") ? e.user.nick : args[0];
|
|
|
|
if (e.message.match(/^\.js /)) { // JS-Sandbox
|
|
args = e.message.substring(3);
|
|
var context = {
|
|
e: e,
|
|
gf: "nogf",
|
|
c: clients,
|
|
console: {
|
|
log: console.log
|
|
}
|
|
};
|
|
try {
|
|
var output = safeEval(args, context);
|
|
if (typeof output !== undefined && output !== "undefined" && output) {
|
|
let blah = JSON.stringify(output);
|
|
if (blah != "Converting circular structure to JSON") {
|
|
e.reply(blah.length > 400 ? `holy fuck, Ausgabe wäre viel zu lang! (${blah.length} Zeichen :DDDDDD)` : blah);
|
|
}
|
|
}
|
|
}
|
|
catch (err) {
|
|
e.reply(err.message);
|
|
}
|
|
}
|
|
else if (e.message.match(/^\.kaffee/)) {
|
|
var Texte = [
|
|
`serviert ${args.join(" ")} einen frisch gebrühten Kaffee aus aromatisch hochwertigen und laktosefreien Kaffeebohnen, die nach dem Vorbild der kolonisierten Ausbeutung herangewachsen und importiert worden sind`,
|
|
`serviert ${args.join(" ")} einen frisch gebrühten Kaffee aus aromatisch minderwertigen Kaffeebohnen, die zu einem überhöhten Preis und nach dem Prinzip des Fairtrade® herangewachsen und importiert worden sind`
|
|
];
|
|
e.replyAction(`${Texte[~~((Math.random() * Texte.length))]}; Prost!`);
|
|
}
|
|
else if (e.message.match(/^\.abschieben/)) {
|
|
let Dest = [
|
|
"nach Syrien", "in die Ukraine", "nach Timbuktu", "nach Uruguay",
|
|
"nach Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch",
|
|
"nach Bagdad", "nach Nordkorea", "nach Kurdistan", "nach Bayern",
|
|
"nach Japan", "nach Irak", "in den Iran", "nach Saudi-Arabien",
|
|
"nach Libyen", "nach Niger", "nach Uganda", "nach Afghanistan"
|
|
];
|
|
e.replyAction(`schiebt ${args[0]} ${Dest[~~(Math.random() * Dest.length)]} ab.`);
|
|
}
|
|
else if (e.message.match(/^\.butterkäse/)) {
|
|
e.replyAction(`drischt mit einem großen Stück Butterkäse auf ${args[0]} ein.`);
|
|
}
|
|
logger.info(`${e.network} -> ${e.channel} -> ${e.user.nick}: ${e.message}`);
|
|
});
|
|
|
|
bot.on("ctcp:version", e => {
|
|
e.write(`notice ${e.user.nick} :\u0001VERSION Pimmel 2.1\u0001`);
|
|
});
|
|
}); |