Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Simple High Level NodeJS XMPP Client
JavaScript
Branch: master
Pull request Compare This branch is 111 commits behind simple-xmpp:master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
examples
lib
tests
package.json
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.