Telegram клавиатуры на PHP

Создаем reply-клавиатуру

$botAPI = $botAPI = 'https://api.telegram.org/bot5856286963:AAH7AWHoBSiwwDp9bx4NU4biNTZxnzE555I'; // используйте реальные данные
$chat_id ='895345228'; //// используйте реальные данные

$text_message ='Проверяю данные';

// создаём $keyboard - объект, описывающий клавиатуру
$keyboard = [
"keyboard" =>
[ /* первый ряд кнопок - массив из наборов {подпись кнопки} */
[ /* перва кнопка отправляет команду /any_command в виде текстового сообщения, вторая - данные геолокации */
[ "text" => "Аутентификация",
"request_contact" => true
]
]
/* здесь мог бы быть второй массив для второго ряда кнопок и так далее */
],
"one_time_keyboard"=>true, //нормализирует размер
"resize_keyboard"=>true //нормализирует размер

];

// далее нужно просто добавить этот параметр в запрос (GET или POST) в качестве параметра reply_markup
// например, при использовании в GET-запросе:
$keyboard_json = json_encode($keyboard); // перекодируем в json
// формируем url для get-запроса и добавляем к этому url-у параметр reply_markup с описанием нашей клавиатуры
$url=$botAPI.'/sendMessage?chat_id='.$chat_id.'&text='.urlencode($text_message).'&parse_mode=HTML'.'&reply_markup='.$keyboard_json;
// осталось только выполнить GET-запрос, например с помощью file_get_contents (ну или curl :))
file_get_contents($url); // отправляем get-запрос на сформированный url

Удалить reply-клавиатуру

$botAPI = $botAPI = 'https://api.telegram.org/bot5856286963:AAH7AWHoBSiwwDp9bx4NU4biNTZxnzE555I'; // используйте реальные данные
$chat_id ='895345228'; //// используйте реальные данные

$text_message ='Проверяю данные';

// создаём $remove_keyboard - объект, описывающий удаление reply-клавиатуры
$remove_keyboard = [
"remove_keyboard" => true
];

// далее нужно просто добавить этот объект в запрос (GET или POST) в качестве параметра reply_markup
// например, при использовании в GET-запросе:
$remove_keyboard_json = json_encode($remove_keyboard); // перекодируем в json
// формируем url для get-запроса и добавляем к этому url-у параметр reply_markup с описывающим удаление клавиатуры объектом
$url=$botAPI.'/sendMessage?chat_id='.$chat_id.'&text='.urlencode($text_message).'&parse_mode=HTML'.'&reply_markup='.$remove_keyboard_json;
// осталось только выполнить GET-запрос, например с помощью file_get_contents (ну или curl :))
file_get_contents($url); // отправляем get-запрос на сформированный url
Наверх