Feed Sign in with OpenID OpenID

Simon Willison’s Weblog

Introducing Yardbird. I absolutely love it—an IRC bot built on top of Twisted that passes incoming messages off to Django code running in a separate thread. Requests and Response objects are used to represent incoming and outgoing messages, and Django’s regex-based URL routing is used to dispatch messages to different handling functions based on their content.

Tagged , , , , ,

6 comments

  1. I'm glad you liked it! For me, this exercise scrubbed away yet more of my lingering skepticism about the "loosely coupled" side of the Django motto.

    Nick Moffitt - 23rd May 2009 17:25 - #

  2. So we have Django like routing in IRC, HTTP and Mail. Guess the only one left is XMPP!

    ( http://github.com/telenieko/django-mailserver/tree / for the Mail one, you get the HTTP one is Django itself)

    Marc Fargas - 23rd May 2009 20:28 - #

  3. Actually Marc, it should be possible to support xmpp via twisted, and these techniques should translate well!

    Nick Moffitt - 23rd May 2009 23:23 - #

  4. It should be possible to support XMPP, but the pity is that so far there is no Pythonic XMPP server, nor an XMPP server with a Python extension API.

    Alex - 27th May 2009 16:24 - #

  5. Who cares what the server is written in? This is a client library dispatching incoming client events the way a web server dispatches incoming URL requests.

    The IRC servers I connect my test Yardbird instance to are all written in C!

    Nick Moffitt - 28th May 2009 20:23 - #

  6. We've been working on a different Twisted based IRC bot, Ibid, but using SQLAlchemy and our own dispatcher rather than Django.

    Still in early stages of development, but fully functional and supports IRC, XMPP, eMail, SILC, NMDC, Campfire, and a few others.

    Stefano Rivera - 19th June 2009 10:47 - #

Comments are closed.
A django site