<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Simon Willison's Weblog: yardbird</title><link href="http://simonwillison.net/" rel="alternate"/><link href="http://simonwillison.net/tags/yardbird.atom" rel="self"/><id>http://simonwillison.net/</id><updated>2009-05-22T23:13:39+00:00</updated><author><name>Simon Willison</name></author><entry><title>Introducing Yardbird</title><link href="https://simonwillison.net/2009/May/22/yardbird/#atom-tag" rel="alternate"/><published>2009-05-22T23:13:39+00:00</published><updated>2009-05-22T23:13:39+00:00</updated><id>https://simonwillison.net/2009/May/22/yardbird/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://zork.net/motd/nick/django/introducing-yardbird.html"&gt;Introducing Yardbird&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
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.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/django"&gt;django&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/irc"&gt;irc&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/regular-expressions"&gt;regular-expressions&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/threads"&gt;threads&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/twisted"&gt;twisted&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/yardbird"&gt;yardbird&lt;/a&gt;&lt;/p&gt;



</summary><category term="django"/><category term="irc"/><category term="regular-expressions"/><category term="threads"/><category term="twisted"/><category term="yardbird"/></entry></feed>