parse-irc
v0.2.4
Published
Streaming IRC parser.
Downloads
57
Readme
#parse-irc A simple transform stream IRC parser.
Usage
var net = require('net')
, parser = require('parse-irc')()
parser.on('data', function(msg) {
console.dir(msg)
})
net.connect(6667, 'irc.freenode.net').pipe(parser)
API
var createParser = require('parse-irc')
methods
var parser = createParser()
Return a Transform stream
that will parse messages as they are written to it, and emit decoded message objects. Streams
writing to this stream should be emitting buffers or strings, and streams reading from it
should be in objectMode
.
events
Like any Transform stream:
parser.on('data', function(msg) {})
Emitted each time a message has been fully parsed. A complete message structure looks like:
// Example message:
// :server.example.com NOTICE * :*** Looking up your hostname...
{
prefix: 'server.example.com',
command: 'NOTICE',
params: [ '*', '*** Looking up your hostname...' ]
}
Only command
is guaranteed to be present. If the message had no prefix or had no parameters,
these fields will be undefined
in the resulting message object.
parser.on('error', function(err) {})
Emitted when a parse error occurs. err
contains information about what the invalid state was.
See also: Readable stream
Installation
npm install parse-irc
Running tests
npm test
License
MIT