dr.botzo --- TODO
  Both a reminder to myself and a hint to anyone else who wants to hack around...

  * change the countdown report to properly refer to the past

  * markov random chatter, add it back. should just need a thread and some polling

  * twitter polling, add it back. should need a thread, and the ability to reply to a channel
    * is this different than printing replies? because we should do that too

  * some sort of cron interface (periodic events)
    * thinking about removing this, wouldn't crontab + XML-RPC be enough?
      * even better idea now, i think this should be done via django management commands

  * there are a number of places that hardcode event.arguments()[0], these should probably loop

  * something i used to call a bug but now i'm thinking it's a weird non-bug corner case
    that i might not even want to fix...
    * if a trigger text replacement happens, the original text is unavailable to modules
      f.x., saying (this text will be replaced with a trigger)++ will cause (replacement)++
      to be seen by the karma module. fix: pass along the original text as an argument
      to modules, and/or have karma look in the events structure for the original text

  * create a new help module

  * more text modification nonsense

  * any interesting web service stuff?
    * D&D Compendium search?

  * obligatory info command

  * settle on docstrings

  * voice survivor --- track how long users have voice, score them somehow

  * handle disconnects
    * i THINK this has been done now, with the new ircbot code
    * some kind of option whether or not to reconnect
    * this includes:
      FROM SERVER: ERROR :Closing Link: dr_botzo[ayu.incorporeal.org] (Ping timeout)
      command: error, source: None, target: Closing Link: dr_botzo[ayu.incorporeal.org] (Ping timeout), arguments: []

  * automsg vhost TODO in IrcAdmin