Twitterの自動follow返しをRubyで

Twitter でイチイチ follow するのが面倒くさい んだけど自前でメールサーバも立ててない - Djangoへの片思い日記 関連.

Rubyだとこんな感じかな? 以下,付属ライブラリのみ使用.
自前のIMAP4サーバに対してしかテストしてないけど,たぶんGmailでも動くんじゃないかと思う.

#!/usr/local/bin/ruby
require 'net/imap'
require 'open-uri'

# IMAP4 configuration:
SERVER = 'imap.gmail.com'
USER = 'exampleuser@gmail.com'
PASSWD = 'gmail_password_here'

class Twitter
  USER = 'twitter_username_here'
  PASSWD = 'twitter_password_here'
  TwitterURI = 'http://twitter.com/friendships/create/%s.json'
  def self.add(id)
    open(TwitterURI % [id], :http_basic_authentication => [USER, PASSWD]).read
  end
end

imap = Net::IMAP.new(SERVER, 993, true)
imap.login(USER, PASSWD)
imap.select('INBOX')

imap.search(['FROM', 'noreply@twitter.com',
             'SUBJECT', 'is now following you on Twitter!', 'UNSEEN']).
each do |num|
  data = imap.fetch(num, 'BODY[TEXT]')
  body = data[0].attr['BODY[TEXT]']
  Twitter.add(id = body.match(%r|http://twitter\.com/(\w+)|).to_a[1])
  imap.store(num, '+FLAGS.SILENT', [:Seen])
  puts "add #{id}"
end
imap.close