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