From d5683ee224f722fb360684ff82013ade439423d1 Mon Sep 17 00:00:00 2001 From: levlam Date: Fri, 28 Sep 2018 18:48:03 +0300 Subject: [PATCH] Static create_text_message_content. GitOrigin-RevId: 9def379214c944dce0d42c2fcf08198a49ea1db5 --- td/telegram/MessagesManager.cpp | 25 ++++++++++++++----------- td/telegram/MessagesManager.h | 3 +++ 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/td/telegram/MessagesManager.cpp b/td/telegram/MessagesManager.cpp index 7924dda3..57c91008 100644 --- a/td/telegram/MessagesManager.cpp +++ b/td/telegram/MessagesManager.cpp @@ -10168,7 +10168,7 @@ void MessagesManager::start_up() { m->random_y = get_random_y(message_id); m->message_id = message_id; m->date = G()->unix_time(); - m->content = make_unique(FormattedText{"text", vector()}, WebPageId()); + m->content = create_text_message_content("text", {}, {}); m->have_previous = have_previous; m->have_next = have_next; @@ -17110,6 +17110,11 @@ Result MessagesManager::process_input_message_content( return std::move(content); } +unique_ptr MessagesManager::create_text_message_content(string text, vector entities, + WebPageId web_page_id) { + return make_unique(FormattedText{std::move(text), std::move(entities)}, web_page_id); +} + Result MessagesManager::create_input_message_content( DialogId dialog_id, tl_object_ptr &&input_message_content, Td *td, FormattedText caption, FileId file_id, PhotoSize thumbnail, vector sticker_file_ids) { @@ -18013,14 +18018,12 @@ Result MessagesManager::send_bot_start_message(UserId bot_user_id, Di text += bot_data.username; } + vector text_entities; + text_entities.emplace_back(MessageEntity::Type::BotCommand, 0, narrow_cast(text.size())); bool need_update_dialog_pos = false; - Message *m = get_message_to_send( - d, MessageId(), false, false, - make_unique( - FormattedText{text, vector{MessageEntity(MessageEntity::Type::BotCommand, 0, - narrow_cast(text.size()))}}, - WebPageId()), - &need_update_dialog_pos); + Message *m = get_message_to_send(d, MessageId(), false, false, + create_text_message_content(text, std::move(text_entities), WebPageId()), + &need_update_dialog_pos); send_update_new_message(d, m, true); if (need_update_dialog_pos) { @@ -22633,7 +22636,7 @@ unique_ptr MessagesManager::get_secret_message_content( } if (media == nullptr) { - return make_unique(FormattedText{std::move(message_text), std::move(entities)}, WebPageId()); + return create_text_message_content(std::move(message_text), std::move(entities), WebPageId()); } int32 constructor_id = media->get_id(); @@ -22641,7 +22644,7 @@ unique_ptr MessagesManager::get_secret_message_content( if (constructor_id != secret_api::decryptedMessageMediaEmpty::ID) { LOG(INFO) << "Receive non-empty message text and media"; } else { - return make_unique(FormattedText{std::move(message_text), std::move(entities)}, WebPageId()); + return create_text_message_content(std::move(message_text), std::move(entities), WebPageId()); } } @@ -22757,7 +22760,7 @@ unique_ptr MessagesManager::get_secret_message_content( is_media_empty = true; } if (is_media_empty) { - return make_unique(FormattedText{std::move(message_text), std::move(entities)}, WebPageId()); + return create_text_message_content(std::move(message_text), std::move(entities), WebPageId()); } switch (constructor_id) { case secret_api::decryptedMessageMediaPhoto::ID: { diff --git a/td/telegram/MessagesManager.h b/td/telegram/MessagesManager.h index ad120f18..6bb55965 100644 --- a/td/telegram/MessagesManager.h +++ b/td/telegram/MessagesManager.h @@ -1984,6 +1984,9 @@ class MessagesManager : public Actor { FullMessageId on_get_message(MessageInfo &&message_info, bool from_update, bool is_channel_message, bool have_previous, bool have_next, const char *source); + static unique_ptr create_text_message_content(string text, vector entities, + WebPageId web_page_id); + Result process_input_message_content( DialogId dialog_id, tl_object_ptr &&input_message_content) const;