Code Monkey home page Code Monkey logo

node-simpler-xmpp's Introduction

Node Simple XMPP

Potentially Simpler High Level NodeJS XMPP Library, which supports listening to more than one account.

Status

Beta

Dependencies

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

Install

npm install simpler-xmpp

Example

var xmpp = require('simple-xmpp')({
    jid         : [email protected],
    password    : password,
    host        : 'talk.google.com',
    port        : 5222
});

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();

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:- [email protected])
	@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:- [email protected]) 
	@param message - message to be sent 
*/

xmpp.send(to, message);

Probe

Probe the state of the buddy

/**
	@param jid - Buddy's id (eg:- [email protected])
	@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) {
	
})

node-simpler-xmpp's People

Contributors

arunoda avatar rakeshpai avatar

Stargazers

xavier dutoit avatar

Watchers

xavier dutoit avatar James Cloos avatar  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.