From a7f0cd08b894ab440950ded573c348ef75774eb4 Mon Sep 17 00:00:00 2001 From: levlam Date: Thu, 2 Apr 2026 18:03:14 +0300 Subject: [PATCH] Add getManagedBotToken. --- telegram-bot-api/Client.cpp | 29 +++++++++++++++++++++++++++++ telegram-bot-api/Client.h | 2 ++ 2 files changed, 31 insertions(+) diff --git a/telegram-bot-api/Client.cpp b/telegram-bot-api/Client.cpp index f93a411..5670ac5 100644 --- a/telegram-bot-api/Client.cpp +++ b/telegram-bot-api/Client.cpp @@ -280,6 +280,7 @@ bool Client::init_methods() { methods_.emplace("getavailablegifts", &Client::process_get_available_gifts_query); methods_.emplace("sendgift", &Client::process_send_gift_query); methods_.emplace("giftpremiumsubscription", &Client::process_gift_premium_subscription_query); + methods_.emplace("getmanagedbottoken", &Client::process_get_managed_bot_token_query); methods_.emplace("verifyuser", &Client::process_verify_user_query); methods_.emplace("verifychat", &Client::process_verify_chat_query); methods_.emplace("removeuserverification", &Client::process_remove_user_verification_query); @@ -7350,6 +7351,25 @@ class Client::TdOnGetSupergroupMemberCountCallback final : public TdQueryCallbac PromisedQueryPtr query_; }; +class Client::TdOnGetBotTokenCallback final : public TdQueryCallback { + public: + explicit TdOnGetBotTokenCallback(PromisedQueryPtr query) : query_(std::move(query)) { + } + + void on_result(object_ptr result) final { + if (result->get_id() == td_api::error::ID) { + return fail_query_with_error(std::move(query_), move_object_as(result)); + } + + CHECK(result->get_id() == td_api::text::ID); + auto text = move_object_as(result); + answer_query(td::VirtuallyJsonableString(text->text_), std::move(query_)); + } + + private: + PromisedQueryPtr query_; +}; + class Client::TdOnCreateInvoiceLinkCallback final : public TdQueryCallback { public: explicit TdOnCreateInvoiceLinkCallback(PromisedQueryPtr query) : query_(std::move(query)) { @@ -13786,6 +13806,15 @@ td::Status Client::process_gift_premium_subscription_query(PromisedQueryPtr &que return td::Status::OK(); } +td::Status Client::process_get_managed_bot_token_query(PromisedQueryPtr &query) { + TRY_RESULT(user_id, get_user_id(query.get())); + check_user(user_id, std::move(query), [this, user_id](PromisedQueryPtr query) { + send_request(make_object(user_id, false), + td::make_unique(std::move(query))); + }); + return td::Status::OK(); +} + td::Status Client::process_verify_user_query(PromisedQueryPtr &query) { TRY_RESULT(user_id, get_user_id(query.get())); auto custom_description = query->arg("custom_description"); diff --git a/telegram-bot-api/Client.h b/telegram-bot-api/Client.h index b4ce795..d322eb9 100644 --- a/telegram-bot-api/Client.h +++ b/telegram-bot-api/Client.h @@ -295,6 +295,7 @@ class Client final : public WebhookActor::Callback { class TdOnGetUserChatBoostsCallback; class TdOnGetGiftsCallback; class TdOnCreateInvoiceLinkCallback; + class TdOnGetBotTokenCallback; class TdOnUpgradeGiftCallback; class TdOnGetStarAmountCallback; class TdOnGetReceivedGiftsCallback; @@ -815,6 +816,7 @@ class Client final : public WebhookActor::Callback { td::Status process_get_available_gifts_query(PromisedQueryPtr &query); td::Status process_send_gift_query(PromisedQueryPtr &query); td::Status process_gift_premium_subscription_query(PromisedQueryPtr &query); + td::Status process_get_managed_bot_token_query(PromisedQueryPtr &query); td::Status process_verify_user_query(PromisedQueryPtr &query); td::Status process_verify_chat_query(PromisedQueryPtr &query); td::Status process_remove_user_verification_query(PromisedQueryPtr &query);