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.
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.
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 - #
Actually Marc, it should be possible to support xmpp via twisted, and these techniques should translate well!
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.
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!
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.