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.
$ npm install --save node-gitter
var Gitter = require('node-gitter');
var gitter = new Gitter(token);
gitter.currentUser()
.then(function(user) {
console.log('You are logged in as:', user.username);
});
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.
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);
});
gitter.currentUser()
gitter.currentUser()
.then(function(user) {
user.rooms()
user.repos()
user.orgs()
user.channels()
})
gitter.users.find(userId)
gitter.rooms.join('gitterhq/sandbox')
gitter.rooms.join('gitterhq/sandbox')
.then(function(room) {
room.send('Hello world!');
});
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);
});
});
gitter.rooms.join('gitterhq/sandbox').then(function(room) {
var events = room.listen();
events.on('message', function(message) {
console.log('New message:', message.text);
});
});
gitter.rooms.find(roomId)
.then(function(room) {
room.users()
room.channels()
room.chatMessages()
});
gitter.rooms.find(roomId)
.then(function(room) {
room.leave()
});
BSD