Идея состоит в том, чтобы иметь несколько кнопок, чтобы что-то делать, я получил следующий код, и что-то не так с методом (sendMessage) или callback_data, потому что я получил неопределенную ошибку индекса во всех строках, где находится сообщение $, если я использую url вместо данных обратного звонка работает нормально
я использую вебхук
<?php
$botToken = "TOKEN";
$website = "https://api.telegram.org/bot".$botToken;
$update = file_get_contents('php://input');
$update = json_decode($update, TRUE);
$chatId = $update["message"]["chat"]["id"];
$message = $update["message"]["text"];
$response = "testing";
$keyboard = [
'inline_keyboard' => [
[
['text' => 'This is a test', 'callback_data' => 'testcompleted']
]
]
];
$parameters =
array(
'chat_id' => $chatId,
'text' => $response,
'reply_markup' => json_encode($keyboard)
);
send($parameters);
function send($data)
{
$url = "https://api.telegram.org/botTOKEN/sendMessage";
if (!$curld = curl_init()) {
exit;
}
curl_setopt($curld, CURLOPT_POST, true);
curl_setopt($curld, CURLOPT_POSTFIELDS, $data);
curl_setopt($curld, CURLOPT_URL, $url);
curl_setopt($curld, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($curld);
curl_close($curld);
return $output;
}
?>
неопределенная ошибка индекса во всех строках, где находится сообщение $
В случае, если запрос является обратным вызовом, вы должны получить такие данные:
$chatId = $update['callback_query']['message']['chat']['id'];
$message = $update['callback_query']["message"]["text"];
вы можете проверить isset($update['callback_query'])
и получить данные на основе результата.
Можете ли вы показать полную ошибку, которую вы получили?