Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Simple High Level NodeJS XMPP Client

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 examples
Octocat-spinner-32 lib
Octocat-spinner-32 tests
Octocat-spinner-32 package.json
Octocat-spinner-32 readme.md
readme.md

Node Simple XMPP

Simple High Level NodeJS XMPP Library

Status

Beta

Dependencies

sudo apt-get install libexpat1 libexpat1-dev libicu-dev

Install

npm install simple-xmpp

Example

var xmpp = require('simple-xmpp');

xmpp.on('online', function() {
    console.log('Yes, I\'m connected!');
});

xmpp.on('chat', function(from, message) {
    xmpp.send(from, 'echo: ' + message);
});

xmpp.on('error', function(err) {
    console.error(err);
});

xmpp.connect({
    jid         : username@gmail.com,
    password    : password,
    host        : 'talk.google.com',
    port        : 5222
});

Documentation

Events

Online

event where emits when successfully connected

xmpp.on('online', function() {
    console.log('Yes, I\'m online');
});

Chat

event where emits when somebody sends a chat message to you

xmpp.on('chat', function(from, message) {
    console.log('%s says %s', from, message);
});

Buddy

event where emits when state of the buddy on your chat list changes

/**
    @param jid - is the id of buddy (eg:- hello@gmail.com)
    @param state - state of the buddy. value will be one of the following constant can be access via require('simple-xmpp').STATUS
        AWAY - Buddy goes away
        DND - Buddy set its status as "Do Not Disturb" or  "Busy",
        ONLINE - Buddy comes online or available to chat
        OFFLINE - Buddy goes offline
*/
xmpp.on('buddy', function(jid, state) {
    console.log('%s is in %s state', jid, state);
});

Stanza

access core stanza element when such received Fires for every incoming stanza

/**
    @param stanza - the core object
    xmpp.on('stanza', function(stanza) {
        console.log(stanza);
    });
*/

Methods

Send

Send Chat Messages

/**
    @param to - Address to send (eg:- abc@gmail.com) 
    @param message - message to be sent 
*/

xmpp.send(to, message);

Probe

Probe the state of the buddy

/**
    @param jid - Buddy's id (eg:- abc@gmail.com)
    @param state -  State of the buddy.  value will be one of the following constant can be access via require('simple-xmpp').STATUS
        AWAY - Buddy goes away
        DND - Buddy set its status as "Do Not Disturb" or  "Busy",
        ONLINE - Buddy comes online or available to chat
        OFFLINE - Buddy goes offline
*/

xmpp.probe(jid, function(state) {

})

Fields

Fields provided Additional Core functionalies

xmpp.conn

The underline connection object

var xmpp = simpleXMPP.connect({});
xmpp.conn; // the connection object

xmpp.Element

Underline XMPP Element class

var xmpp = simpleXMPP.connect({});
xmpp.Element; // the connection objec   

Guides

Something went wrong with that request. Please try again.