Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- const TOKEN;
- const BASE_URL = 'https://api.telegram.org/bot';
- $update = json_decode(file_get_contents('php://input'), JSON_OBJECT_AS_ARRAY);
- function sendRequest(string $method, array $params = []) : array {
- if(!empty($params))
- $url = BASE_URL . TOKEN . '/' . $method . '?' . http_build_query($params);
- else
- $url = BASE_URL . TOKEN . '/' . $method;
- return json_decode(file_get_contents($url), JSON_OBJECT_AS_ARRAY);
- }
- function stop(){
- die;
- }
- function generateKeyboard(string $numberquestion, string $callback_data) : array{
- return ['inline_keyboard' => [
- [
- ['text' => 'Ответ 1', 'callback_data' => $numberquestions . ' Ответ 1\n' . $callback_data],
- ['text' => 'Ответ 2', 'callback_data' => $numberquestions . ' Ответ 2\n' . $callback_data], //Первый ряд кнопок
- ],[
- ['text' => 'Ответ 3', 'callback_data' => $numberquestions . ' Ответ 3\n' . $callback_data],
- ['text' => 'Ответ 4', 'callback_data' => $numberquestions . ' Ответ 4\n' . $callback_data], //Второй ряд кнопок
- ]
- ]
- ];
- }
- //Если обратный вызов, то создаём клавиатуру под конкретный вопрос.
- if(array_key_exists("callback_query", $update)){
- $keyboard;
- $questions;
- switch($update["callback_query"]["data"][0]){
- case '1':
- $keyboard = generateKeyboard('2', $update["callback_query"]['data']);
- $questions = '2';
- break;
- case '2':
- $keyboard = generateKeyboard('3', $update["callback_query"]['data']);
- $questions = '3';
- break;
- case '3':
- $keyboard = generateKeyboard('3', $update["callback_query"]['data']);
- $questions = '4';
- break;
- default:
- sendRequest('sendMessage', [
- 'chat_id' => $update["callback_query"]["message"]["chat"]["id"],
- 'text' => "Ответы на все вопросы:\n"
- ]);
- break;
- }
- sendRequest('sendMessage',[
- 'chat_id' => $update["callback_query"]["message"]["chat"]["id"],
- 'text' => 'Вопрос ' . $questions,
- 'reply_markup' => json_encode($keyboard)
- ]);
- stop();
- }
- //Выдаём самую первую клавиатуру
- $keyboard =
- ['inline_keyboard' => [
- [
- ['text' => 'Ответ 1', 'callback_data' => '1 Ответ 1\n'],
- ['text' => 'Ответ 2', 'callback_data' => '1 Ответ 2\n'], //Первый ряд кнопок
- ],[
- ['text' => 'Ответ 3', 'callback_data' => '1 Ответ 3\n'],
- ['text' => 'Ответ 4', 'callback_data' => '1 Ответ 4\n'], //Второй ряд кнопок
- ]
- ]
- ];
- sendRequest(
- 'sendMessage',
- [
- 'chat_id' => $update["message"]["chat"]["id"],
- 'text' => 'Вопрос 1',
- 'reply_markup' => json_encode($keyboard),
- ]);
- ?>
Advertisement
Add Comment
Please, Sign In to add comment