bot作りでのトラブルシューティング

主に自分用。他にも原因はあると思いますが、私が引っかかったところをメモっておきます。
いじったらテストする!いじったらテストする!とても大事な事なので2度言いました。

エラーが出る

プログラムのURLを直接ブラウザで開いた時にエラーが出たら

  • {}の閉じ忘れ
  • array();のセミコロン(;)を忘れている
  • if、elseif、elseを正しく入れていない
  • $keyword(ユーザー定義関数)が間違っている
  • ".$keyword."の形式が間違っている
    • $keyword(ユーザ定義関数)は「".」「."」で囲わないといけないので、例えば台詞本体を代入する時には「".$post;」と書いた方がよいっぽい。
  • includeなどで呼び出すURLが絶対パスではなく相対パス
    • 私の環境では呼び出せなくてエラー起こすことが多かったです

補足:
構文エラーの場合は「Parse error: syntax error, unexpected ほにゃらら in ***.php on line xxx」と出ます。これは「***.phpのxxx行目にあるはずのないほにゃららがあります」という意味。ほにゃららの一覧はこちら。→PHP: パーサトークンの一覧 - Manual
ほとんどが{}かelseの入れ忘れです。

ポストしない

特にエラーは出てないのにbotがポストしない時は

  • cronに登録したURLが間違っている
  • 呼び出すプログラムが重すぎてがタイムアウトした
  • cronが止まっている
    • 直接プログラムのURLを叩くと動くのに…という場合はcronが怪しいです
  • 直前10個以内に全く同じポストをしている
    • 「@XXX おはよう」と「おはよう」は重複扱いになりません

重複リプライする

  • リプライのログファイルのパスが間違っているか、パーミッションを設定し忘れているか、アップロードし忘れている

空リプライする(@XXXしかポストしない)

  • ユーザー定義関数(いわゆる反応キーワード)が一致していない

なんかもうだめぽ