• 締切済み

Twitter Botの作成についてご教授願います

タイトルの通り、TwitterのBot作成についてご教授願います。 [環境] 改修ソース:EasyBotter Ver_1.42(http://pha22.net/twitterbot/) サーバ  :PHP5に対応 備考   : PHP専用のデバッグ環境などはなく、変数の確認はブラウザにechoで出力して確認しています。 相手から特定のワードを含むリプライをもらった場合、 FlagをON-OFFさせる処理を追加しようと考え、以下のようにコーディングしました。 [source] $flag = 0; $text = $rdata["text"]; $test = "AAAA"; if(strpos($text,$test) === FALSE){ $flag = 0; //TURE }else{ $flag = 1; //FALSE } $textには、EasyBotterがデフォルトで定義している構造体から、相手の発言を代入。 $testには、特定のワードを代入しています。 それぞれの変数に、想定どおりの値が代入されていることを確認しているのですが、 ifの条件式($textに$testが含まれているか否か)の結果に関わらずTURE時の処理しか行いません。 また、strposが0や""を返す場合があることも考慮して、0や""を条件に実施してみましたが結果は同じでした。 ちなみに、条件式の結果(戻り値)自体は確認できておりません。 確認しようと式単体で実施しましたが、式が間違っているのか値が何も返ってきませんでした。 (これが原因ではないかと踏んでいます) ・こうすれば改修できる ・こうしたほうが楽 ・過去の回答を参考に 上記のような観点で、ご教授頂ければと思います。 なお、過去の質問は目を通したつもりですが、漏れがあるかも知れません。 お手数ですがURLを載せて頂けますと幸いです。

みんなの回答

  • smileeeen
  • ベストアンサー率70% (21/30)
回答No.1

EasyBotterというものを触った事はないのですが、 $textの型はstringになっていますでしょうか。 var_dump($text); でstring以外のものが出力された場合 $text = $rdata["text"]; の部分を $text = (string)$rdata["text"]; とする事で解決するかと思いますがいかがでしょうか。

salere2000
質問者

お礼

ご回答有難うございます。 var_dumpなるものがあるとは知りませんでした… 試してみましたが、どうやらstringにはなっているようです。 念には念を入れ、(string)も実施してみましたが、結果は変わりませんでした…… しかし、明示的に変数をstringに変える方法があることを知り、とても勉強になりました。有難うございました!

関連するQ&A