aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorlevlam <levlam@telegram.org>2026-05-05 01:03:21 +0300
committerlevlam <levlam@telegram.org>2026-05-05 01:03:21 +0300
commitd85ae5ad101fbb58dc88871e95b8ac4c1db188c4 (patch)
tree4194221539a591abb701786ac5a306ba7e072b38
parenta1049eb40025085d3186435d4fbe509fa5c920f8 (diff)
Add separate Client::get_input_media.
-rw-r--r--telegram-bot-api/Client.cpp10
-rw-r--r--telegram-bot-api/Client.h6
2 files changed, 15 insertions, 1 deletions
diff --git a/telegram-bot-api/Client.cpp b/telegram-bot-api/Client.cpp
index 9ce81d1..739cdf8 100644
--- a/telegram-bot-api/Client.cpp
+++ b/telegram-bot-api/Client.cpp
@@ -11639,6 +11639,15 @@ td::Result<td_api::object_ptr<td_api::InputMessageContent>> Client::get_input_me
TRY_RESULT(caption, get_formatted_text(std::move(input_caption), std::move(parse_mode), std::move(entities)));
TRY_RESULT(show_caption_above_media, object.get_optional_bool_field("show_caption_above_media"));
TRY_RESULT(has_spoiler, object.get_optional_bool_field("has_spoiler"));
+ TRY_RESULT(type, object.get_required_string_field("type"));
+
+ return get_input_media(query, object, type, std::move(caption), show_caption_above_media, has_spoiler, for_album);
+}
+
+td::Result<td_api::object_ptr<td_api::InputMessageContent>> Client::get_input_media(
+ const Query *query, const td::JsonObject &object, const td::string &type,
+ object_ptr<td_api::formattedText> &&caption, bool show_caption_above_media, bool has_spoiler,
+ bool for_album) const {
TRY_RESULT(media, object.get_optional_string_field("media"));
auto input_file = get_input_file(query, td::Slice(), media, false);
@@ -11647,7 +11656,6 @@ td::Result<td_api::object_ptr<td_api::InputMessageContent>> Client::get_input_me
}
TRY_RESULT(input_thumbnail, get_input_thumbnail(query, object, true));
- TRY_RESULT(type, object.get_required_string_field("type"));
if (type == "photo") {
return make_object<td_api::inputMessagePhoto>(std::move(input_file), nullptr, nullptr, td::vector<int32>(), 0, 0,
std::move(caption), show_caption_above_media, nullptr, has_spoiler);
diff --git a/telegram-bot-api/Client.h b/telegram-bot-api/Client.h
index 30cedab..39a4e56 100644
--- a/telegram-bot-api/Client.h
+++ b/telegram-bot-api/Client.h
@@ -670,6 +670,12 @@ class Client final : public WebhookActor::Callback {
td::Result<object_ptr<td_api::InputMessageContent>> get_input_media(const Query *query, td::JsonValue &&input_media,
bool for_album) const;
+ td::Result<object_ptr<td_api::InputMessageContent>> get_input_media(const Query *query, const td::JsonObject &object,
+ const td::string &type,
+ object_ptr<td_api::formattedText> &&caption,
+ bool show_caption_above_media, bool has_spoiler,
+ bool for_album) const;
+
td::Result<object_ptr<td_api::InputMessageContent>> get_input_media(const Query *query, td::Slice field_name) const;
td::Result<td::vector<object_ptr<td_api::InputMessageContent>>> get_input_message_contents(