aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorlevlam <levlam@telegram.org>2026-06-14 00:31:50 +0300
committerlevlam <levlam@telegram.org>2026-06-14 00:31:50 +0300
commit5acfd9f076b2b369f06176fb3e9da393cef29653 (patch)
treeda025ceb4e6f0997bc837ebe2f07518e216f4d18
parent6670225cc5bc6b1a91c76ecbe44289c2e2cb32d1 (diff)
Add and use Client::get_input_audio.
-rw-r--r--telegram-bot-api/Client.cpp27
-rw-r--r--telegram-bot-api/Client.h4
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<td_api::object_ptr<td_api::inputAnimation>> Client::get_input_animati
duration, width, height);
}
+td::Result<td_api::object_ptr<td_api::inputAudio>> Client::get_input_audio(
+ const td::JsonObject &object, object_ptr<td_api::InputFile> &&input_file,
+ object_ptr<td_api::inputThumbnail> &&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<td_api::inputAudio>(std::move(input_file), std::move(input_thumbnail), duration, title, performer);
+}
+
td::Result<td_api::object_ptr<td_api::inputChecklistTask>> Client::get_input_checklist_task(
td::JsonValue &&input_task) const {
if (input_task.type() != td::JsonValue::Type::Object) {
@@ -12344,13 +12354,8 @@ td::Result<td_api::object_ptr<td_api::InputMessageContent>> 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<td_api::inputMessageAudio>(
- make_object<td_api::inputAudio>(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<td_api::inputMessageAudio>(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<td_api::object_ptr<td_api::InputPollMedia>> Client::get_input_poll_me
return make_object<td_api::inputPollMediaSticker>(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<td_api::inputPollMediaAudio>(
- make_object<td_api::inputAudio>(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<td_api::inputPollMediaAudio>(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<td_api::InputFile> &&input_file,
object_ptr<td_api::inputThumbnail> &&input_thumbnail);
+ static td::Result<object_ptr<td_api::inputAudio>> get_input_audio(
+ const td::JsonObject &object, object_ptr<td_api::InputFile> &&input_file,
+ object_ptr<td_api::inputThumbnail> &&input_thumbnail);
+
td::Result<object_ptr<td_api::inputChecklistTask>> get_input_checklist_task(td::JsonValue &&input_task) const;
td::Result<td::vector<object_ptr<td_api::inputChecklistTask>>> get_input_checklist_tasks(td::JsonValue &&value) const;