Skip to content

sellside-archives/gitter-listener

Repository files navigation

gitter-listener NPM version NPM downloads Build Status

Listen for gitter room events and messages.

Table of Contents

(TOC generated by verb using markdown-toc)

Install

Install with npm:

$ npm install --save gitter-listener

Usage

var Gitter = require('gitter-listener');

API

Creates a client that listens for gitter events.

Params

Example

var gitter = Gitter(process.env.GITTER_TOKEN);

Tell the client to start listening for gitter events. Setup any event listeners for the events before starting the client.

Params

  • rooms {Array}: Optional array of rooms to listen to. If empty, the client will use all the rooms the gitter user has previously joined. The gitter user is the user associated with the token used above.
  • returns {Promise}: Returns a promise that will resolve to a boolean when the client has finished setting up listeners.

Example

gitter.on('chatMessages', console.log);
gitter.on('users', console.log);
gitter.on('events', console.log);

gitter.listen();

Events

The following events will be emitted after .listen has been called and are available to be listened for:

chatMessages

The chatMessages event will be emitted when anything happens to a chat message. Check the .operation property to see what is happening to the message:

gitter.on('chatMessages', function(msg, room) {
  console.log(msg);
  switch (msg.operation) {
    case 'create':
      // new message being created
      break;
    case 'patch':
      // message was updated (e.g. someone marked it as "read")
      break;
  }
});

events

The events event will be emitted when an event in the room occurs.

gitter.on('events', function(event, room) {
  console.log(event);
});

users

The users event will be emitted when a user joins or leaves a room:

gitter.on('users', function(user, room) {
  console.log(user);
});

About

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.

Please read the contributing guide for avice on opening issues, pull requests, and coding standards.

Building docs

(This document was generated by verb-generate-readme (a verb generator), please don't edit the readme directly. Any changes to the readme must be made in .verb.md.)

To generate the readme and API documentation with verb:

$ npm install -g verb verb-generate-readme && verb

Running tests

Install dev dependencies:

$ npm install -d && npm test

Author

Brian Woodward

License

Copyright © 2016, Brian Woodward. Released under the MIT license.


This file was generated by verb-generate-readme, v0.1.30, on August 22, 2016.

About

Listen for gitter room events and messages.

Resources

License

Stars

Watchers

Forks

Packages

No packages published