X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=plugins%2FIrc%2Fextlib%2Fphergie%2FPhergie%2FStatusnetBot.php;fp=plugins%2FIrc%2Fextlib%2Fphergie%2FPhergie%2FStatusnetBot.php;h=ba41f26db052d903a17ca7a1bf10fb4ac91ab590;hb=2e9da023c04d826628063b36553a764126970599;hp=0000000000000000000000000000000000000000;hpb=af5ecb88b153c44ab5dbb263edf58a8914a6ca17;p=quix0rs-gnu-social.git diff --git a/plugins/Irc/extlib/phergie/Phergie/StatusnetBot.php b/plugins/Irc/extlib/phergie/Phergie/StatusnetBot.php new file mode 100644 index 0000000000..ba41f26db0 --- /dev/null +++ b/plugins/Irc/extlib/phergie/Phergie/StatusnetBot.php @@ -0,0 +1,77 @@ +. + * + * Extends the bot class (Phergie_Bot) to allow connection and access to + * sockets and to allow StatusNet to 'drive' the bot + * + * @category Phergie + * @package Phergie_StatusnetBot + * @author Luke Fitzgerald + * @copyright 2010 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 + * @link http://status.net/ + */ +class Phergie_StatusnetBot extends Phergie_Bot { + /** + * Set up bot and connect to servers + * + * @return void + */ + public function connect() { + $ui = $this->getUi(); + $ui->setEnabled($this->getConfig('ui.enabled')); + + $this->loadPlugins(); + $this->loadConnections(); + } + + /** + * Transmit raw command to server using driver + * + * Handles construction of command strings and their transmission to the + * server. + * + * @param string $command Command to send + * @param string|array $args Optional string or array of sequential + * arguments + * + * @return string Command string that was sent + * @throws Phergie_Driver_Exception + */ + public function send($command, $args = '') { + return $this->getDriver()->send($command, $args); + } + + /** + * Handle incoming data on the socket using the handleEvents + * method of the Processor + * + * @return void + */ + public function receive() { + $this->getProcessor()->handleEvents(); + } + + /** + * Get the sockets used by the bot + * + * @return array Array of socket resources + */ + public function getSockets() { + return $this->getDriver()->getSockets(); + } +} \ No newline at end of file