|  |  | 
 |  |  | <?php | 
 |  |  | class BotMsgException extends Exception {} | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * Interfejs dla klas przetwarzających wiadomości wychodzące | 
 |  |  |  * do formatu właściwego dla danej sieci. | 
 |  |  |  */ | 
 |  |  | interface BotMsgInterface { | 
 |  |  |    /** | 
 |  |  |     * Konstruktor | 
 |  |  |     * @param BotMsg $msg Wiadomość do przetworzenia | 
 |  |  |     */ | 
 |  |  |    function __construct(BotMsg $msg); | 
 |  |  |    /** | 
 |  |  |     * Zwraca przetworzoną wiadomość | 
 |  |  |     * @return string Wiadomość po przetworzeniu | 
 |  |  |     */ | 
 |  |  |    function __toString(); | 
 |  |  | 	 | 
 |  |  |    /** | 
 |  |  |     * Podaje na wyjście (np. za pomocą echo) wiadomość w formacie | 
 |  |  |     * odpowiednim dla danego API, uwzględniając nagłówki HTTP | 
 |  |  |     * i inne konieczne elementy. | 
 |  |  |     */ | 
 |  |  |    function sendPullResponse(); | 
 |  |  | } | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * Klasa reprezentująca wiadomość wychodzącą. | 
 |  |  |  */ | 
 |  |  | class BotMsg { | 
 |  |  |    private $beautiful = TRUE; | 
 |  |  |    private $parser = NULL; | 
 |  |  | 
 |  |  |    private $raw = ''; | 
 |  |  |     | 
 |  |  |    /** | 
 |  |  |     * Włącza lub wyłącza "upiększanie" konwertowanej do czystego tekstu wiadomości, np.: | 
 |  |  |     * <b>abc</b> zamieniane jest na *abc* | 
 |  |  |     * <h1>efg</h1> przechodzi w = efg = | 
 |  |  |     * Włącza lub wyłącza "upiększanie" konwertowanej | 
 |  |  |     * do czystego tekstu ({@link BotMsg::getText()}) wiadomości, np.: | 
 |  |  |     * | 
 |  |  |     * <b>abc</b> zamieniane jest na \*abc\* | 
 |  |  |     * | 
 |  |  |     * <h1>efg<h1> przechodzi w = efg = | 
 |  |  |     * | 
 |  |  |     * Domyślnie włączone | 
 |  |  |     * @param bool $set Ustawienie "upiększania" | 
 |  |  |     */ | 
 |  |  |    function setBeautiful($set = FALSE) { | 
 |  |  |       if($this->beautiful != $set) { | 
 |  |  |          $this->text = $this->html = $this->parser = NULL; | 
 |  |  |          $this->beautiful = (bool)$set; | 
 |  |  |       } | 
 |  |  |    } | 
 |  |  | 	 | 
 |  |  |    /** | 
 |  |  |     * @deprecated Zastąpiono funkcją {@link BotMsg::setBeautiful()} | 
 |  |  |     */ | 
 |  |  |    function beautifulText($set = FALSE) { | 
 |  |  |       $this->beautiful = (bool)$set; | 
 |  |  |       $this->setBeautiful($set); | 
 |  |  |    } | 
 |  |  |     | 
 |  |  |    /** | 
 |  |  | 
 |  |  |          } | 
 |  |  |       } | 
 |  |  |        | 
 |  |  |       return $return; | 
 |  |  |       return trim($return); | 
 |  |  |    } | 
 |  |  |     | 
 |  |  |    private function parseHTMLDOM($dom) { |