From 5acfd9f076b2b369f06176fb3e9da393cef29653 Mon Sep 17 00:00:00 2001 From: levlam Date: Sun, 14 Jun 2026 00:31:50 +0300 Subject: Add and use Client::get_input_audio. --- telegram-bot-api/Client.cpp | 27 ++++++++++++++------------- telegram-bot-api/Client.h | 4 ++++ 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/telegram-bot-api/Client.cpp b/telegram-bot-api/Client.cpp index ee90638..c761fe3 100644 --- a/telegram-bot-api/Client.cpp +++ b/telegram-bot-api/Client.cpp @@ -12197,6 +12197,16 @@ td::Result> Client::get_input_animati duration, width, height); } +td::Result> Client::get_input_audio( + const td::JsonObject &object, object_ptr &&input_file, + object_ptr &&input_thumbnail) { + TRY_RESULT(duration, object.get_optional_int_field("duration")); + TRY_RESULT(title, object.get_optional_string_field("title")); + TRY_RESULT(performer, object.get_optional_string_field("performer")); + duration = td::clamp(duration, 0, MAX_DURATION); + return make_object(std::move(input_file), std::move(input_thumbnail), duration, title, performer); +} + td::Result> Client::get_input_checklist_task( td::JsonValue &&input_task) const { if (input_task.type() != td::JsonValue::Type::Object) { @@ -12344,13 +12354,8 @@ td::Result> Client::get_input_me show_caption_above_media, has_spoiler); } if (type == "audio") { - TRY_RESULT(duration, object.get_optional_int_field("duration")); - TRY_RESULT(title, object.get_optional_string_field("title")); - TRY_RESULT(performer, object.get_optional_string_field("performer")); - duration = td::clamp(duration, 0, MAX_DURATION); - return make_object( - make_object(std::move(input_file), std::move(input_thumbnail), duration, title, performer), - std::move(caption)); + TRY_RESULT(input_audio, get_input_audio(object, std::move(input_file), std::move(input_thumbnail))); + return make_object(std::move(input_audio), std::move(caption)); } if (type == "document") { TRY_RESULT(disable_content_type_detection, object.get_optional_bool_field("disable_content_type_detection")); @@ -12459,12 +12464,8 @@ td::Result> Client::get_input_poll_me return make_object(std::move(input_file), std::move(input_thumbnail), 0, 0); } if (type == "audio") { - TRY_RESULT(duration, object.get_optional_int_field("duration")); - TRY_RESULT(title, object.get_optional_string_field("title")); - TRY_RESULT(performer, object.get_optional_string_field("performer")); - duration = td::clamp(duration, 0, MAX_DURATION); - return make_object( - make_object(std::move(input_file), std::move(input_thumbnail), duration, title, performer)); + TRY_RESULT(input_audio, get_input_audio(object, std::move(input_file), std::move(input_thumbnail))); + return make_object(std::move(input_audio)); } if (type == "document") { TRY_RESULT(disable_content_type_detection, object.get_optional_bool_field("disable_content_type_detection")); diff --git a/telegram-bot-api/Client.h b/telegram-bot-api/Client.h index 5f74874..76393f7 100644 --- a/telegram-bot-api/Client.h +++ b/telegram-bot-api/Client.h @@ -677,6 +677,10 @@ class Client final : public WebhookActor::Callback { const td::JsonObject &object, object_ptr &&input_file, object_ptr &&input_thumbnail); + static td::Result> get_input_audio( + const td::JsonObject &object, object_ptr &&input_file, + object_ptr &&input_thumbnail); + td::Result> get_input_checklist_task(td::JsonValue &&input_task) const; td::Result>> get_input_checklist_tasks(td::JsonValue &&value) const; -- cgit v1.2.3