$url = "https://qna.habr.com/q/1093980";
$buttons[] = $this->buildInlineKeyBoardButton('Кнопка 1', '1');
$buttons[] = $this->buildInlineKeyBoardButton('Кнопка 2', '2');
$buttons[] = $this->buildInlineKeyBoardButton('Кнопка 3', '3');
$buttons[] = $this->buildInlineKeyBoardButton('Кнопка 4', '', $url );
$buttons[] = $this->buildInlineKeyBoardButton('Кнопка 5', '5');
// разбиваем кнопки по рядам
array_chunk($buttons, 3); // 3 кнопки в ряду
public function buildInlineKeyboardButton($text, $callback_data = '', $url = '') {
// рисуем кнопке текст
$replyMarkup = [ 'text' => $text, ];
// пишем одно из обязательных дополнений кнопке
if ($url != '') {
$replyMarkup['url'] = $url;
} elseif ($callback_data != '') {
$replyMarkup['callback_data'] = $callback_data;
}
// возвращаем кнопку
return $replyMarkup;
}
public function buildInlineKeyBoard(array $options) {
// собираем кнопки
$replyMarkup = [
'inline_keyboard' => $options, ];
// преобразуем в JSON объект
$encodedMarkup = json_encode($replyMarkup, true);
// возвращаем клавиатуру
return $encodedMarkup;
}
$data = json_decode(file_get_contents('php://input'), true);
if (array_key_exists("message", $data)) {
$text = $data['message']['text']; // здесь полученный текст ID_USER=66544456?Prime=3
// парсим текст $param[0] - id_user $param[1]- prime
$param = explode('?', $text);
// если нужны значения отдельно, то еще раз парсим ID_USER=66544456
// $user = explode('=', $param[0]);
// записываем в БД
$insert = $this->pdo->prepare("INSERT INTO user SET user_id = ?, prime = ?");
$insert->execute(['$param[0], $param[1]]);
}
$photo = [ 'type'=> 'photo',
'media' => 'здесь параметры картинки file_id или url',
'caption' => 'ТЕКСТ',
'parse_mode' => 'html'
]
$fields = ['chat_id' => 'id чата ',
'message_id' => 'message_id', //id сообщения
'media' => json_encode($photo),
'reply_markup' => json_encode($buttons)]; // если есть кнопки
// отправляем методом CURL
$ch = curl_init('https://api.telegram.org/bot' . $token . '/editMessageMedia');
curl_setopt_array($ch, array(
CURLOPT_POST => count($fields),
CURLOPT_POSTFIELDS => http_build_query($fields),
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_TIMEOUT => 10
));
$r = json_decode(curl_exec($ch), true);
curl_close($ch);
return $r;
$data['message']['text'] => '/start worksheet3de89191'
$data = json_decode(file_get_contents('php://input'),true);
$text = $data['message']['text'];
$chat = $data['message']['chat']['id'];
$first_name = $data['message']['from']['first_name'];
if ($text){
if (strtolower($text) == "/start") $bot->reply($chat, " Здравствуй {$first_name} ");
}