したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |
レス数が900を超えています。1000を超えると投稿できなくなるよ。

TwitterBotPHP質問スレ

502名無しさん:2010/10/08(金) 14:54:43
//お天気用
$w_city = array( // 都市名→都市番号の変換用配列
"札幌"=>4,"旭川"=>2,"函館"=>15,"青森"=>17,"むつ"=>18","八戸"=>19,"秋田"=>20,"盛岡"=>22,"仙台"=>25,"山形"=>27,"米沢"=>28,"酒田"=>29,"福島"=>31,"小名浜"=>32,"富山"=>44,"金沢"=>46,"輪島"=>47,"福井"=>48,"敦賀"=>49,"新潟"=>50,"長岡"=>51,"水戸"=>54,"土浦"=>55,"宇都宮"=>56,"前橋"=>58,"みなかみ"=>59,"さいたま"=>60,"千葉"=>67,"銚子"=>68,"館山"=>69,"東京"=>63,"八丈島"=>65,"横浜"=>70,"小田原"=>71,"長野"=>72,"松本"=>73,"飯田"=>74,"甲府"=>75,"静岡"=>34,"三島"=>36,"浜松"=>37,"名古屋"=>38,"豊橋"=>39,"岐阜"=>40,"高山"=>41,"津"=>42,"大津"=>77,"彦根"=>78,"京都"=>79,"舞鶴"=>80,"大阪"=>81,"神戸"=>82,"徳島"=>101,"高松"=>103,"松山"=>104,"宇和島"=>106,"高知"=>107,"室戸"=>108,"岡山"=>88,"広島"=>90,"松江"=>92,"鳥取"=>95,"米子"=>96,"下関"=>97,"山口"=>98,"萩"=>100,"福岡"=>110,"飯塚"=>112,"久留米"=>113,"大分"=>114,"日田"=>116,"長崎"=>118,"佐世保"=>119,"佐賀"=>122,"熊本"=>124,"人吉"=>127,"宮崎"=>128,"延岡"=>129,"都城"=>130,"高千穂"=>131,"鹿児島"=>132,"那覇"=>136 );
foreach( $w_city as $w_area => $w_areaNo){
if( preg_match( "/".$w_area."/u", $com ) ){
$cityName = $w_area ;
break;
}
}
if( empty($cityName) ){
$cityName = "東京";
}
$where = $w_city["$cityName"];

$w_day = array( // 日付→日付パラメータの変換用配列
"今日"=> today,"きょう"=> today,"明日"=> tomorrow,"あす"=> tomorrow,"あした"=> tomorrow,"明後日"=> dayaftertomorrow,"あさって"=> dayaftertomorrow );
foreach( $w_day as $w_time => $w_timeNo){
if( preg_match( "/".$w_time."/u", $com ) ){
$timeName = $w_time ;
break;
}
}
if( empty($timeName) ){
$timeName = "今日";
}
$day = $w_day["$timeName"];

$tenki_url = "http://weather.livedoor.com/forecast/webservice/rest/v1?city=".$where."&day=".$day;
$tenxml = simplexml_load_file($tenki_url);
$telop = $tenxml->telop;
$max = $tenxml->temperature->max->celsius;
$min = $tenxml->temperature->min->celsius;


//語句のマッチを探す
if($break_flag === false){
//配列を用意して…
$tenki=array("".$timeName."の".$cityName."の天気は".$telop."、 最高気温は".$max."度、最低気温は".$min."度だな");

//特定語句に反応する部分
if($reply_name != null){
$reply_name = "@$reply_name";

if(stristr($com, "RT")){
$return = null;
}else if(preg_match("/天気|てんき/u",$com)){
$key = array_rand($tenki);
$post = $tenki[$key];
$return = $reply_name." ".$post;
}

//戻り値
return $return;

}else{
//$reply_nameが空のときはnullになる
return null;
}
}
}

?>


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板