2.1.0 • Published 7 years ago
node-gitter v2.1.0
node-gitter
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