mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-06-05 06:33:57 +02:00
Fixed statistics overview of old messages.
This commit is contained in:
parent
0aa1031402
commit
0be2e8b672
1 changed files with 36 additions and 13 deletions
|
@ -434,19 +434,42 @@ void MessageStatistics::request(Fn<void(Data::MessageStatistics)> done) {
|
||||||
|
|
||||||
const auto requestPrivateForwards = [=](
|
const auto requestPrivateForwards = [=](
|
||||||
const Data::StatisticalGraph &messageGraph) {
|
const Data::StatisticalGraph &messageGraph) {
|
||||||
_api.request(MTPstats_GetBroadcastStats(
|
_api.request(MTPchannels_GetMessages(
|
||||||
MTP_flags(MTPstats_GetBroadcastStats::Flags(0)),
|
_channel->inputChannel,
|
||||||
_channel->inputChannel
|
MTP_vector<MTPInputMessage>(
|
||||||
)).done([=](const MTPstats_BroadcastStats &result) {
|
1,
|
||||||
const auto channelStats = ChannelStatisticsFromTL(result.data());
|
MTP_inputMessageID(MTP_int(_fullId.msg))))
|
||||||
auto info = Data::StatisticsMessageInteractionInfo();
|
).done([=](const MTPmessages_Messages &result) {
|
||||||
for (const auto &r : channelStats.recentMessageInteractions) {
|
const auto process = [&](const MTPVector<MTPMessage> &messages) {
|
||||||
if (r.messageId == _fullId.msg) {
|
const auto &message = messages.v.front();
|
||||||
info = r;
|
return message.match([&](const MTPDmessage &data) {
|
||||||
break;
|
return Data::StatisticsMessageInteractionInfo{
|
||||||
}
|
.messageId = IdFromMessage(message),
|
||||||
}
|
.viewsCount = data.vviews()
|
||||||
requestFirstPublicForwards(messageGraph, info);
|
? data.vviews()->v
|
||||||
|
: 0,
|
||||||
|
.forwardsCount = data.vforwards()
|
||||||
|
? data.vforwards()->v
|
||||||
|
: 0,
|
||||||
|
};
|
||||||
|
}, [](const MTPDmessageEmpty &) {
|
||||||
|
return Data::StatisticsMessageInteractionInfo();
|
||||||
|
}, [](const MTPDmessageService &) {
|
||||||
|
return Data::StatisticsMessageInteractionInfo();
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
auto info = result.match([&](const MTPDmessages_messages &data) {
|
||||||
|
return process(data.vmessages());
|
||||||
|
}, [&](const MTPDmessages_messagesSlice &data) {
|
||||||
|
return process(data.vmessages());
|
||||||
|
}, [&](const MTPDmessages_channelMessages &data) {
|
||||||
|
return process(data.vmessages());
|
||||||
|
}, [](const MTPDmessages_messagesNotModified &) {
|
||||||
|
return Data::StatisticsMessageInteractionInfo();
|
||||||
|
});
|
||||||
|
|
||||||
|
requestFirstPublicForwards(messageGraph, std::move(info));
|
||||||
}).fail([=](const MTP::Error &error) {
|
}).fail([=](const MTP::Error &error) {
|
||||||
requestFirstPublicForwards(messageGraph, {});
|
requestFirstPublicForwards(messageGraph, {});
|
||||||
}).send();
|
}).send();
|
||||||
|
|
Loading…
Add table
Reference in a new issue