※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

PHPへ手を付ける前に

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


PHPへ着手するにあたって

まずはbot.phpに書かれている説明と公式サイトの"基本の設定"解説を熟読しましょう。

設置手順 前準備~設置編でも紹介したように、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,"──");
}

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