module.exports = (lib) => {
  lib.bot.on('message', (e) => {
    lib.trigger.trigger.forEach(entry => {
      if(e.message.match(entry.call)) {
        let active = false;
        if(lib.cfg.trigger[e.network+e.channel.getName()] !== undefined) {
          if(lib.cfg.trigger[e.network+e.channel.getName()][entry.name])
            active = true;
        }
        else
          active = entry.active;
        if(active) {
          lib.log('trigger: '+entry.name);
          lib.getUserlevel(e.user.getNick(), e.network, e.channel.getName(), (cb) => {
            if(cb.level >= entry.level)
              entry.func(e, cb.level);
            else
              e.reply('no permission, min level '+entry.level+' required');
          });
        }
      }
    });
  });
};