しりとり⇔雑談モード切替
しりとり⇔雑談モード切替
しりとりモードにする
- 開始トリガー「しりとりしよう」を受信する。
- Template Messageのボタンで「しりとりする/雑談する」を表示する。
- ユーザが「しりとりする」を選択する。
- ユーザメッセージが「message」ではなく「postback」としてPHPファイルに渡る。
postback, data => action=srtr
(PHPファイルでは「message」と「postback」でif分岐する。) - 「postback」の「data」を抽出し、action=srtrなので「じゃあしりとりしよう。りからどうぞ。」と返事する。
- 外部に置いたテキストファイル「isSrtr.txt」の内容を「true」にする。
雑談モードにする
- 開始トリガー「しりとりやめ」を受信する。
- Template Messageのボタンで「しりとりする/雑談する」を表示する。
- ユーザが「雑談する」を選択する。
- ユーザメッセージが「message」ではなく「postback」としてPHPファイルに渡る。
postback, data => action=dialog
(PHPファイルでは「message」と「postback」でif分岐する。) - 「postback」の「data」を抽出し、action=dialogなので「じゃあ雑談しよう」と返事する。
- 外部に置いたテキストファイル「isSrtr.txt」の内容を「false」にする。
※毎度「isSrtr.txt」の中身をみて、trueならmode=srtr;にする。(falseならmode=dialogにする。)
参考
$json_string = file_get_contents('php://input'); $json_obj = json_decode($json_string); $message = $json_obj->{"events"}[0]->{"message"}; $postback = $json_obj->{"events"}[0]->{"postback"}; $postback_data = $postback->{"data"}; $file = "isSrtr.txt"; $isSrtr = file_get_contents($file); outputLog("isSrtr: $isSrtr"); if($isSrtr == "true"){ $mode = srtr; }else{ $mode = dialog; } //POSTBACK if(strpos($postback_data, 'action=') !== false){ switch($postback_data){ /*mode切り替え*/ case "action=dialog": file_put_contents($file, "false"); $rep_text = "じゃあ雑談しよう"; $type = "text"; break; case "action=srtr": file_put_contents($file, "true"); $rep_text = "じゃあしりとりしよう。しりとりのりからどうぞ。"; $type = "text"; break; } //MESSAGE }else{ } //以下略//