新しくまとめてみよう
改めてソースだけをまとめてみようと思います。
確かに見にくい。
動かし方とかは変わらないので、それがわからない人は過去の記事を見ていただくということで。
定期ポストソース
= '30') :
$plist = $mes['rand2'];//おやすみ定期ポスト
break;case ($now_g == '7')&&($now_i <= '30') :
$plist = $mes['rand1'];//おはよう定期ポスト
break;default :
$plist = $mes['rand'];//それ以外
break;
};
if(! empty($plist)){
$key = array_rand($plist);
$post = $plist[$key];
}
//Service_Twitter設定
require_once "Twitter.phpのフルパス";
$user = 'あかうんと';
$pass = 'ぱすわーど';
$st =& new Services_Twitter($user,$pass);
if(! $st->setUpdate($post) ){
die('ERROR');//postされなかったときERRORをだす。
}?>
よくご質問があるのですが、くれぐれも上記のソースをコピペして動かす時は
朝7時から夜中12時までにやってください。
それ以外の時間にやっても、たとえソースが完璧だとしてもERRORになってしまいますので。
replyソース
= $j) {
$var = $XML->status[$i]->text;
$com = ereg_replace("\@$username", "", $var);
$reply_name = $XML->status[$i]->user->screen_name;
$name = $XML->status[$i]->user->name;
$message = serif($reply_name,$name,$com);
tweet($message ,$username,$password);
$i--;
}
$string = $XML->status[0]->id;
if(!empty($string)){
$dat = (string)$string;
file_put_contents($filename,$dat,LOCK_EX);
}
function serif($reply_name,$name,$com){
$kiss=array("ちゅー",
"え、".$name."さんちゅーしてほしいの?ちゅっ");//これを最近発見しましたwびっくり!
$reply_name = "@$reply_name";
if(! empty($reply_name)){
if(stristr($com, "もちめり")){
$return =$reply_name.""." キャベツあげてえええええええ";
}
else if(stristr($com, "ちゅ")){
if(stristr($com, "首")){
$return =$reply_name." "."や〜くすぐったい><";}else{
$key = array_rand($kiss);
$post = $kiss[$key];
$return =$reply_name." ".$post;}
}
else{
$mes = array("");//反応語以外スルー
$return = $mes;
}
return $return;
}
}
function tweet($message,$username,$password)
{
$message =urlencode($message);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://twitter.com/statuses/update.xml');
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "status=$message ");
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
$buffer = curl_exec($ch);
curl_close($ch);
}
?>
反応語以外スルーはエラーをわざと出させてスルーさせるようにしてるので、
動かすと反応語をいれてないリプライの数エラーが出ると思います。
反応語以外スルーさせたくない、またはエラーが気になるという方は
else{
$mes = array("");//反応語以外スルー
$return = $mes;
}
を
else{
$return =$reply_name." ".$name."よく分からない";
}
にするといいでしょう。
これでいいかな?