public function RoutineIrcMain() { $donnees = LeelaBotIrc::get(); if ($donnees) { $commande = explode(' ', $donnees); $message = explode(':', $donnees, 3); $pseudo = explode('!', $message[1]); $pseudo = $pseudo[0]; LeelaBotIrc::setPseudo($pseudo); if (isset($commande[1]) && rtrim($commande[0]) == 'PING') { LeelaBotIrc::send('PONG :' . $message[1]); } // For crazy IRC server if (isset($commande[1])) { if ($commande[1] == '001') { if (isset($this->config['AutoPerform'])) { foreach ($this->config['AutoPerform'] as $command) { LeelaBotIrc::send($command); } } LeelaBotIrc::join(implode(',', $this->config['Channels'])); Leelabot::message('The IRC bot has join $0', array(implode(',', $this->config['Channels']))); } if ($commande[1] == '433') { $this->config['Nick'] = $this->config['Nick'] . '_'; LeelaBotIrc::setConfig($this->config); LeelaBotIrc::send("NICK " . $this->config['Nick']); Leelabot::message('The IRC nickname has changed for $0', array($this->config['Nick'])); } if ($commande[1] == 'PRIVMSG') { $channel = $commande[2]; LeelaBotIrc::setChannel($channel); if ($message[2][0] == '!') { $cmd = explode(' ', trim($message[2])); $cmd[0] = substr($cmd[0], 1); $level = LeelaBotIrc::getLevel($pseudo, $this->config['MainChannel']); $return = $this->_plugins->callEvent('irc', $cmd[0], $level, NULL, $pseudo, $channel, $cmd, $message); if ($return === Events::ACCESS_DENIED) { LeelaBotIrc::sendMessage("You don't have enough rights."); } } else { $irc2urt = LeelaBotIrc::standardize(rtrim($message[2])); $pseudo = explode(' ', $message[1]); $pseudo = explode('!', $pseudo[0]); $pseudo = $pseudo[0]; $serverlist = ServerList::getList(); if (is_array($this->config['AutoSpeak'])) { foreach ($serverlist as $server) { if (isset($this->config['AutoSpeak'][$server][$channel]) && in_array($this->config['AutoSpeak'][$server][$channel], array(1, 3))) { $rcon = ServerList::getServerRCon($server); $rcon->say('^4IRC : <$nick> $message', array('nick' => $pseudo, 'message' => $irc2urt)); } } } elseif (is_numeric($this->config['AutoSpeak']) && in_array($this->config['AutoSpeak'], array(1, 3))) { foreach ($serverlist as $server) { $rcon = ServerList::getServerRCon($server); $rcon->say('^4IRC : <$nick> $message', array('nick' => $pseudo, 'message' => $irc2urt)); } } } } } } }