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.
npm install scaledrone-node-push --saveCreate a new instance of Scaledrone passing it the channelId and secretKey that you can find from the channel's page:
constScaledrone=require('scaledrone-node-push');constsd=newScaledrone({channelId: 'CHANNEL_ID',secretKey: 'SECRET_KEY'});constmessage={foo: 'bar'};constroom='notifications';sd.publish(room,message,function(error,reply){if(error){console.error(error);return;}console.log('Message published!',reply);});(async()=>{try{constmessage={foo: 'bar'};constroom='notifications';constreply=awaitsd.publish(room,message);console.log('Message published!',reply);}catch(err){console.error(err);}})();constmessage={foo: 'bar'};constrooms=['notifications','lounge'];sd.publish(rooms,message,function(error,reply){if(error){console.error(error);return;}console.log('Published to multiple rooms!',reply);});(async()=>{constmessage={foo: 'bar'};constrooms=['notifications','lounge'];try{constreply=awaitsd.publish(rooms,message);console.log('Published to multiple rooms!',reply);}catch(err){console.error(err);}})();// Callbacksd.channelStats(function(error,reply){if(error)returnconsole.error(error);console.log(reply);// { users_count: 2 }});// Async/awaitconststats=awaitsd.channelStats();console.log(stats);// Callbacksd.members(function(error,reply){if(error)returnconsole.error(error);console.log(reply);// ['bcI:GPhz6A2T', 'b58:fnaJaEfh']});// Async/awaitconstmembers=awaitsd.members();console.log(members);// Callbacksd.rooms(function(error,reply){if(error)returnconsole.error(error);console.log(reply);// ["room1", "room2"]});// Async/awaitconstrooms=awaitsd.rooms();console.log(rooms);// Callbacksd.roomMembers('my-room',function(error,reply){if(error)returnconsole.error(error);console.log(reply);// ['bcI:GPhz6A2T', 'b58:fnaJaEfh']});// Async/awaitconstmembers=awaitsd.roomMembers('my-room');console.log(members);// Callbacksd.allRoomMembers(function(error,reply){if(error)returnconsole.error(error);console.log(reply);// {"room1": ["user1", "user2"], "room2": ["user1"]}});// Async/awaitconstall=awaitsd.allRoomMembers();console.log(all);