mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-04-16 22:27:20 +02:00
Fixed update of recently attached stickers after sending.
This commit is contained in:
parent
de108c8efe
commit
7cd6b821b3
5 changed files with 28 additions and 1 deletions
|
@ -52,6 +52,10 @@ mtpRequestId EditMessage(
|
|||
ConvertOption::SkipLocal);
|
||||
const auto media = item->media();
|
||||
|
||||
const auto updateRecentStickers = inputMedia.has_value()
|
||||
? Api::HasAttachedStickers(*inputMedia)
|
||||
: false;
|
||||
|
||||
const auto emptyFlag = MTPmessages_EditMessage::Flag(0);
|
||||
const auto flags = emptyFlag
|
||||
| (!text.isEmpty() || media
|
||||
|
@ -97,6 +101,10 @@ mtpRequestId EditMessage(
|
|||
} else {
|
||||
apply();
|
||||
}
|
||||
|
||||
if (updateRecentStickers) {
|
||||
api->requestRecentStickersForce(true);
|
||||
}
|
||||
}).fail(
|
||||
fail
|
||||
).send();
|
||||
|
|
|
@ -111,4 +111,16 @@ MTPInputMedia PrepareUploadedDocument(
|
|||
MTP_int(0));
|
||||
}
|
||||
|
||||
bool HasAttachedStickers(MTPInputMedia media) {
|
||||
return media.match([&](const MTPDinputMediaUploadedPhoto &photo) -> bool {
|
||||
return (photo.vflags().v
|
||||
& MTPDinputMediaUploadedPhoto::Flag::f_stickers);
|
||||
}, [&](const MTPDinputMediaUploadedDocument &document) -> bool {
|
||||
return (document.vflags().v
|
||||
& MTPDinputMediaUploadedDocument::Flag::f_stickers);
|
||||
}, [](const auto &d) {
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
} // namespace Api
|
||||
|
|
|
@ -21,4 +21,6 @@ MTPInputMedia PrepareUploadedDocument(
|
|||
const std::optional<MTPInputFile> &thumb,
|
||||
std::vector<MTPInputDocument> attachedStickers);
|
||||
|
||||
bool HasAttachedStickers(MTPInputMedia media);
|
||||
|
||||
} // namespace Api
|
||||
|
|
|
@ -4521,6 +4521,8 @@ void ApiWrap::sendMediaWithRandomId(
|
|||
caption.entities,
|
||||
Api::ConvertOption::SkipLocal);
|
||||
|
||||
const auto updateRecentStickers = Api::HasAttachedStickers(media);
|
||||
|
||||
const auto flags = MTPmessages_SendMedia::Flags(0)
|
||||
| (replyTo
|
||||
? MTPmessages_SendMedia::Flag::f_reply_to_msg_id
|
||||
|
@ -4553,6 +4555,10 @@ void ApiWrap::sendMediaWithRandomId(
|
|||
)).done([=](const MTPUpdates &result) {
|
||||
applyUpdates(result);
|
||||
finish();
|
||||
|
||||
if (updateRecentStickers) {
|
||||
requestRecentStickersForce(true);
|
||||
}
|
||||
}).fail([=](const MTP::Error &error) {
|
||||
sendMessageFail(error, peer, randomId, itemId);
|
||||
finish();
|
||||
|
|
|
@ -110,7 +110,6 @@ rpl::producer<uint64> Stickers::stickerSetInstalled() const {
|
|||
return _stickerSetInstalled.events();
|
||||
}
|
||||
|
||||
// Increment attached sticker.
|
||||
void Stickers::incrementSticker(not_null<DocumentData*> document) {
|
||||
if (!document->sticker()
|
||||
|| document->sticker()->set.type() == mtpc_inputStickerSetEmpty) {
|
||||
|
|
Loading…
Add table
Reference in a new issue