PyRook - A standalone client for RookChat written in Python and Qt

PyRook aims to provide a platform-independent standalone RookChat client with feature parity with the standard web interface, plus additional features such as highlighting on your username and local logging. By default it connects to RinkChat, RinkWorks's installation of RookChat.
Comments, bugs, etc may be memoed to Sentynel or #pyrook on RinkChat, or emailed to pyrook _at_ sentynel _dot_ com.
PyRook's source code is public domain. The source code, hosted on Gitorious, can be accessed here.


You will need: Python 2.6 or 2.7, the Python interpreter. PySide v1.0, the Python bindings for Qt, the graphics toolkit (or alternatively the unofficial PyQt bindings, but you will have to adapt the imports, and this is unsupported). lxml, the HTML parser.
I apologise for the long list of requirements. I do intend to create a package with as many dependencies bundled as possible for Windows once PyRook is stable.


Python 2.6 or 2.7 (recommended) from Either the 32 or 64 bit versions will work, but you must ensure that the PySide and lxml libraries you download are for the same architecture, and you must have a 64 bit version of Windows to use the 64 bit version. If in doubt use 32 bit.
PySide bindings for your Python version from
lxml parser for your Python version, .exe installer recommended, from


All required packages should be available from your distribution's package manager. On *ubuntu, install python-pyside and python-lxml. All other dependencies will be pulled in automatically if necessary.


All depencencies are available for Mac, but you will need to search the download sites yourself for a set of correctly linked versions. They may also be available from Macports or Homebrew.



This version depends on a custom patch for RookChat, available here. This is implemented on RinkChat.
Changes since v0.1.3 include a better room join dialogue which will display any combination of users, topic and bots and has new room buttons; window alerts (taskbar highlight etc) on new messages or messages mentioning particular words; a permanent fix for chatstream merging and timestamp related bugs; and lots of miscellaneous fixes and tweaks.
v0.2.1: Configurable font size, improvements to highlighting handling, RookChat options, memos, help etc in menus, and fixes to room join dialogue for non-English languages.
v0.2.2: Remember username/password, command line options for user/pass/server, embedded QtWebKit tabs for internal RookChat links, logo/window icon, an internal debug log window, and more tweaks and fixes.
v0.2.3: Tweaks: skip the login box if a username and password are remembered, and allow remembering the size of the room join dialogue.
v0.2.4: Tweaks: Fix external links from web tabs, and alter the logo for better display against dark backgrounds.
v0.2.5: Really boring: Fix encoding-related issues, including broken room join dialogue with non-ASCII topics and send/receive inconsistencies for Windows-1252 encoded characters such as smart quotes.

Downloads: Windows (.zip), Unix (.tar.gz).
The included logo file(s) will be automatically installed when PyRook is first run, and can be safely deleted once it has started.

v0.1 initial release

First Qt based release. Should implement all basic functions, and most functions from the old wxWidgets based version. Logging is currently unavailable, and there's no config file - if you want to use a different server, for the moment you will have to edit the source.
It should be a lot more stable than the wx version, but there will, of course, be bugs!
Known issues: Timestamps are used for handling chatstream refreshes without clearing the backlog. If you have message timestamps disabled in your account, PyRook will enable them on your account on a temporary basis (they won't be displayed in the client). It will attempt to disable them again on logout, but if it crashes this may not happen and they'll get left on. Until an internal settings system is provided, you will have to log on on the web interface while PyRook is not running to disable them again.
v0.1.1: Lots of minor fixes: /purge, quit keyboard shortcut on Windows, open external links, sending messages with non-ASCII characters, more reliable chatstream merging, more reliable scrolling down on new message.
v0.1.2: More fixes: smileys, extraneous comma in some room names, purging, XML syntax error handling. Crash prevention when displaying room list and room with bots and no topic visible (though user list still isn't displayed in this case). Possible fix for intermittent crash on user list load.
v0.1.3: Features: /highfive command, glow on input box when /msg targets selected. Fixes: URL handling (internal links, external links with special characters, links on PySide v1.0.3), userlist request crash (probably - please report if you still get it), parsing improvements, sane application exiting (individual rooms can be left, doesn't halt system shutdown, etc), room list window topic wrapping, misc cleanup.

Download it here!

Old wxWidgets based versions

The old, very buggy wxWidgets versions of PyRook can be found here. They are emphatically not recommended or supported, either for use or examination of code.

Valid XHTML 1.0 Transitional