From 896bbb7c56e3a13ad294ee9ce6296f10bfd56740 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Sun, 9 Apr 2023 23:05:38 +0300 Subject: [PATCH] Added api support to toggle and reorder bot usernames. --- Telegram/SourceFiles/api/api_user_names.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Telegram/SourceFiles/api/api_user_names.cpp b/Telegram/SourceFiles/api/api_user_names.cpp index 3e74dd65c..fa040f17e 100644 --- a/Telegram/SourceFiles/api/api_user_names.cpp +++ b/Telegram/SourceFiles/api/api_user_names.cpp @@ -24,6 +24,14 @@ namespace { }; } +[[nodiscard]] std::optional BotUserInput( + not_null peer) { + const auto user = peer->asUser(); + return (user && user->botInfo && user->botInfo->canEditInformation) + ? std::make_optional(user->inputUser) + : std::nullopt; +} + } // namespace Usernames::Usernames(not_null api) @@ -157,6 +165,12 @@ rpl::producer Usernames::toggle( MTP_string(username), MTP_bool(active) )).done(done).fail(fail).send(); + } else if (const auto botUserInput = BotUserInput(peer)) { + _api.request(MTPbots_ToggleUsername( + *botUserInput, + MTP_string(username), + MTP_bool(active) + )).done(done).fail(fail).send(); } else { return rpl::never(); } @@ -204,6 +218,12 @@ rpl::producer<> Usernames::reorder( MTP_vector(std::move(tlUsernames)) )).done(finish).fail(finish).send(); _reorderRequests.emplace(peerId, requestId); + } else if (const auto botUserInput = BotUserInput(peer)) { + const auto requestId = _api.request(MTPbots_ReorderUsernames( + *botUserInput, + MTP_vector(std::move(tlUsernames)) + )).done(finish).fail(finish).send(); + _reorderRequests.emplace(peerId, requestId); } return lifetime; };