/** Init function. Loads configuration. * This function is called at the plugin's creation, and loads the config from main config data (in Leelabot::$config). * * \return Nothing. */ public function init() { //Config if (isset($this->config['Server']) && isset($this->config['Port']) && isset($this->config['Nick']) && isset($this->config['User']) && isset($this->config['Channels']) && isset($this->config['MainChannel']) && isset($this->config['MessageMode']) && in_array($this->config['MessageMode'], array('notice', 'chanmsg', 'privmsg'))) { if (!is_array($this->config['Channels'])) { $this->config['Channels'] = explode(',', $this->config['Channels']); } //Autospeak configuration if (isset($this->config['AutoSpeak'])) { $this->configureAutospeak(); } else { $this->config['AutoSpeak'] = 0; } //The bot is now configured LeelaBotIrc::setConfig($this->config); LeelaBotIrc::setConfigured(TRUE); //Connection LeelaBotIrc::connect(); /* $this->_addCmd('!help', 'CmdHelp', '!help <commande>', 'Permet d\'avoir de l\'aide sur une commande.', 0); $this->_addCmd('!status', 'CmdStatus', '!status [<server>]', 'Permet d\'avoir les infos sur la partie actuel.', 0); $this->_addCmd('!players', 'CmdPlayers', '!players [<server>]', 'Permet d\'avoir la liste des joueurs présent sur le serveur.', 0); $this->_addCmd('!stats', 'CmdStats', '!stats <joueur> <server>', 'Permet d\'avoir les stats d\'un joueur.', 1); $this->_addCmd('!awards', 'CmdAwards', '!awards [<server>]', 'Permet d\'avoir les awards actuel.', 0); $this->_addCmd('!urt', 'CmdUrt', '!urt [<server>] <message>', 'Permet d\'envoyer un message sur urt.', 1); $this->_addCmd('!kick', 'CmdKick', '!kick [<server>] <joueur>', 'Permet d\'avoir de kicker un joueur.', 2); $this->_addCmd('!kickall', 'CmdKickAll', '!kickall [<server>] <letters>', 'Permet d\'avoir de kicker plusieurs joueurs contenant l\'ensemble des lettres.', 2); $this->_addCmd('!slap', 'CmdSlap', '!slap [<server>] <joueur>', 'Permet d\'avoir de slapper un joueur.', 2); $this->_addCmd('!mute', 'CmdMute', '!mute [<server>] <joueur>', 'Permet d\'avoir de muter un joueur.', 2); $this->_addCmd('!say', 'CmdSay', '!say [<server>] <message>', 'Permet de faire parler le bot sur urt.', 2); $this->_addCmd('!bigtext', 'CmdBigtext', '!bigtext [<server>] <message>', 'Permet d\'envoyer un message en bigtext.', 2); $this->_addCmd('!map', 'CmdMap', '!map [<server>] <mapname>', 'Permet de changer la map courante.', 2); $this->_addCmd('!nextmap', 'CmdNextMap', '!nextmap [<server>] <mapname>', 'Permet de changer la map suivante.', 2); $this->_addCmd('!cyclemap', 'CmdCyclemap', '!cyclemap [<server>]', 'Permet de faire un cyclemap.', 2); $this->_addCmd('!restart', 'CmdRestart', '!restart [<server>]', 'Permet de faire un restart.', 2); $this->_addCmd('!reload', 'CmdReload', '!reload [<server>]', 'Permet de faire un reload.', 2); $this->_addCmd('!serverlist', 'CmdServerList', '!serverlist', 'Permet d\'obtenir la liste des servers.', 2); */ //Adding event listener $this->_plugins->addEventListener('irc', 'Irc'); //IRC commands level (0:all , 1:voice, 2:operator) $this->_plugins->setEventLevel('irc', 'help', 0); $this->_plugins->setEventLevel('irc', 'serverlist', 0); $this->_plugins->setEventLevel('irc', 'urt', 1); //Irc bot main routine $this->changeRoutineTimeInterval('RoutineIrcMain', 0); } else { Leelabot::message('The irc bot isn\'t configured !', array(), E_WARNING); } }