f0ckv1/src/trigger/trigger.js

43 lines
1.6 KiB
JavaScript
Raw Normal View History

2016-11-18 06:30:38 +01:00
module.exports = (lib) => {
lib.trigger.add({
name: 'trigger',
call: /^!trigger/i,
level: 100,
active: 1,
func: (e) => {
2016-11-18 07:56:12 +01:00
var args = e.message.split(' ');
2016-11-22 07:02:40 +01:00
if(!lib.cfg.trigger[e.network+e.channel])
lib.cfg.trigger[e.network+e.channel] = lib.genStdTrigger();
switch(args[1]) {
case "std":
e.reply(JSON.stringify(lib.genStdTrigger()));
break;
case "toggle":
if(trigger = args[2].toLowerCase()) {
lib.cfg.trigger[e.network+e.channel] = triggertoggle(lib.cfg.trigger[e.network+e.channel], trigger);
lib.config.write('trigger', e.network+e.channel, JSON.stringify(lib.cfg.trigger[e.network+e.channel]), 'json', cbwc => {
if(!cbwc)
e.reply("trigger "+ trigger +" in channel "+e.channel.getName() + lib.bot.format.get(lib.cfg.trigger[e.network+e.channel][trigger]?'green':'red')+" "+(lib.cfg.trigger[e.network+e.channel][trigger]?'activated':'deactivated'));
else
e.reply(cbwc);
});
}
break;
default:
var output = "";
e.reply("Trigger in "+e.channel.getName()+" (green: activated, red: deactivated):");
for(var key in lib.cfg.trigger[e.network+e.channel])
output += lib.bot.format.get(lib.cfg.trigger[e.network+e.channel][key]?'green':'red')+" "+key;
e.reply(output);
break;
}
2016-11-18 06:30:38 +01:00
},
desc: 'muh'
});
2016-11-19 06:33:59 +01:00
var triggertoggle = (trigger, key) => {
if(key in trigger)
trigger[key] = !trigger[key];
return trigger;
};
2016-11-18 06:30:38 +01:00
};