From d3a2df8858d3e35ac99a2abdde5a252ccc9dc7ac Mon Sep 17 00:00:00 2001 From: levlam Date: Fri, 30 Sep 2022 15:55:46 +0300 Subject: [PATCH] Return stickers from getCustomEmojiReactionAnimations. --- td/generate/scheme/td_api.tl | 7 ++----- td/telegram/StickersManager.cpp | 16 +++++----------- td/telegram/StickersManager.h | 2 +- 3 files changed, 8 insertions(+), 17 deletions(-) diff --git a/td/generate/scheme/td_api.tl b/td/generate/scheme/td_api.tl index f75847c7f..738907981 100644 --- a/td/generate/scheme/td_api.tl +++ b/td/generate/scheme/td_api.tl @@ -163,9 +163,6 @@ remoteFile id:string unique_id:string is_uploading_active:Bool is_uploading_comp //@remote Information about the remote copy of the file file id:int32 size:int53 expected_size:int53 local:localFile remote:remoteFile = File; -//@description Represents a list of files @files List of files -files files:vector = Files; - //@class InputFile @description Points to a file @@ -5205,8 +5202,8 @@ editMessageSchedulingState chat_id:int53 message_id:int53 scheduling_state:Messa //@description Returns information about a emoji reaction. Returns a 404 error if the reaction is not found @emoji Text representation of the reaction getEmojiReaction emoji:string = EmojiReaction; -//@description Returns TGS files with generic animations for custom emoji reactions -getCustomEmojiReactionAnimations = Files; +//@description Returns TGS stickers with generic animations for custom emoji reactions +getCustomEmojiReactionAnimations = Stickers; //@description Returns reactions, which can be added to a message. The list can change after updateActiveEmojiReactions, updateChatAvailableReactions for the chat, or updateMessageInteractionInfo for the message //@chat_id Identifier of the chat to which the message belongs diff --git a/td/telegram/StickersManager.cpp b/td/telegram/StickersManager.cpp index 9fae50f44..f83c1062a 100644 --- a/td/telegram/StickersManager.cpp +++ b/td/telegram/StickersManager.cpp @@ -2214,12 +2214,8 @@ tl_object_ptr StickersManager::get_sticker_object(FileId file_i } tl_object_ptr StickersManager::get_stickers_object(const vector &sticker_ids) const { - auto result = td_api::make_object(); - result->stickers_.reserve(sticker_ids.size()); - for (auto sticker_id : sticker_ids) { - result->stickers_.push_back(get_sticker_object(sticker_id)); - } - return result; + return td_api::make_object( + transform(sticker_ids, [&](FileId sticker_id) { return get_sticker_object(sticker_id); })); } tl_object_ptr StickersManager::get_dice_stickers_object(const string &emoji, int32 value) const { @@ -5854,14 +5850,14 @@ void StickersManager::get_all_animated_emojis(bool is_recursive, } void StickersManager::get_custom_emoji_reaction_generic_animations( - bool is_recursive, Promise> &&promise) { + bool is_recursive, Promise> &&promise) { TRY_STATUS_PROMISE(promise, G()->close_status()); auto &special_sticker_set = add_special_sticker_set(SpecialStickerSetType::generic_animations()); auto sticker_set = get_sticker_set(special_sticker_set.id_); if (sticker_set == nullptr || !sticker_set->was_loaded_) { if (is_recursive) { - return promise.set_value(td_api::make_object()); + return promise.set_value(td_api::make_object()); } pending_get_generic_animations_queries_.push_back(PromiseCreator::lambda( @@ -5877,9 +5873,7 @@ void StickersManager::get_custom_emoji_reaction_generic_animations( return; } - auto files = transform(sticker_set->sticker_ids_, - [&](FileId sticker_id) { return td_->file_manager_->get_file_object(sticker_id); }); - promise.set_value(td_api::make_object(std::move(files))); + promise.set_value(get_stickers_object(sticker_set->sticker_ids_)); } void StickersManager::get_default_emoji_statuses(bool is_recursive, diff --git a/td/telegram/StickersManager.h b/td/telegram/StickersManager.h index bebab36b7..2f26c7440 100644 --- a/td/telegram/StickersManager.h +++ b/td/telegram/StickersManager.h @@ -104,7 +104,7 @@ class StickersManager final : public Actor { void get_all_animated_emojis(bool is_recursive, Promise> &&promise); void get_custom_emoji_reaction_generic_animations(bool is_recursive, - Promise> &&promise); + Promise> &&promise); void get_default_emoji_statuses(bool is_recursive, Promise> &&promise);