aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorlevlam <levlam@telegram.org>2026-06-09 12:36:52 +0300
committerlevlam <levlam@telegram.org>2026-06-09 12:36:52 +0300
commit28039d6755900d1439ff10b7cb2f06683162ac69 (patch)
treee0a6067b29811b520fe06a79515e3ee122e584ac
parent01328b88b55f181d987ab663acd434ef8561c4e6 (diff)
Add Message.rich_message.
-rw-r--r--telegram-bot-api/Client.cpp22
-rw-r--r--telegram-bot-api/Client.h1
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;