Skip to content

Instantly share code, notes, and snippets.

@carlosrodriguez
Forked from gobengo/node-gchat.js
Created September 15, 2011 19:27
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save carlosrodriguez/1220225 to your computer and use it in GitHub Desktop.
Save carlosrodriguez/1220225 to your computer and use it in GitHub Desktop.
node.js-driven Google Chat bot
var xmpp = require('node-xmpp'),
secret = require('./secret'),
util = require('util');
var creds = {
jid: 'bengoering@gmail.com',
password: secret.pw, //string
};
var GChat = function(creds) {
var self = this,
c = this.client = new xmpp.Client(creds);
c.on('online', function() {
c.send(new xmpp.Element('presence'));
});
c.on('stanza', function(stanza) {
//util.log('IN: '+stanza.name);
if (stanza.is('presence')) c.emit('presence', stanza);
else if (stanza.is('message')) c.emit('message', stanza);
});
c.on('presence', function(p) {
var show = p.getChild('show');
util.print('Friend: '+p.attrs.from);
if (show) util.print(' ('+show.getText()+')');
util.print('\n');
});
c.on('message', function(msg) {
var from = msg.attrs.from,
body = msg.getChild('body'),
text = body ? body.getText() : '';
util.print('\nNew message from: '+from+'\n');
util.print('\t'+text+'\n');
});
};
var gc = new GChat(creds);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment