function trigger($processed_data) { if ($processed_data['IRC_TYPE'] == 'none') { return false; } $trigger = explode(' ', trim($processed_data['message'])); if (($k = $this->find_trigger($trigger[0], $processed_data['type'])) !== false) { // throttle spam and such. if ($this->throttle($processed_data)) { return; } if ($processed_data['type'] == 'msg') { $this->main->log(Bashful::bold() . $trigger[0] . Bashful::unbold() . ' on ' . $processed_data['type'] . ' triggered by ' . Bashful::blue() . $processed_data['nick'] . Bashful::unblue(), __CLASS__); } $k = $this->registered_triggers[$k]; $k['module'] = strtolower($k['module']); if ($k['exec'] !== false && method_exists($this->modules[$k['module']], $k['exec'])) { $this->modules[$k['module']]->{$k['exec']}($processed_data); return true; } elseif (method_exists($this->modules[$k['module']], 'call')) { $this->modules[$k['module']]->call($processed_data); return true; } $this->main->log('Error: Trigger specified, but no route found for \'' . $k['module'] . '->' . $trigger . '\'', __CLASS__); } return false; }