Api icon indicating copy to clipboard operation
Api copied to clipboard

getReplyMarkup() doesn't return actual reply markup

Open artemijdeleto opened this issue 3 years ago • 3 comments

Problem

Getting null when trying to get reply markup of the message using getReplyMarkup

Expected result

Getting instance of InlineKeyboardMarkup, as documented in the source code

Steps to reproduce

  1. Send message with InlineKeyboardMarkup passed to replyMarkup parameter, providing text and callback_data
  2. Open any Telegram client application and click on created button
  3. Capture callback event using $client->callbackQuery()
  4. Try to get reply markup of the message using $query->getMessage()->getReplyMarkup()

The result of the following steps will be null. I printed out the raw body and definitely sure that JSON that sent back to the server contains reply_markup field

artemijdeleto avatar Mar 15 '21 09:03 artemijdeleto

I have the same problem. But I use $messageData = $bot->sendMessage(..., $inline_keyboard); $messageData->getReplyMarkup(); // returns NULL I don't know, what to do...

dazeron avatar Sep 03 '21 07:09 dazeron

I've tried to check Types/Message.php and I added to static protected $map = [] new element 'reply_markup' => InlineKeyboardMarkup::class (I saw, that there are all the key=>value pairs from telegram api docs, but 'reply_markup' are not), but this just broke the bot :( I'm sure some developers stuck this problem too.

dazeron avatar Sep 03 '21 07:09 dazeron

#385

bernard-ng avatar Dec 19 '22 00:12 bernard-ng