Skip to content
Group messaging Jabber bot
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Flengbot is a simple/crappy Jabber bot for small groups. Messages sent to the bot are re-broadcast to all online subscribers. Messages are also logged to a database, where they are parsed (offline) for links. These links are presented on


You'll need some perl modules to get started (assuming you already have perl installed):

perl -MCPAN -e 'install Net::Jabber'
perl -MCPAN -e 'install DBD::mysql'

After you have the modules (and their dependencies) installed, you need to create your database. The schema.sql file will do this for you:

mysql -u root -p -D database_name < schema.sql

You'll need a Jabber account for the bot to use. GMail or are both good candidates, although they both have reliability issues fairly often. If you're a serious nerd, consider running your own Jabber server.

Next, edit the settings at the top of and enter your own Jabber and MySQL settings.

Finally, run the bot using perl You might want to run it behind screen once you've confirmed it's working.


To subscribe to the bot, add it to your contacts and send it a message. It will explain that you need to send start to it to start subscribing. Sending stop will stop your subscription. Any other messages are sent to all subscribers (including yourself).

Nicknames can be set in the users table in the database - they default to your Jabber ID.

Missing bits

This first pass only contains the bot and schema. The cron task to extract links from the log are missing. The web portions required to show links and stats are also missing. I'll add these at some point when they get cleaned up.

Flengbot has been online (in this incarnation) for about 3 years, handling over 50 thousand messages. It might be ugly, but it mostly works.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.