Replace getBlockedChats with getBlockedMessageSenders.
GitOrigin-RevId: 044f70ab823b8302dddc8b7a128f19514306272a
This commit is contained in:
parent
0834d6164b
commit
27f63e9e2e
@ -624,6 +624,10 @@ messageSenderUser user_id:int32 = MessageSender;
|
|||||||
messageSenderChat chat_id:int53 = MessageSender;
|
messageSenderChat chat_id:int53 = MessageSender;
|
||||||
|
|
||||||
|
|
||||||
|
//@description Represents a list of message senders @total_count Approximate total count of messages senders found @senders List of message senders
|
||||||
|
messageSenders total_count:int32 senders:vector<MessageSender> = MessageSenders;
|
||||||
|
|
||||||
|
|
||||||
//@class MessageForwardOrigin @description Contains information about the origin of a forwarded message
|
//@class MessageForwardOrigin @description Contains information about the origin of a forwarded message
|
||||||
|
|
||||||
//@description The message was originally sent by a known user @sender_user_id Identifier of the user that originally sent the message
|
//@description The message was originally sent by a known user @sender_user_id Identifier of the user that originally sent the message
|
||||||
@ -4246,8 +4250,8 @@ toggleMessageSenderIsBlocked sender:MessageSender is_blocked:Bool = Ok;
|
|||||||
//@report_spam Pass true if the sender must be reported to the Telegram moderators
|
//@report_spam Pass true if the sender must be reported to the Telegram moderators
|
||||||
blockMessageSenderFromReplies message_id:int53 delete_message:Bool delete_all_messages:Bool report_spam:Bool = Ok;
|
blockMessageSenderFromReplies message_id:int53 delete_message:Bool delete_all_messages:Bool report_spam:Bool = Ok;
|
||||||
|
|
||||||
//@description Returns chats that were blocked by the current user @offset Number of chats to skip in the result; must be non-negative @limit The maximum number of chats to return; up to 100
|
//@description Returns users and chats that were blocked by the current user @offset Number of users and chats to skip in the result; must be non-negative @limit The maximum number of users and chats to return; up to 100
|
||||||
getBlockedChats offset:int32 limit:int32 = Chats;
|
getBlockedMessageSenders offset:int32 limit:int32 = MessageSenders;
|
||||||
|
|
||||||
|
|
||||||
//@description Adds a user to the contact list or edits an existing contact by their user identifier @contact The contact to add or edit; phone number can be empty and needs to be specified only if known, vCard is ignored
|
//@description Adds a user to the contact list or edits an existing contact by their user identifier @contact The contact to add or edit; phone number can be empty and needs to be specified only if known, vCard is ignored
|
||||||
|
Binary file not shown.
@ -5545,6 +5545,13 @@ td_api::object_ptr<td_api::MessageSender> MessagesManager::get_message_sender_ob
|
|||||||
td_->contacts_manager_->get_user_id_object(user_id, "get_message_sender_object"));
|
td_->contacts_manager_->get_user_id_object(user_id, "get_message_sender_object"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
td_api::object_ptr<td_api::MessageSender> MessagesManager::get_message_sender_object(DialogId dialog_id) const {
|
||||||
|
if (dialog_id.get_type() == DialogType::User) {
|
||||||
|
return get_message_sender_object(dialog_id.get_user_id(), DialogId());
|
||||||
|
}
|
||||||
|
return get_message_sender_object(UserId(), dialog_id);
|
||||||
|
}
|
||||||
|
|
||||||
BufferSlice MessagesManager::get_dialog_database_value(const Dialog *d) {
|
BufferSlice MessagesManager::get_dialog_database_value(const Dialog *d) {
|
||||||
// can't use log_event_store, because it tries to parse stored Dialog
|
// can't use log_event_store, because it tries to parse stored Dialog
|
||||||
LogEventStorerCalcLength storer_calc_length;
|
LogEventStorerCalcLength storer_calc_length;
|
||||||
@ -15810,6 +15817,13 @@ void MessagesManager::on_get_blocked_dialogs(int32 offset, int32 limit, int64 ra
|
|||||||
for (auto &blocked_peer : blocked_peers) {
|
for (auto &blocked_peer : blocked_peers) {
|
||||||
CHECK(blocked_peer != nullptr);
|
CHECK(blocked_peer != nullptr);
|
||||||
DialogId dialog_id(blocked_peer->peer_id_);
|
DialogId dialog_id(blocked_peer->peer_id_);
|
||||||
|
if (dialog_id.get_type() == DialogType::User) {
|
||||||
|
if (td_->contacts_manager_->have_user(dialog_id.get_user_id())) {
|
||||||
|
result.push_back(dialog_id);
|
||||||
|
} else {
|
||||||
|
LOG(ERROR) << "Have no info about " << dialog_id.get_user_id();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
force_create_dialog(dialog_id, "on_get_blocked_dialogs");
|
force_create_dialog(dialog_id, "on_get_blocked_dialogs");
|
||||||
if (have_dialog(dialog_id)) {
|
if (have_dialog(dialog_id)) {
|
||||||
result.push_back(dialog_id);
|
result.push_back(dialog_id);
|
||||||
@ -15817,6 +15831,7 @@ void MessagesManager::on_get_blocked_dialogs(int32 offset, int32 limit, int64 ra
|
|||||||
LOG(ERROR) << "Have no info about " << dialog_id;
|
LOG(ERROR) << "Have no info about " << dialog_id;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (!result.empty() && offset + result.size() > static_cast<size_t>(total_count)) {
|
if (!result.empty() && offset + result.size() > static_cast<size_t>(total_count)) {
|
||||||
LOG(ERROR) << "Fix total count of blocked chats from " << total_count << " to " << offset + result.size();
|
LOG(ERROR) << "Fix total count of blocked chats from " << total_count << " to " << offset + result.size();
|
||||||
total_count = offset + narrow_cast<int32>(result.size());
|
total_count = offset + narrow_cast<int32>(result.size());
|
||||||
|
@ -192,6 +192,8 @@ class MessagesManager : public Actor {
|
|||||||
|
|
||||||
td_api::object_ptr<td_api::MessageSender> get_message_sender_object(UserId user_id, DialogId dialog_id) const;
|
td_api::object_ptr<td_api::MessageSender> get_message_sender_object(UserId user_id, DialogId dialog_id) const;
|
||||||
|
|
||||||
|
td_api::object_ptr<td_api::MessageSender> get_message_sender_object(DialogId dialog_id) const;
|
||||||
|
|
||||||
static vector<MessageId> get_message_ids(const vector<int64> &input_message_ids);
|
static vector<MessageId> get_message_ids(const vector<int64> &input_message_ids);
|
||||||
|
|
||||||
static vector<int32> get_server_message_ids(const vector<MessageId> &message_ids);
|
static vector<int32> get_server_message_ids(const vector<MessageId> &message_ids);
|
||||||
|
@ -2094,23 +2094,27 @@ class GetChatEventLogRequest : public RequestOnceActor {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class GetBlockedChatsRequest : public RequestActor<> {
|
class GetBlockedMessageSendersRequest : public RequestActor<> {
|
||||||
int32 offset_;
|
int32 offset_;
|
||||||
int32 limit_;
|
int32 limit_;
|
||||||
int64 random_id_;
|
int64 random_id_;
|
||||||
|
|
||||||
std::pair<int32, vector<DialogId>> dialog_ids_;
|
std::pair<int32, vector<DialogId>> message_senders_;
|
||||||
|
|
||||||
void do_run(Promise<Unit> &&promise) override {
|
void do_run(Promise<Unit> &&promise) override {
|
||||||
dialog_ids_ = td->messages_manager_->get_blocked_dialogs(offset_, limit_, random_id_, std::move(promise));
|
message_senders_ = td->messages_manager_->get_blocked_dialogs(offset_, limit_, random_id_, std::move(promise));
|
||||||
}
|
}
|
||||||
|
|
||||||
void do_send_result() override {
|
void do_send_result() override {
|
||||||
send_result(MessagesManager::get_chats_object(dialog_ids_));
|
auto senders =
|
||||||
|
transform(message_senders_.second, [messages_manager = td->messages_manager_.get()](DialogId dialog_id) {
|
||||||
|
return messages_manager->get_message_sender_object(dialog_id);
|
||||||
|
});
|
||||||
|
send_result(td_api::make_object<td_api::messageSenders>(message_senders_.first, std::move(senders)));
|
||||||
}
|
}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
GetBlockedChatsRequest(ActorShared<Td> td, uint64 request_id, int32 offset, int32 limit)
|
GetBlockedMessageSendersRequest(ActorShared<Td> td, uint64 request_id, int32 offset, int32 limit)
|
||||||
: RequestActor(std::move(td), request_id), offset_(offset), limit_(limit), random_id_(0) {
|
: RequestActor(std::move(td), request_id), offset_(offset), limit_(limit), random_id_(0) {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -6421,9 +6425,9 @@ void Td::on_request(uint64 id, const td_api::blockMessageSenderFromReplies &requ
|
|||||||
std::move(promise));
|
std::move(promise));
|
||||||
}
|
}
|
||||||
|
|
||||||
void Td::on_request(uint64 id, const td_api::getBlockedChats &request) {
|
void Td::on_request(uint64 id, const td_api::getBlockedMessageSenders &request) {
|
||||||
CHECK_IS_USER();
|
CHECK_IS_USER();
|
||||||
CREATE_REQUEST(GetBlockedChatsRequest, request.offset_, request.limit_);
|
CREATE_REQUEST(GetBlockedMessageSendersRequest, request.offset_, request.limit_);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Td::on_request(uint64 id, td_api::addContact &request) {
|
void Td::on_request(uint64 id, td_api::addContact &request) {
|
||||||
|
@ -789,7 +789,7 @@ class Td final : public NetQueryCallback {
|
|||||||
|
|
||||||
void on_request(uint64 id, const td_api::blockMessageSenderFromReplies &request);
|
void on_request(uint64 id, const td_api::blockMessageSenderFromReplies &request);
|
||||||
|
|
||||||
void on_request(uint64 id, const td_api::getBlockedChats &request);
|
void on_request(uint64 id, const td_api::getBlockedMessageSenders &request);
|
||||||
|
|
||||||
void on_request(uint64 id, td_api::addContact &request);
|
void on_request(uint64 id, td_api::addContact &request);
|
||||||
|
|
||||||
|
@ -2312,7 +2312,7 @@ class CliClient final : public Actor {
|
|||||||
send_request(td_api::make_object<td_api::getDeepLinkInfo>(args));
|
send_request(td_api::make_object<td_api::getDeepLinkInfo>(args));
|
||||||
} else if (op == "tme") {
|
} else if (op == "tme") {
|
||||||
send_request(td_api::make_object<td_api::getRecentlyVisitedTMeUrls>(args));
|
send_request(td_api::make_object<td_api::getRecentlyVisitedTMeUrls>(args));
|
||||||
} else if (op == "gbc") {
|
} else if (op == "gbms") {
|
||||||
string offset;
|
string offset;
|
||||||
string limit;
|
string limit;
|
||||||
|
|
||||||
@ -2323,7 +2323,8 @@ class CliClient final : public Actor {
|
|||||||
if (limit.empty()) {
|
if (limit.empty()) {
|
||||||
limit = "10";
|
limit = "10";
|
||||||
}
|
}
|
||||||
send_request(td_api::make_object<td_api::getBlockedChats>(to_integer<int32>(offset), to_integer<int32>(limit)));
|
send_request(
|
||||||
|
td_api::make_object<td_api::getBlockedMessageSenders>(to_integer<int32>(offset), to_integer<int32>(limit)));
|
||||||
} else if (op == "gu") {
|
} else if (op == "gu") {
|
||||||
send_request(td_api::make_object<td_api::getUser>(as_user_id(args)));
|
send_request(td_api::make_object<td_api::getUser>(as_user_id(args)));
|
||||||
} else if (op == "gsu") {
|
} else if (op == "gsu") {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user