RTスルーメモ

nakkyonさんのソースをお借りしてRTスルーするソースメモ

< ?php

$username = "ゆーざーねーむ";
$password = "ぱすわーど";

//最新の返信発言を残しておくためのファイル
$filename = "data.txtフルパス";


$host = "http://twitter.com/statuses/mentions.xml"; //返信一覧


$fp = @fopen($filename,'rb') or die("ファイルが開けません");
flock($fp, LOCK_EX);
$line = fgets($fp, 64);
fclose($fp);


//保存しておいたステータスid取得。このid以降の返信を読み込む。なかったり読み込めなかったら最新1件

if(!empty($line)){
$last_id=$line;
$host .="?since_id=".$last_id;
}
else{
$host .="?count=1";
}


$username1 = "ループしたくないbotのユーザーネーム";
$username2 = "ループしたくないbotのユーザーネーム";
$username3 = "ループしたくないbotのユーザーネーム";
$username4 = "ループしたくないbotのユーザーネーム";
$username5 = "ループしたくないbotのユーザーネーム";


//cURLセッションを初期化する…ここらへんはおなじみ
$ch = curl_init();
////オプションを設定する
curl_setopt($ch, CURLOPT_URL, $host);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
//
////cURLセッションを実行する
$result = curl_exec($ch);
//
////cURLリソースを閉じ、システムリソースを解放する
curl_close($ch);

//XML文字列をオブジェクトに代入する
$XML = simplexml_load_string($result);


$i = count($XML)-1;
$j = 0;
while($i >= $j) {
$var = $XML->status[$i]->text;
$com = ereg_replace("\@$username", "", $var);
$reply_name = $XML->status[$i]->user->screen_name;

//ここからが変わったところ
if($reply_name != $username1){
if($reply_name != $username2){
if($reply_name != $username3){
if($reply_name != $username4){
if($reply_name != $username5){


//RTに反応させない
if( !preg_match ( "/RT/", $var ) ){
$name = $XML->status[$i]->user->name;
$id = $XML->status[$i]->id;

$message = serif($reply_name,$name,$com);
tweet($message ,$username,$password,$id);
}
}}}}}//上記で定義した分の}をつける
//ここまで変わったところ


$i--;
}

//最終発言リプライのidを保存してる部分。先頭を調べて…
$string = $XML->status[0]->id;
//空じゃなかったら書き込み
if(!empty($string)){
$dat = (string)$string;
file_put_contents($filename,$dat,LOCK_EX);
}
//これでメインの処理は終わり


function serif($reply_name,$name,$com){
//以下は従来通りなので省略

めもめも