From 2cca74bf80a7d64473de7f2d96c79c88521b11c3 Mon Sep 17 00:00:00 2001 From: levlam Date: Tue, 15 Sep 2020 02:42:59 +0300 Subject: [PATCH] Use messages.getReplies when appropriate. GitOrigin-RevId: cba140893d0b5d4c6d2b7f4c364947019b9e85d2 --- td/telegram/MessagesManager.cpp | 9 ++++++++- td/telegram/cli.cpp | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/td/telegram/MessagesManager.cpp b/td/telegram/MessagesManager.cpp index 90dc3e439..e406cb916 100644 --- a/td/telegram/MessagesManager.cpp +++ b/td/telegram/MessagesManager.cpp @@ -1624,6 +1624,10 @@ class SearchMessagesQuery : public Td::ResultHandler { send_query(G()->net_query_creator().create( telegram_api::messages_getUnreadMentions(std::move(input_peer), from_message_id.get_server_message_id().get(), offset, limit, std::numeric_limits::max(), 0))); + } else if (top_thread_message_id.is_valid() && !sender_user_id.is_valid() && filter == MessageSearchFilter::Empty) { + send_query(G()->net_query_creator().create(telegram_api::messages_getReplies( + std::move(input_peer), top_thread_message_id.get_server_message_id().get(), + from_message_id.get_server_message_id().get(), offset, limit, std::numeric_limits::max(), 0, 0))); } else { int32 flags = 0; if (sender_input_user != nullptr) { @@ -1645,6 +1649,9 @@ class SearchMessagesQuery : public Td::ResultHandler { static_assert(std::is_same::value, ""); + static_assert( + std::is_same::value, + ""); auto result_ptr = fetch_result(packet); if (result_ptr.is_error()) { return on_error(id, result_ptr.move_as_error()); @@ -4204,7 +4211,7 @@ void MessagesManager::Message::store(StorerT &storer) const { bool has_reply_info = !reply_info.is_empty(); bool has_sender_dialog_id = sender_dialog_id.is_valid(); bool has_reply_in_dialog_id = is_reply && reply_in_dialog_id.is_valid(); - bool has_top_reply_message_id = is_reply && top_reply_message_id.is_valid(); + bool has_top_reply_message_id = top_reply_message_id.is_valid(); BEGIN_STORE_FLAGS(); STORE_FLAG(is_channel_post); STORE_FLAG(is_outgoing); diff --git a/td/telegram/cli.cpp b/td/telegram/cli.cpp index f543eb849..41aa7088c 100644 --- a/td/telegram/cli.cpp +++ b/td/telegram/cli.cpp @@ -1868,6 +1868,7 @@ class CliClient final : public Actor { string chat_id; string message_thread_id; + std::tie(chat_id, message_thread_id) = split(args); send_request(td_api::make_object(as_chat_id(chat_id), "", 0, 0, 0, 100, nullptr, as_message_thread_id(message_thread_id))); } else if (op == "spvf") {