From 3e54a20437d2682ca1a5d91a2d68c0a929c214fc Mon Sep 17 00:00:00 2001 From: levlam Date: Tue, 7 Jul 2026 17:38:29 +0300 Subject: Improve get_rich_text. --- td/telegram/WebPageBlock.cpp | 36 +++++++----------------------------- 1 file changed, 7 insertions(+), 29 deletions(-) diff --git a/td/telegram/WebPageBlock.cpp b/td/telegram/WebPageBlock.cpp index 6728a33d4..39f906ec5 100644 --- a/td/telegram/WebPageBlock.cpp +++ b/td/telegram/WebPageBlock.cpp @@ -225,38 +225,23 @@ class RichText { } case td_api::richTextMention::ID: { auto text = td_api::move_object_as(rich_text); - TRY_RESULT(t, get_rich_text(td, std::move(text->text_))); - result.type = Type::Mention; - result.texts.push_back(std::move(t)); - break; + return get_rich_text(td, std::move(text->text_)); } case td_api::richTextHashtag::ID: { auto text = td_api::move_object_as(rich_text); - TRY_RESULT(t, get_rich_text(td, std::move(text->text_))); - result.type = Type::Hashtag; - result.texts.push_back(std::move(t)); - break; + return get_rich_text(td, std::move(text->text_)); } case td_api::richTextCashtag::ID: { auto text = td_api::move_object_as(rich_text); - TRY_RESULT(t, get_rich_text(td, std::move(text->text_))); - result.type = Type::Cashtag; - result.texts.push_back(std::move(t)); - break; + return get_rich_text(td, std::move(text->text_)); } case td_api::richTextBankCardNumber::ID: { auto text = td_api::move_object_as(rich_text); - TRY_RESULT(t, get_rich_text(td, std::move(text->text_))); - result.type = Type::BankCardNumber; - result.texts.push_back(std::move(t)); - break; + return get_rich_text(td, std::move(text->text_)); } case td_api::richTextBotCommand::ID: { auto text = td_api::move_object_as(rich_text); - TRY_RESULT(t, get_rich_text(td, std::move(text->text_))); - result.type = Type::BotCommand; - result.texts.push_back(std::move(t)); - break; + return get_rich_text(td, std::move(text->text_)); } case td_api::richTextFixed::ID: { auto text = td_api::move_object_as(rich_text); @@ -390,15 +375,8 @@ class RichText { result.texts = std::move(texts); break; } - case td_api::richTextDiff::ID: { - auto text = td_api::move_object_as(rich_text); - TRY_RESULT(t, get_rich_text(td, std::move(text->text_))); - TRY_RESULT(old_t, get_rich_text(td, std::move(text->text_))); - result.type = Type::Diff; - result.texts.push_back(std::move(t)); - result.texts.push_back(std::move(old_t)); - break; - } + case td_api::richTextDiff::ID: + return Status::Error(400, "Block is not allowed"); default: UNREACHABLE(); break; -- cgit v1.2.3