[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;//この行はなくてもいい。確認用 } ?> 一覧に戻る |