mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2026-07-25 06:54:43 +00:00
Added ability to export peer ids from contact list.
This commit is contained in:
@@ -13,6 +13,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||
#include "export/output/export_output_file.h"
|
||||
#include "mtproto/mtproto_response.h"
|
||||
#include "base/bytes.h"
|
||||
#include "base/options.h"
|
||||
#include "base/random.h"
|
||||
#include <set>
|
||||
#include <deque>
|
||||
@@ -1069,7 +1070,35 @@ void ApiWrap::requestContacts(FnMut<void(Data::ContactsList&&)> done) {
|
||||
mainRequest(MTPcontacts_GetSaved(
|
||||
)).done([=](const MTPVector<MTPSavedContact> &result) {
|
||||
_contactsProcess->result = Data::ParseContactsList(result);
|
||||
requestTopPeersSlice();
|
||||
|
||||
const auto resolve = [=](int index, const auto &resolveNext) -> void {
|
||||
if (index == _contactsProcess->result.list.size()) {
|
||||
return requestTopPeersSlice();
|
||||
}
|
||||
const auto &contact = _contactsProcess->result.list[index];
|
||||
mainRequest(MTPcontacts_ResolvePhone(
|
||||
MTP_string(qs(contact.phoneNumber))
|
||||
)).done([=](const MTPcontacts_ResolvedPeer &result) {
|
||||
auto &contact = _contactsProcess->result.list[index];
|
||||
contact.userId = result.data().vpeer().match([&](
|
||||
const MTPDpeerUser &user) {
|
||||
return UserId(user.vuser_id());
|
||||
}, [](const auto &) {
|
||||
return UserId();
|
||||
});
|
||||
resolveNext(index + 1, resolveNext);
|
||||
}).fail([=](const MTP::Error &) {
|
||||
resolveNext(index + 1, resolveNext);
|
||||
return true;
|
||||
}).send();
|
||||
};
|
||||
|
||||
if (base::options::lookup<bool>("show-peer-id-below-about").value()) {
|
||||
resolve(0, resolve);
|
||||
} else {
|
||||
requestTopPeersSlice();
|
||||
}
|
||||
|
||||
}).send();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user