Обновления в переключателе бота telegram ()

Я сделал этот код в моем.php-файле, где я установил webHook, который работает хорошо.

$token = "my token";
$website = "https://api.telegram.org/bot" . $token . "/";
$updates = file_get_contents("php://input");
$updates = json_decode($updates, true);
$text = $updates["message"]["text"];
$chatID = $updates["message"]["chat"]["id"];

switch($text){
  case "/prova_gratuita":
        if(check($chatID)){
          sendMessage($chatID, "Are you sure? Demo is available only one time. Write confirm to continue");
          switch($text){
            case "confirm":
                 ...
                 break;
          } 
        }

второй switch() не работает. Зачем? Что я могу сделать? Я знаю, что я должен обновить значение $text, но я не знаю, как я могу это сделать

1 ответ

Я думаю, что ошибка заключается в том, как вы создали проблему. Каждый вход бота является вызовом этого WebHook. Тогда $ text не может быть аггорнато таким образом.

Также следует включить в первый переключатель "case" второго.

$token = "my token";
$website = "https://api.telegram.org/bot" . $token . "/";
$updates = file_get_contents("php://input");
$updates = json_decode($updates, true);
$text = $updates["message"]["text"];
$chatID = $updates["message"]["chat"]["id"];

switch($text){
    case "/prova_gratuita":
        if(check($chatID))    sendMessage($chatID, "Are you sure? Demo is available only one time. Write confirm to continue");
    case "confirm":
    ...

 }

Каждый раз, когда вы отправляете сообщение боту, он звонит в WebHook. Таким образом, чтобы изменить состояние $ updates, чтобы даже $ text скрипт перезапускался

Другие вопросы по тегам