Code Monkey home page Code Monkey logo

node-pushbullet-api's Introduction

PushBullet API

A Node.js module for using the PushBullet REST API.

Usage

This module is very simple to use. All you need is your PushBullet API key and you can begin pushing.

var PushBullet = require('pushbullet');
var pusher = new PushBullet('YOUR-API-KEY');

pusher.devices(function(error, response) {
	// response is the JSON response from the API
});

pusher.note(deviceParams, noteTitle, noteBody, function(error, response) {
	// response is the JSON response from the API
});

Target devices

The push functions (note, link, file) have a deviceParams parameter which can be several types:

  • If it is a string containing an '@' it is treated as an email address.
  • If it is a string not containing an '@' it is treated as a device iden.
  • If it is a number it is treated as a device id.
  • If it is an object it is assumed to have one of the 'target parameters' as defined on https://docs.pushbullet.com/v2/pushes/ as an attribute. It can also have an optional source_device_iden attribute. If the object is empty, {}, then the push is sent to all devices.

Callbacks

Each callback receives two arguments. For a successful request the first argument will be null or undefined and the second argument will be the parsed JSON response from the API.

If an error occurs at any part of the request the first argument will be an Error object.

API

PushBullet.me(callback);

Get the current user's information.

pusher.me(function(err, response) {});

PushBullet.devices([options], callback)

Retrieves a list of pushable devices.

The options parameter can use two attributes cursor andlimit to control the data returned.

  • active is used to restrict the results to only active devices.
  • cursor is used to select the page if the results have been paginated.
  • limit is used to limit the number of objects in the reponse.
var options = {
	limit: 10
};

pusher.devices(options, function(error, response) {});

PushBullet.createDevice(deviceOptions, callback)

Creates a new device.

var deviceOptions = {
	nickname: 'node-app'
};

pusher.createDevice(deviceOptions, function(error, response) {});

PushBullet.updateDevice(deviceIden, deviceOptions, callback)

Creates a new device.

var deviceOptions = {
	nickname: 'node-app'
};

pusher.updateDevice(deviceIden, deviceOptions, function(error, response) {});

PushBullet.deleteDevice(deviceIden, callback)

Delete a device.

pusher.deleteDevice('u1qSJddxeKwOGuGW', function(error, response) {});

PushBullet.note(deviceParams, noteTitle, noteBody, callback)

Push a note to the specified device.

pusher.note('u1qSJddxeKwOGuGW', 'New Note', 'Note body text', function(error, response) {});

PushBullet.link(deviceParams, name, url, callback)

Push a link to the specified device.

pusher.link('u1qSJddxeKwOGuGW', 'GitHub', 'https://github.com/', function(error, response) {});

PushBullet.file(deviceParams, filePath, message, callback)

Push a file to the specified device.

pusher.file('u1qSJddxeKwOGuGW', '/path/to/file', 'Important file!', function(error, response) {});

PushBullet.dismissPush(pushIden, callback)

Dismiss a push.

pusher.dismissPush('udhrSpjAewzdwpCC', function(error, response) {});

PushBullet.deletePush(pushIden, callback)

Delete a push.

pusher.deletePush('udhrSpjAewzdwpCC', function(error, response) {});

PushBullet.deleteAllPushes(callback)

Delete all pushes associated with the current account.

pusher.deleteAllPushes(function(error, response) {});

PushBullet.history([options], callback)

Get the push history.

The options parameter can use three attributes cursor, limit and modified_after to control the data returned.

  • active is used to only select undeleted pushes. Defaults to true if not specified.
  • cursor is used to select the page if the results have been paginated.
  • limit is used to limit the number of objects in the reponse.
  • modified_after should be a timestamp. Defaults to 0 if not specified.
var options = {
	limit: 10,
	modified_after: 1400000000.00000
};

pusher.history(options, function(error, response) {})

PushBullet.subscriptions([options], callback)

Get a list of current subscriptions.

The options parameter can use two attributes cursor andlimit to control the data returned.

  • active is used to restrict the results to only active devices.
  • cursor is used to select the page if the results have been paginated.
  • limit is used to limit the number of objects in the reponse.
var options = {
	limit: 10
};

pusher.subscriptions(options, function(error, response) {});

PushBullet.subscribe(channelTag, callback)

