diff options
| author | levlam <levlam@telegram.org> | 2026-06-09 12:36:52 +0300 |
|---|---|---|
| committer | levlam <levlam@telegram.org> | 2026-06-09 12:36:52 +0300 |
| commit | 28039d6755900d1439ff10b7cb2f06683162ac69 (patch) | |
| tree | e0a6067b29811b520fe06a79515e3ee122e584ac | |
| parent | 01328b88b55f181d987ab663acd434ef8561c4e6 (diff) | |
Add Message.rich_message.
| -rw-r--r-- | telegram-bot-api/Client.cpp | 22 | ||||
| -rw-r--r-- | telegram-bot-api/Client.h | 1 |
2 files changed, 21 insertions, 2 deletions
diff --git a/telegram-bot-api/Client.cpp b/telegram-bot-api/Client.cpp index ac17df2..d02f31e 100644 --- a/telegram-bot-api/Client.cpp +++ b/telegram-bot-api/Client.cpp @@ -984,6 +984,24 @@ class Client::JsonRichBlockListItem final : public td::Jsonable { const Client *client_; }; +class Client::JsonRichMessage final : public td::Jsonable { + public: + JsonRichMessage(const td_api::richMessage *rich_message, const Client *client) + : rich_message_(rich_message), client_(client) { + } + void store(td::JsonValueScope *scope) const { + auto object = scope->enter_object(); + object("blocks", JsonRichBlocks(rich_message_->blocks_, client_)); + if (rich_message_->is_rtl_) { + object("is_rtl", td::JsonTrue()); + } + } + + private: + const td_api::richMessage *rich_message_; + const Client *client_; +}; + class Client::JsonMaskPosition final : public td::Jsonable { public: explicit JsonMaskPosition(const td_api::maskPosition *mask_position) : mask_position_(mask_position) { @@ -5263,7 +5281,8 @@ void Client::JsonMessage::store(td::JsonValueScope *scope) const { break; } case td_api::messageRichMessage::ID: { - // auto content = static_cast<const td_api::messageRichMessage *>(message_->content.get()); + auto content = static_cast<const td_api::messageRichMessage *>(message_->content.get()); + object("rich_message", JsonRichMessage(content->message_.get(), client_)); break; } default: @@ -18243,7 +18262,6 @@ bool Client::need_skip_update_message(int64 chat_id, const MessageInfo *message_ case td_api::messageUpgradedGiftPurchaseOfferRejected::ID: case td_api::messageChatHasProtectedContentToggled::ID: case td_api::messageChatHasProtectedContentDisableRequested::ID: - case td_api::messageRichMessage::ID: return true; default: break; diff --git a/telegram-bot-api/Client.h b/telegram-bot-api/Client.h index d7baacc..bf60e99 100644 --- a/telegram-bot-api/Client.h +++ b/telegram-bot-api/Client.h @@ -161,6 +161,7 @@ class Client final : public WebhookActor::Callback { class JsonRichTableRow; class JsonRichBlockCaption; class JsonRichBlockListItem; + class JsonRichMessage; class JsonWebAppInfo; class JsonCopyTextButton; class JsonInlineKeyboardButton; |
