Twitterで自動でフォローするシステムを作りました。結構前に作ったのに、ブログに書くの忘れてた。
ちなみにここでの自動フォローというのは、スパム系のアレではなく、誰かにフォローされたらフォローを返すというものです。
やり方としては「フォローしている」と「フォローされている」を比較して、まだフォローしていない人がいたらフォローするというものです。
bot作成と同じく、PHPとServices_Twitterを使います。今回はそれにJsphonを加えます。
require_once(“Services/Twitter.php”);
require_once(“Jsphon/Decoder.php”);
$st =& new Services_Twitter($user, $pass);
$json =& new Jsphon_Decoder();
// フォローしているリスト
$data=$st->getFriends();
$friends=$json->decode($data);
// フォローされているリスト
$data=$st->getFollowers();
$followers=$json->decode($data);
// 比較
$out_list=NULL;
foreach ($followers as $follower) {
$flag=0;
foreach ($friends as $friend) {
if ($follower[screen_name]==$friend[screen_name]) {
$flag=1;
}
}
if ($flag==0) {
$out_list[]=$follower[screen_name];
}
}
// フォローする
if ($out_list!=NULL) {
foreach ($out_list as $sname) {
$st->addFriend($sname);
}
}
こんな感じです。ただこれだとフォロー×フォロワー分のループが発生するから、数が多いとやばいね。どっかにデータを保持するか、直近の数十件だけの処理にした方がいいかな。
ちなみにフォロー切られた場合は、とりあえず対処しません。
この処理をbotに実装して運用中です。
「Twitterで自動でフォローするシステム」への1件のフィードバック