Subscribe to a channel.

pusher.subscribe('jblow', function(error, response) {});

PushBullet.unsubscribe(subscriptionIden, callback)

Subscribe to a channel.

pusher.unsubscribe('udprOsjAsLtNTRAG', function(error, response) {});

PushBullet.muteSubscription(subscriptionIden, callback)

Mute a subscription.

pusher.muteSubscription('udprOsjAsLtNTRAG', function(error, response) {});

PushBullet.unmuteSubscription(subscriptionIden, callback)

Unmute a subscription.

pusher.unmuteSubscription('udprOsjAsLtNTRAG', function(error, response) {});

PushBullet.channelInfo(channelTag, callback)

Get information about a channel.

pusher.channelInfo('jblow', function(error, response) {});

PushBullet.chats([options], callback)

Get a list of current chats.

The options parameter can use two attributes cursor andlimit to control the data returned.

  • active is used to restrict the results to only active devices.
  • cursor is used to select the page if the results have been paginated.
  • limit is used to limit the number of objects in the reponse.
var options = {
	limit: 10
};

pusher.chats(options, function(error, response) {});

PushBullet.createChat(email, callback)

Create a new chat.

pusher.createChat('[email protected]', function(error, response) {});

PushBullet.deleteChat(chatIden, callback)

Delete a chat.

pusher.deleteChat('udprOsjAsLtNTRAG', function(error, response) {});

PushBullet.muteChat(chatIden, callback)

Mute a chat.

pusher.muteChat('udprOsjAsLtNTRAG', function(error, response) {});

PushBullet.unmuteChat(chatIden, callback)

Unmute a chat.

pusher.unmuteChat('udprOsjAsLtNTRAG', function(error, response) {});

### PushBullet.sendSMS(options, callback)

Send an SMS through a device.

```javascript
var options = {
	source_user_iden: 'ujpah72o0',              // The user iden of the user sending this message
	target_device_iden: 'ujpah72o0sjAoRtnM0jc', // The iden of the device corresponding to the phone that should send the SMS
	conversation_iden: '+1 303 555 1212',       // Phone number to send the SMS to
	message: 'Hello!'                           // The SMS message to send
};

pusher.sendSMS(options, function(error, response) {});

PushBullet.sendClipboard(options, callback)

Send clipboard content.

var options = {
    source_user_iden: "ujpah72o0",              // The iden of the user sending this message
    source_device_iden: "ujpah72o0sjAoRtnM0jc", // The iden of the device sending this message
    body: "http://www.google.com",              // The text to copy to the clipboard
};

pusher.sendClipboard(options, function(error, response) {});

PushBullet.dismissEphemeral(options, callback)

Dismiss an ephemeral.

var options = {
	package_name: 'com.pushbullet.android', // Set to the package_name field from the mirrored notification
	notification_id: '-8',                  // Set to the notification_id field from the mirrored notification
	notification_tag: null,                 // Set to the notification_tag field from the mirrored notification
	source_user_iden: 'ujpah72o0',          // Set to the source_user_iden field from the mirrored notification
};

pusher.dismissEphemeral(options, function(error, response) {});

PushBullet.stream()

Returns a new stream listener which will emit events from the stream.

var stream = pusher.stream();

connect()

Connects to the stream.

stream.connect();

close()

Disconnects from the stream.

stream.close();

Events

connect

Emitted when the stream has connected.

stream.on('connect', function() {
	// stream has connected
});
close

Emitted when the stream has disconnected.

stream.on('close', function() {
	// stream has disconnected
});
error

Emitted when there is a connection or streaming error.

stream.on('error', function(error) {
	// stream error
});
message

Emitted when a message is received from the stream. message will be emitted for all messages but you can listen for specific messages with nop, tickle and push.

stream.on('message', function(message) {
	// message received
});
nop

Emitted when the keep-alive 'no-operation' message is received.

stream.on('nop', function() {
	// nop message received
});
tickle

Emitted when the tickle message is received.

stream.on('tickle', function(type) {
	// tickle message received
});
push

Emited when the push message is received.

stream.on('push', function(push) {
	// push message received
});

node-pushbullet-api's People

Contributors

alexwhitman avatar kokarn avatar nidayand avatar vzsg avatar

Watchers

James Cloos avatar Jan Beckmann avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.