phergie / phergie-irc-parser
Parser for messages conforming to the IRC protocol
Installs: 22 671
Dependents: 7
Suggesters: 0
Security: 0
Stars: 16
Watchers: 6
Forks: 11
Open Issues: 2
Requires
- php: ^7.0 || ^5.6
Requires (Dev)
This package is not auto-updated.
Last update: 2020-03-20 15:54:34 UTC
README
This repo is being kept for posterity and will be archived in a readonly state. If you're interested it can be forked under a new Composer namespace/GitHub organization.
phergie/phergie-irc-parser
A PHP-based parser for messages conforming to the IRC protocol as described in RFC 1459 and RFC 2812.
Install
The recommended method of installation is through composer.
{ "require": { "phergie/phergie-irc-parser": "~1" } }
Design goals
- Minimal dependencies: PHP 5.4.2+ with the core PCRE extension
- Can extract messages from a real-time data stream
- Simple easy-to-understand API
Usage
<?php $stream = ":Angel PRIVMSG Wiz :Hello are you receiving this message ?\r\n" . "PRIVMSG Angel :yes I'm receiving it !receiving it !'u>(768u+1n) .br\r\n"; $parser = new Phergie\Irc\Parser(); // Get one message without modifying $stream // or null if no complete message is found $message = $parser->parse($stream); // Get one message and remove it from $stream // or null if no complete message is found $message = $parser->consume($stream); // Get all messages without modifying $stream // or an empty array if no complete messages are found $messages = $parser->parseAll($stream); // Get all messages and remove them from $stream // or an empty array if no complete messages are found $messages = $parser->consumeAll($stream); /* One parsed message looks like this: array( 'prefix' => ':Angel', 'nick' => 'Angel', 'command' => 'PRIVMSG', 'params' => array( 'receivers' => 'Wiz', 'text' => 'Hello are you receiving this message ?', 'all' => 'Wiz :Hello are you receiving this message ?', ), 'targets' => array('Wiz'), 'message' => ":Angel PRIVMSG Wiz :Hello are you receiving this message ?\r\n", ) */
Tests
To run the unit test suite:
curl -s https://getcomposer.org/installer | php
php composer.phar install
./vendor/bin/phpunit Phergie/Irc/ParserTest.php
License
Released under the BSD License. See LICENSE
.
Community
Check out #phergie on irc.freenode.net or e-mail us at team@phergie.org.