「ver.2.0*設置手順*脱初心者編」の編集履歴(バックアップ)一覧に戻る

ver.2.0*設置手順*脱初心者編 - (2010/06/24 (木) 09:49:51) のソース

#contents
*PHPへ手を付ける前に
-正規表現(メタ文字)
-演算子
-比較演算子
-条件分岐(if、switch)
-date関数
以上の知識があるとここで紹介している機能の他、色々な改造が出来るようになります。
興味がある方はPHPを勉強してみるのもいいかもしれません。
[[Twitter Bot関連リンク]]でPHP解説サイトを紹介していますので、そちらを参考に。
data関数はPHPマニュアルに簡易リストがあります。


*PHPへ着手するにあたって
まずはbot.phpに書かれている説明と[[公式サイトの"基本の設定"解説>http://pha22.net/twitterbot/]]を熟読しましょう。

[[設置手順 前準備~設置編>ver.2.0*設置手順*前準備~設置編]]でも紹介したように、PHP対応のテキストエディタを使用しよう。~~構文チェック機能付きが望ましいです。


**自宅サーバー上でテストしてみる
EasyBotter.phpやbot.phpを編集する前に、自宅サーバー上で構文テストしてみることをお勧めしたい。
easyPHP等が手軽でお勧め(skypeなど、ポート80を使用している他プログラムは終了させる。)
↓
例:午前と午後の発言を変えたい!

 if(date("a") == "am"){
 $response = $eb->postRandom("am.txt");
 }else{
 $response = $eb->postRandom("pm.txt");
 }

とbot.phpへ記述したい。
bot.phpを編集する前に、自宅サーバー上に適当なphpファイル(例:test.php)を作って

 <?php
 if(date("a") == "am"){
 echo "午前ですよ~";
 }else{
 echo "午後ですよ~";
 }
 ?>

と記述し、保存。自宅サーバーで動かしてみる(アクセスしてみる。)
正常に機能し(コメントが表示され)ていればbot.phpへ導入させてみる!
※bot.phpを自宅サーバー上で動かすには、それなりに環境設定する必要があります。


**段差を付けよう!
if{}else{}沢山使っていると、何処で{}を閉じたか・閉じてないかがややこしくなってきます。
そんな時はTABキーや空白文字で段差を付けて整理しよう。

 if(date("i") % 15 === 0){
 if(date("H") > 21){
 $randOPfile = "txtlog.dat";
 if(date("i") < 5){
 $post_randOP = rand(0,21);
 $fp = fopen($randOPfile, "w");
 @fwrite( $fp, $post_randOP, strlen($post_randOP) );
 fclose($fp);
 }
 $contents = @file_get_contents($randOPfile);
 }else{
 $contents = date("H");
 }
 $contents = "post_".$contents.".txt";
 $response = $eb->postRotation($contents,"──");
 }

何がなんだか…
TABキーで整理してみよう

 if(date("i") % 15 === 0){
	if(date("H") > 21){
		$randOPfile = "txtlog.dat";
		if(date("i") < 5){
			$post_randOP = rand(0,21);
			$fp = fopen($randOPfile, "w");
			@fwrite( $fp, $post_randOP, strlen($post_randOP) );
			fclose($fp);
		}
		$contents = @file_get_contents($randOPfile);
	}else{
		$contents = date("H");
	}
	$contents = "post_".$contents.".txt";
	$response = $eb->postRotation($contents,"──");
 }

見やすくなったよね?これで記述ミスも少なくなる…はず。
目安箱バナー