создание бота для telegram
Клавиатура с кнопками для Telegram бота на PHP script. В данном примере, показано как создать сразу 3 кнопки для клавиатуры и отправить через запрос в Telegram API. С данной клавиатурой нельзя использовать кнопки для ссылок или скрытым callback data запросом. В стандартном запросе, если не использовать параметры request_contact или request_location, будет запрос текста по названию кнопки (параметр text).
Официальная инструкция Telegram Api: https://core.telegram.org/bots/api#replykeyboardmarkup
Telegram bot создать кнопки и клавиатуру PHP script
пример запроса для Telegram API для создания клавиатуры с кнопками
$bot_token = "********* Бот Токен"; // Telegram bot токен
$chat_id = "TELEGRAM ЧАТ ID"; // не забываем добавить TELEGRAM CHAT ID
$reply = "Working";
$url = "https://api.telegram.org/bot$bot_token/sendMessage";
$keyboard = array(
"keyboard" => array(array(array(
"text" => "/button"
),
array(
"text" => "contact",
"request_contact" => true // Данный запрос необязательный telegram button для запроса номера телефона
),
array(
"text" => "location",
"request_location" => true // Данный запрос необязательный telegram button для запроса локации пользователя
)
)),
"one_time_keyboard" => true, // можно заменить на FALSE,клавиатура скроется после нажатия кнопки автоматически при True
"resize_keyboard" => true // можно заменить на FALSE, клавиатура будет использовать компактный размер автоматически при True
);
$postfields = array(
'chat_id' => "$chat_id",
'text' => "$reply",
'reply_markup' => json_encode($keyboard)
);
print_r($postfields);
if (!$curld = curl_init()) {
exit;
}
curl_setopt($curld, CURLOPT_POST, true);
curl_setopt($curld, CURLOPT_POSTFIELDS, $postfields);
curl_setopt($curld, CURLOPT_URL,$url);
curl_setopt($curld, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($curld);
curl_close ($curld);
Какая разница между запросом измененного размера клавиатуры (True) и не измененного (False)?
измененный: not resizable:
Можно скрывать клавиатуру после нажатия кнопки автоматически: one_time_keyboard => Ture (для скрытия) or False
Данный array пример финального запроса, который будет отправлен на АПИ телеграма через CURL запрос:
Array ( [chat_id] => 263184397 [text] => Working [reply_markup] => {"keyboard":[[{"text":"\/button"},{"text":"contact","request_contact":true},{"text":"location","request_location":true}]],"one_time_keyboard":true} )
Пример с измененным размером и скрытием клавиатуры:
Array ( [chat_id] => 263184397 [text] => Working [reply_markup] => {"keyboard":[[{"text":"\/button"},{"text":"contact","request_contact":true},{"text":"location","request_location":true}]],"one_time_keyboard":true,"resize_keyboard":true} )
Что случится, если нажать на кнопку с параметром request_location или request_contact на клавиатуре Telegram. пример:
request_contact: request_location:
https://www.facebook.com/chakabiz
https://www.youtube.com/channel/UCYuMRNb_SRZ4FMsZjnHRZUA
Комментариев нет:
Отправить комментарий