irc-stream

A duplex streaming IRC client built on top of irc

irc-stream

irc-stream is a minimalistic, streaming bot wrapper for the irc module.

irc-stream will relay any combination of the following:

  • channel messages addressed to the client (default on)
  • pms (default off)

These messages are available as a readable stream, and can thus be piped into a writable stream. Messages can be written like for a writable stream, and messages sent will be sent in the channel/pm.

Ideally, use it with gu as both a readable and writable stream:

var ircStream = require('irc-stream')(ircServer, ircName, ircModuleOpts, ircStreamOpts);
var gu = require('gu')(scriptPath, scriptFiles);
 
ircStream.pipe(gu).pipe(ircStream);

Where the first three irc-stream arguments are simply passed through to the irc module.

Alternatively you could use it as just a readable stream or a writable stream. See flight-stream for an example as using it as a writable stream only.

The fourth argument control how we listen on IRC. By default the following options are all disabled or zero:

{
  allErrors: Boolean, // manually handle `irc` error events 
  ignoreChannel: Boolean, // ignore channel directed messages 
  answerPms: Boolean, // respond to private messages 
  neverHighlight: Boolean // never highlight channel responses 
  alwaysHighlight: Boolean // always highlight channel responses 
  participationChance: Number // probability to respond without being addressed 
}

NB: Can only do one of neverHighlight and alwaysHighlight. By default, irc-stream will highlight the channel recipient on the first message only.

$ npm install irc-stream

Install development dependencies and run test command:

$ npm install
$ npm test

MIT-Licensed. See LICENSE file for details.