しりとり⇔雑談モード切替

しりとり⇔雑談モード切替

しりとりモードにする

  1. 開始トリガー「しりとりしよう」を受信する。
  2. Template Messageのボタンで「しりとりする/雑談する」を表示する。
  3. ユーザが「しりとりする」を選択する。
  4. ユーザメッセージが「message」ではなく「postback」としてPHPファイルに渡る。 postback, data => action=srtr
    PHPファイルでは「message」と「postback」でif分岐する。)
  5. 「postback」の「data」を抽出し、action=srtrなので「じゃあしりとりしよう。りからどうぞ。」と返事する。
  6. 外部に置いたテキストファイル「isSrtr.txt」の内容を「true」にする。

雑談モードにする

  1. 開始トリガー「しりとりやめ」を受信する。
  2. Template Messageのボタンで「しりとりする/雑談する」を表示する。
  3. ユーザが「雑談する」を選択する。
  4. ユーザメッセージが「message」ではなく「postback」としてPHPファイルに渡る。 postback, data => action=dialog
    PHPファイルでは「message」と「postback」でif分岐する。)
  5. 「postback」の「data」を抽出し、action=dialogなので「じゃあ雑談しよう」と返事する。
  6. 外部に置いたテキストファイル「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{
}

//以下略//