Skip to content

tec27/parse-irc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#parse-irc A simple transform stream IRC parser.

Build Status NPM

NPM

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

About

A simple transform stream IRC parser

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published