A nodejs Jabber Debug Bot
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 7 commits ahead of plymouthstate:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.gitignore first commit May 2, 2012


Jabber Bot


node (of course)

On a mac, install with brew!

brew install node

npm (of course)


curl https://npmjs.org/install.sh | sh


On a mac, install with brew!

brew install icu4c
brew link icu4c

npm: simple-xmpp

Install via:

npm install -g simple-xmpp


Once you've installed all the requirments, you will need to configure your bot.

cp config-example.js config.js
vi config.js
Setting Wat?
process.env.bot_send_to The jabber account your bot will send messages to. (i.e. your gtalk account)
process.env.bot_listen_port The port your bot will listen on.
process.env.bot_jid The jabber account your bot will log in as in order to send debug messages.
process.env.bot_password The password for your bot's jabber account.
process.env.bot_host The jabber host. Default: talk.google.com
process.env.bot_port The jabber host port. Default: 5222

Note: you'll need to create a jabber account somewhere so this will all work. If you don't have your own domain name, using Gmail is always an option. Once you've created your bot's account, you'll need to log in as your bot via a chat client and invite your primary account as a friend.

Obviously, replace SOME.IP.ADD.RESS with the IP address that you expect to receive UDP packets from.

Running the Bot

Run this bad boy like so:

node bot.js

Punching a hole in your firewall (if required)

If you plan on accepting UDP traffic from a host other than your local host, you'll probably need to punch a hole in your firewall.

Check to see what you have in ipfw:

sudo ipfw list

Choose a sequence number for your firewall rule (this example uses the number 10):

sudo ipfw add 10 allow udp from SOME.IP.ADD.RESS to any 8888

Running as a process

If you, like me, want to have this bad boy running any time you need it, you can set it up as a process using forever, a handy npm. To get it, run:

sudo npm install -g forever

Then, to forever run the bot, simply:

cd /path/to/jabberbot
forever bot.js