Задать вопрос
@PaulMil

Telegram бот на PHP: почему inline_keyboard ничего не отправляет?

Пишу бота на PHP без библиотек. Дошел до инлайн-кнопок в сообщении:
$arInfo["inline_keyboard"][0][0]["callback_data"]=1;
$arInfo["inline_keyboard"][0][0]["text"]="Кнопка 1";
$arInfo["inline_keyboard"][1][0]["callback_data"]=2;
$arInfo["inline_keyboard"][1][0]["text"]="Кнопка 2";
send($data['message']['chat']['id'],"Примеры кнопок",$arInfo);


Проблема в том, что при нажатии на любую из кнопок в боте не происходит запроса к скрипту. Отслеживать пытаюсь так:
$data = file_get_contents('php://input');
$data = json_decode($data, true);
$data_kb = json_decode($data->callback_query->data, true);

При клике на кнопку на ней появляются часики и более ничего не происходит.
В Botfather inline mode включено.
Подскажите пожалуйста, как оживить кнопки inline_keyboard. Спасибо!
  • Вопрос задан
  • 931 просмотр
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
@pembrock
Inline_keyboard и inline_mode - разные вещи.
Часики у вас появляются и ничего не происходит потому что вы никак не обрабатываете callback query и не возвращаете ответ.
Попробуйте вместо
$data_kb = json_decode($data->callback_query->data, true);

сделать
$data_kb = $data['callback_query'];
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы