По вашему сайту про ботов Телеграм, создал бота и дальше написаного вами так и не ушел

Вопрос помогите дополнить inline кнопками ваш бот, хочу сделать типа выбора из двух ответов. Голову сломал, не разбираюсь я все!

Кнопки делаются путём создания специальных запросов из кода бота. Я делаю так:metalcalc писал(а):Приветствую!
По вашему сайту про ботов Телеграм, создал бота и дальше написаного вами так и не ушел![]()
Вопрос помогите дополнить inline кнопками ваш бот, хочу сделать типа выбора из двух ответов. Голову сломал, не разбираюсь я все!Все плохо но желание есть!
Код: Выделить всё
/**
* Emoji для лучшего визуального оформления.
*/
$emoji = array(
'preload' => json_decode('"\uD83D\uDE03"'), // Улыбочка.
'translate' => json_decode('"\ud83c\udf10"'), // Земной шар.
'confused' => json_decode('"\ud83d\ude15"'), // Нет перевода.
'back' => json_decode('"\ud83d\udd19"'), // Назад.
'question' => json_decode('"\u2753"'), // Вопрос.
'yum' => json_decode('"\ud83d\ude0b"'), // Ням.
'music' => json_decode('"\uD83C\uDFB8"'), // Музыка.
'prev' => json_decode('"\u2191"'), // Листать
'next' => json_decode('"\u2193"'), // Листать
'weather' => array(
'clear' => json_decode('"\u2600"'), // Солнце.
'clouds' => json_decode('"\u2601"'), // Облака.
'rain' => json_decode('"\u2614"'), // Дождь.
'snow' => json_decode('"\u2744"'), // Снег.
// 'mist' => json_decode('"\uD83C\uDF2B"'), // Туман
'mist' => json_decode('"\ud83c\udf01"'), // Туманно
),
);
// Основная клавиатура
function kbd_main ($chat_id, $text_main_kbd='Вы в главном меню') {
global $emoji;
apiRequest("sendMessage", array('chat_id' => $chat_id, "parse_mode" => 'HTML', "text" => $text_main_kbd, 'reply_markup' => array(
'keyboard' => array(
array($emoji['preload'].' Привет!', $emoji['question'].' Помощь', $emoji['yum'].' Спасибо!'),
array($emoji['translate'].' Перевод', $emoji['weather']['clear'].' Погода', $emoji['music'].' Музыка')
),
'one_time_keyboard' => false,
'resize_keyboard' => true )));
}
/**
*
* Запрос к API-серверу (json)
*/
function apiRequest($method, $parameters, $contentType='application/json') {
// if (!$contentType ) {$contentType = 'application/json'; }
// Если метод не является строкой, выдадим ошибку
if (!is_string($method)) {
error_log("Имя метода должно быть строкой\n");
return false;
}
// Если нет параметров, добавляем в них пустой массив
if (!$parameters) {
$parameters = array();
// Если параметр есть, но не является массивом, выдаём ошибку
} else if (!is_array($parameters)) {
error_log("Параметры должны быть массивом\n");
return false;
}
// Метод загоняем в параметры
$parameters["method"] = $method;
// Инициализируем сеанс соединения по заданному url
$handle = curl_init(API_URL);
// Задаём параметры соединения
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
curl_setopt($handle, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($handle, CURLOPT_TIMEOUT, 60);
// В зависимости от типа контента кодировать в json или нет
if ($contentType == 'application/json') {
curl_setopt($handle, CURLOPT_POSTFIELDS, json_encode($parameters));
}
elseif ($contentType == 'multipart/form-data') {
curl_setopt($handle, CURLOPT_POSTFIELDS, $parameters);
}
curl_setopt($handle, CURLOPT_HTTPHEADER, array("Content-Type: $contentType"));
// Делаем запрос и получаем ответ
$response = curl_exec($handle);
// Если ответ false, логгировать ошибку, закрыть сеанс и выйти
if ($response === false) {
$errno = curl_errno($handle);
$error = curl_error($handle);
error_log("Curl вернул ошибку $errno: $error\n");
curl_close($handle);
return false;
}
// Если ответ получен, найти последний полученный HTTP код
$http_code = intval(curl_getinfo($handle, CURLINFO_HTTP_CODE));
// Закрыть сеанс
curl_close($handle);
// Если код больше или равен 500, это ошибка сервера. Подождёи 10 сек и выйдем
if ($http_code >= 500) {
// do not wat to DDOS server if something goes wrong
// не ждать, чтобы сервер заддосился, если что-то пойдёт не так
sleep(10);
return false;
// Если код не равен 200, то результат неуспешный. Выведем в лог ошибки также содержимое ответа - код ошибки и её описание и выйдем.
} else if ($http_code != 200) {
$response = json_decode($response, true);
error_log("Запрос вернул ошибку {$response['error_code']}: {$response['description']}\n");
// Если код 401, создаём новое исключение о неверном маркере доступа
if ($http_code == 401) {
throw new Exception('Предоставлен неверный маркер доступа');
}
return false;
// Если пока всё ОК, возьмём ответ, и выведем в лог его описание с сообщением об успехе, после чего возьмём результат ответа
} else {
$response = json_decode($response, true);
if (isset($response['description'])) {
error_log("Запрос завершился успешно: {$response['description']}\n");
}
$response = $response['result'];
}
// Вернём результат ответа
return $response;
}