Как отловить callback_data от нажатия кнопки в настраиваемой клавиатуре Телеграма-бота?
Итак, юзаю в
Laravel с либой:
https://github.com/westacks/telebot
Имеется, такой хэндлер:
class TeleBotHandler extends UpdateHandler
{
public function trigger(): bool
{
return true;
}
public function handle()
{
$message = '';
if (isset($this->update->callback_query) && isset($this->update->callback_query->data))
$message .= ' callback_query->data: ' . $this->update->callback_query->data;
if (isset($this->update->message) && isset($this->update->message->text))
$message .= ' message->text: ' . $this->update->message->text;
return $this->sendMessage([
'text' => $message,
'chat_id' => $this->update->chat()->id,
'reply_markup' => [
'inline_keyboard' => [[
['text' => 'Найти товар', 'callback_data' => '/search_product' ],
['text' => 'Отправить тикет', 'callback_data' => '/send_ticket' ],
]]
],
]);
и тут всё прекрасно работает, если жмакать по встроенным в сообщение кнопкам:
Найти товар или
Отправить тикет получаем callback_data:
далее переделываем клавиатуру на специальную:
'reply_markup' => [
'keyboard' => [[
['text' => 'Найти товар', 'callback_data' => '/search_product' ],
['text' => 'Отправить тикет', 'callback_data' => '/send_ticket' ],
]],
'resize_keyboard' => true,
],
и видим, что в callback_data пусто - а нажатие по кнопкам настраиваемой клавиатуры принимается как просто отправка сообщений с текстом нажатой кнопки:
Кто-нибудь знает, как отловить
callback_data от
настраиваемой клавиатуры?