I’ve just released Gnotty 0.2 with a handful of new features which I thought would be worthwhile writing about. I wrote in greater detail about Gnotty when it was first released, but if you missed that and are wondering what it is, it’s an open source Python web application for managing an IRC channel. It provides a chat interface using WebSockets and searchable message archive — both which support mobile devices using responsive design. It also comes with programmable bots you can use to build services around the IRC channel.
Here’s a list of the new features in 0.2:
— Join and leave messages can now be filtered in chat and the message archive.
— Next and previous day links in the message archive.
— Consistent username colouring, now also implemented in the message archive.
— A new
gnottify_runserver Django management command, for running both the web and WebSocket servers together during development.
— Bots now automatically reconnect (with exponential backoff) if they’re disconnected from the channel.
— A new
timer event type has been added to the bot framework, for running periodic events.
The new timer events are quite simple on their own, but very interesting for Gnotty as a whole. As a feature, they simply provide the mechanism for bots to run events repeatedly at a given time interval. For Gnotty, this comes full circle in building bots that interact with external services and APIs. Since Gnotty’s first release, it has supported having data pushed to it via webhooks — custom HTTP endpoints used to send data to Gnotty, that a bot then acts upon. Now with timer events, data can be pulled by Gnotty from external sources as well.
The above example is actually included in Gnotty with the 0.2 release, with a bit more functionality implemented around error handling, as well as supporting multiple feeds.
The best validation an open source project can receive is when other developers find the project useful enough to freely contribute back to it. Gnotty is off to a good start in this regard, and a big thanks goes to Philip Neustrom, Mike Waites, and Ken Bolton for contributing features and fixes to Gnotty since its first release.