Created
January 22, 2011 06:17
-
-
Save gobengo/790919 to your computer and use it in GitHub Desktop.
node.js-driven Google Chat bot
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var xmpp = require('node-xmpp'), | |
secret = require('./secret'), | |
util = require('util'); | |
var creds = { | |
jid: '[email protected]', | |
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); |
Oh yeah, and node-xmpp and its dependencies appear to require node.js v0.2.6 right now, which is the latest stable version.
Trying to make it work with v0.3 will only waste you hours of time. Trust me...
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Sample output