コード例 #1
0
ファイル: irc.php プロジェクト: Geolim4/Leelabot
 /** 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);
     }
 }