2
0
mirror of https://github.com/tdlib/telegram-bot-api synced 2025-08-22 09:57:44 +00:00

Add transferGift.

This commit is contained in:
levlam 2025-03-31 10:19:09 +03:00
parent d9c58ff764
commit 201883e7b4
2 changed files with 18 additions and 0 deletions

View File

@ -287,6 +287,7 @@ bool Client::init_methods() {
methods_.emplace("getbusinessaccountgifts", &Client::process_get_business_account_gifts_query);
methods_.emplace("convertgifttostars", &Client::process_convert_gift_to_stars_query);
methods_.emplace("upgradegift", &Client::process_upgrade_gift_query);
methods_.emplace("transfergift", &Client::process_transfer_gift_query);
methods_.emplace("setuseremojistatus", &Client::process_set_user_emoji_status_query);
methods_.emplace("getchat", &Client::process_get_chat_query);
methods_.emplace("setchatphoto", &Client::process_set_chat_photo_query);
@ -12481,6 +12482,22 @@ td::Status Client::process_upgrade_gift_query(PromisedQueryPtr &query) {
return td::Status::OK();
}
td::Status Client::process_transfer_gift_query(PromisedQueryPtr &query) {
auto business_connection_id = query->arg("business_connection_id").str();
auto owned_gift_id = query->arg("owned_gift_id");
auto chat_id_str = query->arg("new_owner_chat_id").str();
auto star_count = get_integer_arg(query.get(), "star_count", 0, 0, 1000000);
check_business_connection_chat_id(
business_connection_id, chat_id_str, std::move(query),
[this, owned_gift_id, star_count](const BusinessConnection *business_connection, int64 chat_id,
PromisedQueryPtr query) mutable {
send_request(make_object<td_api::transferGift>(business_connection->id_, owned_gift_id.str(),
make_object<td_api::messageSenderChat>(chat_id), star_count),
td::make_unique<TdOnOkQueryCallback>(std::move(query)));
});
return td::Status::OK();
}
td::Status Client::process_set_user_emoji_status_query(PromisedQueryPtr &query) {
TRY_RESULT(user_id, get_user_id(query.get()));
auto emoji_status_custom_emoji_id = td::to_integer<int64>(query->arg("emoji_status_custom_emoji_id"));

View File

@ -746,6 +746,7 @@ class Client final : public WebhookActor::Callback {
td::Status process_get_business_account_gifts_query(PromisedQueryPtr &query);
td::Status process_convert_gift_to_stars_query(PromisedQueryPtr &query);
td::Status process_upgrade_gift_query(PromisedQueryPtr &query);
td::Status process_transfer_gift_query(PromisedQueryPtr &query);
td::Status process_set_user_emoji_status_query(PromisedQueryPtr &query);
td::Status process_get_chat_query(PromisedQueryPtr &query);
td::Status process_set_chat_photo_query(PromisedQueryPtr &query);