Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including strophejs-plugin-roster with all npm packages installed. Try it out:

require("strophe.js/package.json"); // strophe.js is a peer dependency. var strophejsPluginRoster = require("strophejs-plugin-roster")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

strophejs-plugin-roster v1.1.0

A strophe.js plugin for Roster Versioning (XEP-0237).


strophe.roster.js is a plugin to provide Roster Versioning (XEP-0237).


npm install strophejs-plugin-roster


Make sure you include Strophe first.

You should first initialize and authorize the plugin, then you can subscribe to presence updates for the people in your roster.

Init connection

# `connection` is Strophe.Connection

var roster;
connection.roster.get(function (result) {
  roster = result;

Subscribe to updates

# a jid from your roster
var jid = 'username@your_xmpp_server';

// Subscribe to updates for the given JID
connection.roster.subscribe(jid, 'Online', 'Nick');

// Authorize the given JID to get updates from you
connection.roster.authorize(jid, 'Online');

Update nick

connection.roster.update(jid, 'My Nick');


.authorize(jid, message)

.subscribe(jid, message, nick)

.unsubscribe(jid, message)

.add(jid, name, groups, callback)

.update(jid, callback)

.remove(jid, callback)



RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free