2.1.0 • Published 7 years ago

node-gitter v2.1.0

Weekly downloads
46
License
BSD-3-Clause
Repository
github
Last release
7 years ago

node-gitter Gitter chat

Node.js client for the Gitter API. For more info visit: Gitter Developers website.

If you have any questions, click on the badge to join the conversation.

Installation

$ npm install --save node-gitter

Basics

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

var gitter = new Gitter(token);

gitter.currentUser()
.then(function(user) {
  console.log('You are logged in as:', user.username);
});

Authentication

It's mandatory to provide a valid Gitter OAuth token in order to use the client. You can obtain one from https://developer.gitter.im/apps.

Promises or Callbacks

The client implements both. The following code is equivalent:

Using promises:

gitter.rooms.join('gitterhq/sandbox')
.then(function(room) {
  console.log('Joined room: ', room.name);
})
.fail(function(err) {
  console.log('Not possible to join the room: ', err);
})

Using node-style callbacks:

gitter.rooms.join('gitterhq/sandbox', function(err, room) {
  if (err) {
    console.log('Not possible to join the room: ', err);
    return;
  }

  console.log('Joined room: ', room.name);
});

Users

Current user

gitter.currentUser()

Current user rooms, repos, and orgs

gitter.currentUser()
.then(function(user) {
  user.rooms()
  user.repos()
  user.orgs()
})

Find a user

gitter.users.find(userId)

Rooms

Join a room

gitter.rooms.join('gitterhq/sandbox')

Post a message to a room

gitter.rooms.join('gitterhq/sandbox')
.then(function(room) {
  room.send('Hello world!');
});

Listen for chatMessages, Events or Users in a room

gitter.rooms.find(roomId).then(function(room) {

  var events = room.streaming().chatMessages();

  // The 'snapshot' event is emitted once, with the last messages in the room
  events.on('snapshot', function(snapshot) {
    console.log(snapshot.length + ' messages in the snapshot');
  });

  // The 'chatMessages' event is emitted on each new message
  events.on('chatMessages', function(message) {
    console.log('A message was ' + message.operation);
    console.log('Text: ', message.model.text);
  });
});

Room users and messages

gitter.rooms.find(roomId)
.then(function(room) {
  room.users()
  room.chatMessages()
});

Leave a room

gitter.rooms.find(roomId)
.then(function(room) {
  gitter.currentUser()
    .then(function(currentUser) {
      return room.removeUser(currentUser.id);
    });
});

License

BSD

2.1.0

7 years ago

2.0.5

8 years ago

2.0.4

8 years ago

1.2.11

8 years ago

1.2.10

8 years ago

1.2.9

8 years ago

2.0.3

8 years ago

2.0.1

8 years ago

2.0.0

8 years ago

1.2.8

9 years ago

1.2.7

9 years ago

1.2.6

9 years ago

1.2.5

9 years ago

1.2.4

9 years ago

1.2.3

9 years ago

1.2.2

10 years ago

1.2.1

10 years ago

1.2.0

10 years ago

1.1.0

10 years ago

1.0.0

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago

0.1.0

10 years ago