「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,"──"); } 見やすくなったよね?これで記述ミスも少なくなる…はず。