From d3898d9b7f67ccecaf057e80e6725377696af0b9 Mon Sep 17 00:00:00 2001 From: levlam Date: Tue, 14 Feb 2023 16:46:05 +0300 Subject: [PATCH] Allow to preupload animated and video stickers. --- telegram-bot-api/Client.cpp | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/telegram-bot-api/Client.cpp b/telegram-bot-api/Client.cpp index a2c6788..ef6b549 100644 --- a/telegram-bot-api/Client.cpp +++ b/telegram-bot-api/Client.cpp @@ -9146,13 +9146,22 @@ td::Status Client::process_get_custom_emoji_stickers_query(PromisedQueryPtr &que td::Status Client::process_upload_sticker_file_query(PromisedQueryPtr &query) { TRY_RESULT(user_id, get_user_id(query.get())); - auto png_sticker = get_input_file(query.get(), "png_sticker"); + object_ptr sticker_format; + td_api::object_ptr sticker; + if (query->has_arg("sticker") || query->file("sticker") != nullptr) { + TRY_RESULT_ASSIGN(sticker_format, get_sticker_format(query->arg("sticker_format"))); + sticker = get_input_file(query.get(), "sticker", true); + } else { + sticker_format = make_object(); + sticker = get_input_file(query.get(), "png_sticker", true); + } check_user(user_id, std::move(query), - [this, user_id, png_sticker = std::move(png_sticker)](PromisedQueryPtr query) mutable { - send_request(make_object(user_id, make_object(), - std::move(png_sticker)), - td::make_unique(this, std::move(query))); + [this, user_id, sticker_format = std::move(sticker_format), + sticker = std::move(sticker)](PromisedQueryPtr query) mutable { + send_request( + make_object(user_id, std::move(sticker_format), std::move(sticker)), + td::make_unique(this, std::move(query))); }); return Status::OK(); }