Skip to content

ptica/node-simple-xmpp

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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	

About

Simple High Level NodeJS XMPP Client

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published