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


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

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





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

TwitterAPI

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


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



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

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


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



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


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

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


サンプルブログラムです。
require_once ('Services/Twitter.php');
require_once ('HTTP/OAuth/Consumer.php');

$consumerkey    = "登録した値";
$consumersecret = "登録した値";
$accesstoken    = "登録した値";
$accessecret    = "登録した値";

try{
  $twitter = new Services_Twitter();
  $oauth   = new HTTP_OAuth_Consumer($consumerkey, $consumersecret, $accesstoken, $accessecret);
  $twitter->setOAuth($oauth);
  
  //最新100件のフォロワーを取得
  $followers = $twitter->statuses->followers( array("cursor" => "-1" ) );

  foreach( $followers->users as $user ){
    //相互フォローか判定
    if( $user->following == FALSE ){
      //フォローする
      $twitter->friendships->create( $user->screen_name );
    }
    sleep(5);
  }

} catch (Services_Twitter_Exception $e) {
    echo $e->getMessage();
}



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

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


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


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


関連記事

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

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