Not Logged In

hermes 0.3.0

Hermes is an extensible XMPP-based chatroom server written in Python.Easily setup and manage chatrooms for friends or colleagues.

## How it Works

Supply your own XMPP-based accounts (Google accounts work great!) to serve as chatroom hosts, add a bit of configuration, and that's it.All chatroom members are invited to chat with the chatroom host which will in turn broadcast their messages to all other members.

## Usage

The "Hello World" usage of Hermes looks like this. Put the following in `chatserver.py`, update the user and chatroom info, and run it:

Available from PyPI: <http: pypi.python.org="" pypi="" hermes=""/>. pip is the recommended installation method:

pip install hermes

## Commands

Hermes interprets some messages as commands:

* `/mute` - Mute the chatroom. Messages are queued up for whenever you unmute the chatroom.

* `/unmute` - Unmute the chatroom. Receive all messages that were queued while the chatroom was muted.

* `/invite <handle>` - Invite members to the chatroom. Available to admins only.

* `/kick <handle>` - Kick members from the chatroom. Available to admins only.

* `/marco` - Not sure if you're still connected to the chatroom? Chatroom replies to you (and only you) with "polo".

## Extensibility

You can extend the base chatroom class `hermes.Chatroom` to modify or add extra functionality.

Adding a `command_patterns` static property to your class should be particularly useful for extensions.It's a list of regular expression/method name pairs. Each incoming message is tested against the regexes until a match is found.On a match, the named instance method is invoked to handle the message instead of the default message-handling pipeline.

Specify the path to your creation as a string or the Class itself as the `CLASS` of your chatroom: