Open
Description
Detailed description
When I'm building a new message via SendMessageMethod
I'm passing an entities list that cannot be normalized by BotApiNormalizer
. It just ignores them and still appears as an array instead of encoded json.
$buttonA = new InlineKeyboardButtonType();
$buttonA->callbackData = 'a';
$buttonA->text = 'A';
$buttonB = new InlineKeyboardButtonType();
$buttonB->callbackData = 'b';
$buttonB->text = 'B';
$inlineKeyboard = new InlineKeyboardMarkupType();
$inlineKeyboard->inlineKeyboard = [
[$buttonA, $buttonB],
];
$messageEntity = new MessageEntityType();
$messageEntity->type = MessageEntityType::TYPE_TEXT_LINK;
$messageEntity->offset = 58;
$messageEntity->length = 23;
$messageEntity->url = 'https://google.com';
$sendMessage = new SendMessageMethod();
$sendMessage->chatId = '111222333';
$sendMessage->text = 'some text';
$sendMessage->replyMarkup = $inlineKeyboard;
$sendMessage->entities = [$messageEntity];
$this->botApi->send($sendMessage);
$normalizer = new BotApiNormalizer();
$normalizedRequest = $normalizer->normalize($sendMessage); // entities are not normalized at this step
And this method cannot be sent by the api client:
[2022-04-23 17:33:43] app.ERROR: Array to string conversion in /.../tg-bot-api/bot-api-base/src/ApiClient.php:106
Your environment
Include as many relevant details about the environment you experienced the bug in and how to reproduce it.
- Version used: PHP 8.1
Metadata
Metadata
Assignees
Labels
No labels