Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

An extensible MUC bot for XMPP.

Project Description

Whistler Bot is an XMPP bot written in python using SleekXMPP, which is a requirement. The bot is designed to handle some commands, and it is easy to extend.

Simple usage:

$ whistler  myconfig.conf

Create bot programmatically:

from import WhistlerBot

bot = WhistlerBot( "", "mypassword" )

Extending bot

You can extend the bot functionalities, just see for example the code of the whistler console script. In short you can add commands creating a new class from WhistlerBot, and define new functions in the form cmd_<command> plus the command name, for example, to handle the command ping.

from import WhistlerBot

class MyBot(WhistlerBot):

    def cmd_ping(self, msg, args):
        return "pong"

Example chat

Whistler allows to send private commands in usual jabber (and of course GTalk and Google Hangouts) chat.

Also public commands are available, prefixed them with “!” (exclamation mark), as also reply to a direct mention in the form “whistler:” or “whistler,”, where “whistler” is the nickname of the bot in the MUC:

(Me) whistler: uptime
(whistler) 17:33:01 up 2 days, ...

Currently Whistler support a number of features, including tweet from command, shorting url action and so on…

You can see the mixins directory to see a number of examples for whistler and how easy is to extend.


Any new mixin or functionality is welcome to Whistler. If you has been developed new one or want new feature, please send me a message or a pull request.

Release History

Release History

This version
History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
whistler-1.5.3.tar.gz (12.7 kB) Copy SHA256 Checksum SHA256 Source May 31, 2014

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting