【Twitter API】PEARのServices_Twitterを使ってフォロワーを取得、つぶやき、リムーブなどをしてみる(2)

Bookmark this on Livedoor Clip
LINEで送る

・前回の記事
「【Twitter API】PEARのServices_Twitterを使ってフォロワーを取得、つぶやき、リムーブなどをしてみる(1)」
の続きです。

今回は最新100件フォロワーを取得して、
その中に相互フォローの人ではない人が居たらフォローをする。
といった自動フォロー返しBOTのようなものを作ってみたいと思います。





参考にしたサイト
[PEAR]Services_Twitterを使ってOAuth
PHP & JavaScript Room -Twitter REST API:ユーザー関連

TwitterAPI

フォロワー一覧を取得、相互フォローの判定をする


前回と同じようにServices_Twitterを使って取得します。
最新の100件のフォロワーを取得してユーザ名とフォローフラグを配列に保存します。
1$followers = $twitter->statuses->followers( array("cursor" => "-1" ) );
2$user_list = array();
3foreach( $followers->users as $user ){
4  $user_list[] = array( "name"      => $user->screen_name,
5                        "following" => $user->following  );
6}



following には相互フォローならtrue、
片思いフォローならfalseのbool値が入ります。

ユーザ名を指定してフォローする


ユーザ名を指定してフォローします。一行だけで簡単ですね。
1$ret = $twitter->friendships->create( "【フォローしたいユーザ名】" );



フォローを失敗、つまりブロックをされていると
「ブロックされているのでこのユーザーをフォローすることができません.」
といった悲しいエラーメッセージが帰ってきます。


上記2つを組み合わせて、BOTのようなものを作ってみます。

最新100件のユーザ調べて自動フォロー返しをするサンプル


サンプルブログラムです。
01require_once ('Services/Twitter.php');
02require_once ('HTTP/OAuth/Consumer.php');
03 
04$consumerkey    = "登録した値";
05$consumersecret = "登録した値";
06$accesstoken    = "登録した値";
07$accessecret    = "登録した値";
08 
09try{
10  $twitter = new Services_Twitter();
11  $oauth   = new HTTP_OAuth_Consumer($consumerkey, $consumersecret, $accesstoken, $accessecret);
12  $twitter->setOAuth($oauth);
13   
14  //最新100件のフォロワーを取得
15  $followers = $twitter->statuses->followers( array("cursor" => "-1" ) );
16 
17  foreach( $followers->users as $user ){
18    //相互フォローか判定
19    if( $user->following == FALSE ){
20      //フォローする
21      $twitter->friendships->create( $user->screen_name );
22    }
23    sleep(5);
24  }
25 
26} catch (Services_Twitter_Exception $e) {
27    echo $e->getMessage();
28}



これをcronか何かで定期的に走らせれば自動フォローBOTの完成です、恐らく。

フォロワーではなくフォローを取得し、フォロワーとの差分を取れば
相互フォロー出ない人を自動リムーブするようなBOTも作れそうですね。


ユーザ名を指定してリムーブする


ユーザ名を指定してリムーブします。デストローイ。
1$ret = $twitter->friendships->destroy( "【リムーブしたいユーザ名】" );

Bookmark this on Livedoor Clip
LINEで送る

関連記事

【Twitter API】PEARのServices_Twitterを使ってフォロワーを取得、つぶやき、リムーブなどをしてみる(2)” への1件のコメント

  1. ピンバック: 【WordPress】特定のカテゴリの記事とリンクをランダムにTwitterでつぶやくサンプルプログラム【Twitter API】 | 桜花満開