module.exports = (lib) => { lib.trigger.add({ name: 'trigger', call: /^!trigger/i, level: 100, active: 1, func: (e) => { var args = e.message.split(' '); 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; } }, desc: 'muh' }); var triggertoggle = (trigger, key) => { if(key in trigger) trigger[key] = !trigger[key]; return trigger; }; };