Développement de plugins


Squelette d'un plugin

Un plugin, par défaut doit implémenter l'interface eBot\Plugins\Plugin et doit être déclaré dans le fichiers config/plugins.ini

Pour que votre plugin commence à utiliser les évènements de l'eBot, la méthode getEventList() doit retourner un tableau de string contenant tous les évènements auxquelles il veut souscrire.

Voici la listes des évènements disponibles:

  • \eBot\Events\EventDispatcher::EVENT_SAY
  • \eBot\Events\EventDispatcher::EVENT_BOMB_DEFUSING
  • \eBot\Events\EventDispatcher::EVENT_BOMB_PLANTING
  • \eBot\Events\EventDispatcher::EVENT_KILL
  • \eBot\Events\EventDispatcher::EVENT_ROUNDSCORED
  • \eBot\Events\EventDispatcher::EVENT_MATCH_END

<?php
namespace eBot\Plugins\Custom;

use 
eBot\Plugins\Plugin;
use 
eTools\Utils\Logger;
use 
eBot\Exception\Plugin_Exception;

class 
PluginSample implements Plugin {
    
    public function 
init($config) { }

    public function 
onEvent($event) { }

    public function 
onEventAdded($name) { }

    public function 
onEventRemoved($name) {    }

    public function 
onReload() { }

    public function 
onStart() {    }
    
    public function 
onEnd() { }
    
    public function 
getEventList() {
        return array(\
eBot\Events\EventDispatcher::EVENT_SAY);
    }

}

Durant la phase de construction de votre plugin, il éxécutera la fonction "init" avec un tableau de paramètre que vous aurez définit dans le fichier plugins.ini

Si une erreur se produit durant l'initilisation du plugin, vous pouvez envoyer une exception qui arrêtera l'initilisation de celui-ci.

throw new Plugin_Exception("url null");

Classe utile

  • eTools\Utils\Logger
    • Logger::log($text)
    • Logger::error($text)
    • Logger::debug($text)