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" )
2017-11-11 22:13:47 +00:00
e . reply ( blah . length > 220 ? ` 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-10 09:21:38 +00:00
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. ` ) ;
}
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 } : \u 0001VERSION Pimmel 2.1 \u 0001 ` )
} ) ;
2017-11-08 18:43:08 +00:00
} ) ;