どうせならメッセージ内容から適当な単語を抽出して、人工無能的なリプライ内容にしたかった。
と思ったら、タイムラインを非公開にしている不届きな輩がいたため、botアカウントからは返信されたことにも気づけない。
やむなくbotに「自動フォロー返し」を実装することになった。
## 引数はTwitterオブジェクト def check_friendship(twi): dic = {} # BOTからフォロー申請中のIDを列挙 outgoing_ids = set(twi.friendships.outgoing(**dic)['ids']) print 'friendships/outgoing:', outgoing_ids # BOTがフォローしているIDを列挙 dic['screen_name'] = BOT_NAME following_ids = set(twi.friends.ids(**dic)['ids']) print 'friends/ids:', following_ids # BOTをフォローしているIDを列挙 followers_ids = set(twi.followers.ids(**dic)['ids']) print 'followers/ids:', followers_ids # BOTをフォローしており、BOTがフォローを申請していないIDを抽出 diff = followers_ids.difference(following_ids,outgoing_ids) print 'difference', diff # フォロー申請を出す for i in diff: dic = {} dic['user_id'] = i twi.friendships.create(**dic)
とりあえず、TwitterのREST API名であるoutgoingとcreateが機能を連想しにくい。
あと、pythonのset型に対する集合操作が強力で驚いた。