Знаю что inlineKeyboard могут возвращать callback_data при нажатии на них.
$CancelView = Array("text" => "Отменить просмотр", "callback_data" => "cancel_view");
$CheckView = Array("text" => "Проверить просмотр", "callback_data" => "check_view");
$inline_keyboard = [[$CancelPay],[$CheckView]];
$keyboard = Array("inline_keyboard" => $inline_keyboard);
$replyMarkup = json_encode($keyboard)
Но могут ли возвращать callback_data или что-либо наподобии этого обычные Keyboards ?
$location = Array("text" => "Отправить мое местоположение", "request_location" => true);
$cancel = Array("text" => "НУЖЕН КАЛБЭК", "callback_data" => "cancel_view");
$Keyboards = [[$location, $cancel]];
$KeyboardSet = Array("keyboard" => $Keyboards, "resize_keyboard" => true, "one_time_keyboard" => true);
$replyMarkup = json_encode($KeyboardSet);
При попытке нажатия на кнопку "НУЖЕН КАЛБЭК", собственно эта фраза просто отправляется в чат и никакой callback не передается.
Нет, никаких коллбэков обычная клавиатура не передаёт, а передаёт непосредственно текст в чат. В этом и заключается ключевое различие между KeyboardButton и InlineKeyboardButton, посмотрите на список полей этих двух типов - у KeyboardButton их только три:
В то же время, запрос контакта и местоположения доступен только с помощью обычной клавиатуры. Соответственно, каждый из этих типов применим для своего специфичного функционала.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости