From 2f17f55305774e9f84716e1b9703196a93087666 Mon Sep 17 00:00:00 2001 From: levlam Date: Sun, 3 Jul 2022 11:53:01 +0300 Subject: [PATCH] Don't dup stickers in a set. --- td/telegram/StickersManager.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/td/telegram/StickersManager.cpp b/td/telegram/StickersManager.cpp index edefbcc40..a8ea61e46 100644 --- a/td/telegram/StickersManager.cpp +++ b/td/telegram/StickersManager.cpp @@ -2758,6 +2758,12 @@ bool StickersManager::has_input_media(FileId sticker_file_id, bool is_secret) co if (td_->auth_manager_->is_bot() && file_view.has_remote_location()) { return true; } + const Sticker *sticker = get_sticker(sticker_file_id); + CHECK(sticker != nullptr); + if (sticker->set_id.is_valid()) { + // stickers within a set doesn't need to be duped + return true; + } // having remote location is not enough to have InputMedia, because the file may not have valid file_reference // also file_id needs to be duped, because upload can be called to repair the file_reference and every upload // request must have unique file_id