半自動フォロー返し及び半自動リムーブ
これに関してもちょくちょくと見かけるんですが、あまり難しく考えなくてもよかったかなと。
ただし、一部が書式が違っていたりしているので分からないこともちょくちょくあったりはするんですが、この辺りも新旧を見比べれば「あ、そういうことか」というのがすぐに分かるはずなので……。
function makeReplyTweets($replies, $replyFile, $replyPatternFile){
の中にある
//リプライパターンにあてはまらなかった場合はランダムに if(empty($status) && !empty($replyFile)){ $status = $this->makeTweet($replyFile); } if(empty($status) || stristr($status,"[[END]]")){ continue; } //idなどを変換 $status = $this->convertText($status, $reply); //フッターを追加 $status .= $this->_footer; //リプライ相手、リプライ元を付与
と書かれた次の行に以下のスクリプトを追記します。
//半自動フォロー、半自動リムーブ関連 switch(true){ //半自動フォロー case stristr($status, "[[AUTOFOLLOW]]"): $status = str_replace("[[AUTOFOLLOW]]","",$status); $followreq = $this->consumer->sendRequest("http://api.twitter.com/1.1/friendships/create.json",array("screen_name" => $reply["user"]["screen_name"]),"POST"); $re["status"] = "@".$reply["user"]["screen_name"]." ".$status; break; //半自動リムーブ case stristr($status, "[[AUTOREMOVE]]"): $status = str_replace("[[AUTOREMOVE]]","",$status); $removereq = $this->consumer->sendRequest("http://api.twitter.com/1.1/friendships/destroy.json",array("screen_name" => $reply["user"]["screen_name"]),"POST"); $re["status"] = "@".$reply["user"]["screen_name"]." ".$status; break; //その他 default: $re["status"] = "@".$reply["user"]["screen_name"]." ".$status; }
なお、本来書かれている
$re["status"] = "@".$reply["user"]["screen_name"]." ".$status;
という行は使用しないのでコメントアウトをしてください。