Telegram bot создать кнопки и клавиатуру PHP script - IT новости

Latest

PHP программирование для начинающих. Обзор технологий, электроники и приложений

пятница, 5 мая 2017 г.

Telegram bot создать кнопки и клавиатуру PHP script

Реклама
создание бота для telegram

создание бота для 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)?

измененный: клавиатура telegram бот not resizable: клавиатура telegram бот

Можно скрывать клавиатуру после нажатия кнопки автоматически: 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: telegram бот request_location: telegram bot tutorial


https://www.facebook.com/chakabiz
https://www.youtube.com/channel/UCYuMRNb_SRZ4FMsZjnHRZUA

Комментариев нет:

Отправить комментарий