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.
Readable stream
See also:Installation
npm install parse-irc
Running tests
npm test
License
MIT