Uwev2/src/bot.js

44 lines
1.8 KiB
JavaScript
Raw Normal View History

2017-11-07 17:22:41 +00:00
import { cfg, read } from './inc/cfg.js';
2017-11-08 21:29:43 +00:00
import { wrapper, clients } from './inc/wrapper.js';
2017-11-09 11:21:40 +00:00
const safeEval = require('safe-eval');
2017-11-07 17:22:41 +00:00
read().then(() => {
2017-11-08 11:56:04 +00:00
let bot = new wrapper();
2017-11-09 14:34:21 +00:00
bot.on('message', e => { // Todo: eventhandler
let orig = e.message;
let tmp = orig.split(" ");
let cmd = tmp[0].toLowerCase();
tmp.shift();
let args = tmp;
args[0] = (args[0] == String.empty || typeof args[0] === 'undefined' || args[0] == "") ? e.user.nick : args[0];
2017-11-08 21:29:43 +00:00
2017-11-09 14:34:21 +00:00
if (e.message.match(/^\.js /)) { // JS-Sandbox
args = e.message.substring(3);
var context = {
e: e,
gf: "nogf"
}
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 > 100 ? `holy fuck, Ausgabe wäre viel zu lang! (${blah.length} Zeichen :DDDDDD)` : blah);
2017-11-09 11:21:40 +00:00
}
}
2017-11-09 14:34:21 +00:00
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!`);
2017-11-09 11:21:40 +00:00
}
2017-11-08 11:56:04 +00:00
});
2017-11-09 14:34:21 +00:00
bot.on('ctcp:version', e => {
e.write(`notice ${e.user.nick} :\u0001VERSION Pimmel 2.1\u0001`)
});
2017-11-08 18:43:08 +00:00
});