[TL反応]

<?php
// twitteroauth.phpを読み込む
require_once("twitteroauth.php");

$consumer_key = "";
$consumer_secret = "";
$access_token = "";
$access_token_secret = "";

// OAuthオブジェクト生成
$to = new TwitterOAuth($consumer_key,$consumer_secret,$access_token,$access_token_secret);

//最新のTLのステータスIDを保存しておくファイルです。パーミッションは書き込み可に。
$filename = "◯◯.dat";

//過去の開いて取得
$fp = @fopen($filename,'rb') or die("ファイルが開けません");
flock($fp, LOCK_EX);
$line = fgets($fp, 64);
fclose($fp); 

//自分がフォローしているfriendsのリストです。
$host = "https://api.twitter.com/1.1/statuses/home_timeline.json";      //ユーザーの発言一覧

//一番最初の時やファイルが壊れた時、最新1件のみ発言を取得する
if(!empty($line)){
	$req = $to->OAuthRequest($host,"GET",array("since_id"=>$line));
}
else{
	$req = $to->OAuthRequest($host,"GET",array("count"=>"1"));
}

//json文字列をオブジェクトに代入する 
$JSON = json_decode($req);

$i = count($JSON)-1;
$j = 0;
while($i >= $j) {
		$var =  $JSON[$i]->text;    
		$reply_name = $JSON[$i]->user->screen_name;
		$name = $JSON[$i]->user->name;
		$id = $JSON[$i]->id_str;

		$oha=array("おはよう","おはようございます","もう起きたんですか?");
		$oya=array("おやすみ","ゆっくり休んでください","いい夢を");
		$itekima=array("行ってらっしゃい","気をつけて","帰ってくるのを待ってます");
		$tadaima=array("おかえり","待ってたよ","お疲れさま");

	if($reply_name != $username){
		if( !preg_match ( "/@[a-zA-Z0-9-_]{3,}/", $var ) ){
			if( !preg_match ( "/◯◯(botアカウントID)/", $reply_name ) ){
				if(preg_match ( "/おやす|寝る/u", $var )){
					$key = array_rand($oya);
					$post = $oya[$key];
					$message = "@".$reply_name." ".$post;
					tweet($message,$id);
				}else if(preg_match ( "/おはよ|むくり/u", $var )){
					$key = array_rand($oha);
					$post = $oha[$key];
					$message = "@".$reply_name." ".$post;
					tweet($message,$id);
				}else if(preg_match ( "/[い行](っ)?てきま/u", $var )){
					$key = array_rand($itekima);
					$post = $itekima[$key];
					$message = "@".$reply_name." ".$post;
					tweet($message,$id);
				}else if(preg_match ( "/ただいま/u", $var )){
					$key = array_rand($tadaima);
					$post = $tadaima[$key];
					$message = "@".$reply_name." ".$post;
					tweet($message,$id);
				}
			}
		}
	}
	$i--;
}

//ファイルに最新id書き込み
$last_id = $JSON[0]->id_str;
$dat = (string)$last_id;
file_put_contents($filename,$dat,LOCK_EX);

//ポスト部分の関数
function tweet($message,$id)
{
	global $to;
	$result = $to->OAuthRequest("https://api.twitter.com/1.1/statuses/update.json","POST",array("status"=>$message,"in_reply_to_status_id"=>"$id"));
	print $result;//この行はなくてもいい。確認用
}

?>

一覧に戻る