Twitter でイチイチ follow するのが面倒くさい んだけど自前でメールサーバも立ててない

「基本、follow されたらし返すから、自動でいいじゃん」とか思いはじめたので、こんな感じで自動 follow するようにしました。

Twitter でイチイチ follow するのが面倒くさい - にぽたん研究所

GmailIMAP でアクセスしてやるっていうのを
お友達がRubyでやろうとしてたので
「それ Python でやったほうが早いよ(バッテリ付属的な意味で」
と、思ったのでやってみた。

#!/usr/bin/env python                                                                                                                                                              
# -*- coding: utf-8 -*-                                                                                                                                                            

gmailuser='dankogai@gmail.com'
gmailpasswd='kogaidan'

twitteruser = 'dankogai'
twitterpasswd = 'kogaidan'

from imaplib import IMAP4_SSL
import re,urllib

gmail = IMAP4_SSL('imap.gmail.com')
gmail.login(gmailuser,gmailpasswd)

gmail.select('[Gmail]/All Mail')
mails = gmail.search(None, 'FROM', '"noreply@twitter.com"', 'SUBJECT', '"*is now following you on Twitter!"',  'UNSEEN')
for num in mails[1][0].split():
    typ, data = gmail.fetch(num,'(BODY[TEXT])')
    body = data[0][1]
    name = re.findall(r'\s+http://twitter\.com/(\w+)',body)[0]
    urllib.urlopen('http://%s:%s@twitter.com/friendships/create/%s.json' % (twitteruser,twitterpasswd,name),'').read()
    gmail.store(num, 'FLAGS.SILENT', '(\SEEN)')
    print 'add ' + name
gmail.close()


折角なので標準ライブラリだけでやってみたので
Windows でも Mac でも *nix でも動くよ!!
cron とかで 10分 に一回実行すると良いかも。

ちなみに、addしたかどうかの管理を未読、既読でやっているので
Gmail のフィルタで noreply@twitter.com のメールを「Skip the Inbox」だけしておいたほうが
良い感じ

        • -

追記

followもGETだとapi制限にひっかかるっぽいので
POSTに変更してみた