From 9308005d6bd5a5553c9bac19729c7eb2cb07a3a6 Mon Sep 17 00:00:00 2001 From: levlam Date: Sun, 4 Aug 2024 00:15:50 +0300 Subject: [PATCH] tg_cli: add and use as_file_ids. --- td/telegram/cli.cpp | 41 +++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/td/telegram/cli.cpp b/td/telegram/cli.cpp index 2735a8131..00e6d2678 100644 --- a/td/telegram/cli.cpp +++ b/td/telegram/cli.cpp @@ -693,6 +693,10 @@ class CliClient final : public Actor { return to_integer(trim(str)); } + static vector as_file_ids(Slice str) { + return transform(autosplit(str), as_file_id); + } + static td_api::object_ptr as_input_file_id(Slice str) { return td_api::make_object(as_file_id(str)); } @@ -4635,8 +4639,7 @@ class CliClient final : public Actor { get_args(args, chat_id, photo, caption, rules, areas, active_period, sticker_file_ids, protect_content); send_request(td_api::make_object( chat_id, - td_api::make_object(as_input_file(photo), - to_integers(sticker_file_ids)), + td_api::make_object(as_input_file(photo), as_file_ids(sticker_file_ids)), areas, as_caption(caption), rules, active_period ? active_period : 86400, get_reposted_story_full_id(), op == "sspp", protect_content)); } else if (op == "ssv" || op == "ssvp") { @@ -4652,8 +4655,8 @@ class CliClient final : public Actor { get_args(args, chat_id, video, caption, rules, areas, active_period, duration, sticker_file_ids, protect_content); send_request(td_api::make_object( chat_id, - td_api::make_object( - as_input_file(video), to_integers(sticker_file_ids), duration, 0.5, true), + td_api::make_object(as_input_file(video), as_file_ids(sticker_file_ids), + duration, 0.5, true), areas, as_caption(caption), rules, active_period ? active_period : 86400, get_reposted_story_full_id(), op == "ssvp", protect_content)); } else if (op == "esc") { @@ -4672,11 +4675,10 @@ class CliClient final : public Actor { InputStoryAreas areas; string sticker_file_ids; get_args(args, story_sender_chat_id, story_id, photo, caption, areas, sticker_file_ids); - send_request( - td_api::make_object(story_sender_chat_id, story_id, - td_api::make_object( - as_input_file(photo), to_integers(sticker_file_ids)), - areas, as_caption(caption))); + send_request(td_api::make_object( + story_sender_chat_id, story_id, + td_api::make_object(as_input_file(photo), as_file_ids(sticker_file_ids)), + areas, as_caption(caption))); } else if (op == "esv") { ChatId story_sender_chat_id; StoryId story_id; @@ -4688,8 +4690,8 @@ class CliClient final : public Actor { get_args(args, story_sender_chat_id, story_id, video, caption, duration, sticker_file_ids); send_request(td_api::make_object( story_sender_chat_id, story_id, - td_api::make_object( - as_input_file(video), to_integers(sticker_file_ids), duration, 0.0, false), + td_api::make_object(as_input_file(video), as_file_ids(sticker_file_ids), + duration, 0.0, false), areas, as_caption(caption))); } else if (op == "esco") { ChatId story_sender_chat_id; @@ -5575,10 +5577,9 @@ class CliClient final : public Actor { string caption; string sticker_file_ids; get_args(args, chat_id, photo, caption, sticker_file_ids); - send_message(chat_id, - td_api::make_object( - as_input_file(photo), nullptr, to_integers(sticker_file_ids), 0, 0, as_caption(caption), - show_caption_above_media_, get_message_self_destruct_type(), has_spoiler_)); + send_message(chat_id, td_api::make_object( + as_input_file(photo), nullptr, as_file_ids(sticker_file_ids), 0, 0, as_caption(caption), + show_caption_above_media_, get_message_self_destruct_type(), has_spoiler_)); } else if (op == "spg") { ChatId chat_id; string photo_path; @@ -5663,7 +5664,7 @@ class CliClient final : public Actor { if (trim(video_path).empty()) { video_path = sticker_file_ids_str; } else { - sticker_file_ids = to_integers(sticker_file_ids_str); + sticker_file_ids = as_file_ids(sticker_file_ids_str); } send_message(chat_id, td_api::make_object( @@ -6629,15 +6630,15 @@ class CliClient final : public Actor { string language_code; string file_ids; get_args(args, bot_user_id, language_code, file_ids); - send_request(td_api::make_object(bot_user_id, language_code, - to_integers(file_ids))); + send_request( + td_api::make_object(bot_user_id, language_code, as_file_ids(file_ids))); } else if (op == "dbmp") { UserId bot_user_id; string language_code; string file_ids; get_args(args, bot_user_id, language_code, file_ids); - send_request(td_api::make_object(bot_user_id, language_code, - to_integers(file_ids))); + send_request( + td_api::make_object(bot_user_id, language_code, as_file_ids(file_ids))); } else if (op == "gbi") { UserId bot_user_id; string language_code;