Ответы пользователя по тегу Telegram
  • Как отправить сообщение боту?

    m0pfin
    @m0pfin
    Без chat_id - нет
    Ответ написан
    Комментировать
  • Как в Telegram bot сделать типа опросника?

    m0pfin
    @m0pfin Автор вопроса
    Кому-то может будет полезно, немного развил дальше получился такой код:
    (Пока не могу сохранить значение переменной в пределах скрипта, в базу пишутся пустые переменные)

    elseif ($text == "\xF0\x9F\x8E\xAC Заказать билет") {
            $reply = "Для заказа билета пришлите: 
            Пример - <code>Город: Ваш город</code>";
            
            $telegram->sendMessage([ 'chat_id' => $chat_id, 'parse_mode' => 'HTML', 'text' => $reply ]);
            
        }elseif(strstr($text, "Город")){
                
                $_SESSION['city'] = $text;
                $city = $_SESSION['city'];
                
                $reply = "$city - Сохранен! \nПример - <code>Кинотеатр: Ваш кинотеатр</code>"; 
                
                $telegram->sendMessage([ 'chat_id' => $chat_id, 'parse_mode' => 'HTML', 'text' => $reply ]);
                
                }elseif(strstr($text,"Кинотеатр")){
                
                $_SESSION['kinoteatr'] = $text;
                $kinoteatr = $_SESSION['kinoteatr'];
                
                $reply = "$kinoteatr - Сохранен! \nПример - <code>Фильм: Название фильма 20:45 (время сеанса)</code>"; 
                
                $telegram->sendMessage([ 'chat_id' => $chat_id, 'parse_mode' => 'HTML', 'text' => $reply ]);
                
                }elseif(strstr($text,"Фильм")){
                
                $_SESSION['film'] = $text;
                $film = $_SESSION['film'];
                
                $reply = "$film - Сохранен! \nПример - <code>Ряд: 7 ряд, 5 6 7 8 место</code>"; 
                
                $telegram->sendMessage([ 'chat_id' => $chat_id, 'parse_mode' => 'HTML', 'text' => $reply ]);
                }elseif(strstr($text,"Ряд")){
    
                $_SESSION['count'] = $text;
                $count = $_SESSION['count'];
                
                $reply = "$count,$film,$kinoteatr,$city - Сохранен! \nПример - <code>Сумма заказа: 690 р</code>"; 
                
                $telegram->sendMessage([ 'chat_id' => $chat_id, 'parse_mode' => 'HTML', 'text' => $reply ]);
                
                }elseif(strstr($text,"Сумма")){
                
                $_SESSION['cost'] = $text;
                $cost = $_SESSION['cost'];
                
                
                if (empty($city || $kinoteatr || $film || $count || $cost)){
                    
                    $reply = "$cost - Сохранен! \nВаш заказ сформирован! № Заказа: 2034"; 
                    $userlogin = '@'.$name;
                    mysqli_query($db, "INSERT INTO `bot_order`(`date`, `chat_id`, `username`, `city`, `kinoteatr`, `film`, `count`, `cost`) VALUES (NOW(),'$chat_id','$userlogin','$city','$kinoteatr','$film','$count','$cost')");
                     $telegram->sendMessage([ 'chat_id' => $chat_id, 'parse_mode' => 'HTML', 'text' => $reply ]);
                     $_SESSION  = array();
                     unset($_SESSION); // или $_SESSION = array() для очистки всех данных сессии
                     session_destroy();
                    }
                    else{
                         $reply = "Какое-то поле вы пропустили :( \nПожалуйста, начните сначала.\n\nДля заказа билета пришлите: \nПример - <code>Город: Ваш город</code>"; 
                         $telegram->sendMessage([ 'chat_id' => $chat_id, 'parse_mode' => 'HTML', 'text' => $reply ]);
                         $_SESSION  = array();
                         unset($_SESSION); // или $_SESSION = array() для очистки всех данных сессии
                         session_destroy();
                    }
               
              }
    Ответ написан