Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A nodejs Jabber Debug Bot

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 .gitignore
Octocat-spinner-32 LICENSE
Octocat-spinner-32 README.md
Octocat-spinner-32 bot.js
Octocat-spinner-32 config-example.js
README.md

Jabber Bot

Requirements

node (of course)

On a mac, install with brew!

brew install node

npm (of course)

Run:

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

icu4c

On a mac, install with brew!

brew install icu4c
brew link icu4c

npm: simple-xmpp

Install via:

npm install -g simple-xmpp

Configuring

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
Something went wrong with that request. Please try again.