ScaleDrone / node-push

Node.js library for Scaledrone Realtime Messaging Service

Home Page:https://www.scaledrone.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Scaledrone Node.js Push API

Official Scaledrone Node.js pushing library

Allows for usage of all Scaledrone's REST API methods.

For the Node.js WebSocket API Client check out this link.

Installation

npm install scaledrone-node-push --save

Usage

Create a new instance of Scaledrone passing it the channelId and secretKey that you can find from the channel's page

const Scaledrone = require('scaledrone-node-push');
const sd = new Scaledrone({
  channelId: 'CHANNEL_ID',
  secretKey: 'SECRET_KEY'
});

Publishing a message

const message = {foo: 'bar'};
const room = 'notifications';
sd.publish(room, message, function(error) {
  // check for errors
});

Publishing the same message to multiple rooms

const message = {foo: 'bar'}
const rooms = ['notifications', 'lounge'];
sd.publish(rooms, message, function(error) {
  // check for errors
});

Get channel stats

sd.channelStats(function(error, reply) {
  // check for errors
  console.log(reply); // { users_count: 2 }
});

Getting the list of users from all rooms

sd.members(function(error, reply) {
  // check for errors
  console.log(reply); // ['bcI:GPhz6A2T', 'b58:fnaJaEfh']
});

Getting the list of rooms that have users in them

sd.rooms(function(error, reply) {
  // check for errors
  console.log(reply); // ["room1", "room2"]
});

Getting the list of users in a room

sd.roomMembers('my-room', function(error, reply) {
  // check for errors
  console.log(reply); // ['bcI:GPhz6A2T', 'b58:fnaJaEfh']
});

Getting the list of rooms and their members

sd.allRoomMembers(function(error, reply) {
  // check for errors
  console.log(reply); // {"room1": ["user1", "user2"], "room2": ["user1"]}
});

About

Node.js library for Scaledrone Realtime Messaging Service

https://www.scaledrone.com


Languages

Language:JavaScript 100.0%