|
|
|
@ -286,6 +286,7 @@ bool Client::init_methods() {
|
|
|
|
methods_.emplace("getbusinessaccountstarbalance", &Client::process_get_business_account_star_balance_query);
|
|
|
|
methods_.emplace("getbusinessaccountstarbalance", &Client::process_get_business_account_star_balance_query);
|
|
|
|
methods_.emplace("getbusinessaccountgifts", &Client::process_get_business_account_gifts_query);
|
|
|
|
methods_.emplace("getbusinessaccountgifts", &Client::process_get_business_account_gifts_query);
|
|
|
|
methods_.emplace("convertgifttostars", &Client::process_convert_gift_to_stars_query);
|
|
|
|
methods_.emplace("convertgifttostars", &Client::process_convert_gift_to_stars_query);
|
|
|
|
|
|
|
|
methods_.emplace("upgradegift", &Client::process_upgrade_gift_query);
|
|
|
|
methods_.emplace("setuseremojistatus", &Client::process_set_user_emoji_status_query);
|
|
|
|
methods_.emplace("setuseremojistatus", &Client::process_set_user_emoji_status_query);
|
|
|
|
methods_.emplace("getchat", &Client::process_get_chat_query);
|
|
|
|
methods_.emplace("getchat", &Client::process_get_chat_query);
|
|
|
|
methods_.emplace("setchatphoto", &Client::process_set_chat_photo_query);
|
|
|
|
methods_.emplace("setchatphoto", &Client::process_set_chat_photo_query);
|
|
|
|
@ -6365,6 +6366,23 @@ class Client::TdOnGetChatInviteLinkCallback final : public TdQueryCallback {
|
|
|
|
PromisedQueryPtr query_;
|
|
|
|
PromisedQueryPtr query_;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Client::TdOnUpgradeGiftCallback final : public TdQueryCallback {
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
explicit TdOnUpgradeGiftCallback(PromisedQueryPtr query) : query_(std::move(query)) {
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void on_result(object_ptr<td_api::Object> result) final {
|
|
|
|
|
|
|
|
if (result->get_id() == td_api::error::ID) {
|
|
|
|
|
|
|
|
return fail_query_with_error(std::move(query_), move_object_as<td_api::error>(result));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
answer_query(td::JsonTrue(), std::move(query_));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
PromisedQueryPtr query_;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
class Client::TdOnGetStarAmountCallback final : public TdQueryCallback {
|
|
|
|
class Client::TdOnGetStarAmountCallback final : public TdQueryCallback {
|
|
|
|
public:
|
|
|
|
public:
|
|
|
|
explicit TdOnGetStarAmountCallback(PromisedQueryPtr query) : query_(std::move(query)) {
|
|
|
|
explicit TdOnGetStarAmountCallback(PromisedQueryPtr query) : query_(std::move(query)) {
|
|
|
|
@ -12447,6 +12465,22 @@ td::Status Client::process_convert_gift_to_stars_query(PromisedQueryPtr &query)
|
|
|
|
return td::Status::OK();
|
|
|
|
return td::Status::OK();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
td::Status Client::process_upgrade_gift_query(PromisedQueryPtr &query) {
|
|
|
|
|
|
|
|
auto business_connection_id = query->arg("business_connection_id").str();
|
|
|
|
|
|
|
|
auto owned_gift_id = query->arg("owned_gift_id");
|
|
|
|
|
|
|
|
auto keep_original_details = to_bool(query->arg("keep_original_details"));
|
|
|
|
|
|
|
|
auto star_count = get_integer_arg(query.get(), "star_count", 0, 0, 1000000);
|
|
|
|
|
|
|
|
check_business_connection(business_connection_id, std::move(query),
|
|
|
|
|
|
|
|
[this, owned_gift_id, keep_original_details, star_count](
|
|
|
|
|
|
|
|
const BusinessConnection *business_connection, PromisedQueryPtr query) mutable {
|
|
|
|
|
|
|
|
send_request(
|
|
|
|
|
|
|
|
make_object<td_api::upgradeGift>(business_connection->id_, owned_gift_id.str(),
|
|
|
|
|
|
|
|
keep_original_details, star_count),
|
|
|
|
|
|
|
|
td::make_unique<TdOnUpgradeGiftCallback>(std::move(query)));
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
return td::Status::OK();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
td::Status Client::process_set_user_emoji_status_query(PromisedQueryPtr &query) {
|
|
|
|
td::Status Client::process_set_user_emoji_status_query(PromisedQueryPtr &query) {
|
|
|
|
TRY_RESULT(user_id, get_user_id(query.get()));
|
|
|
|
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"));
|
|
|
|
auto emoji_status_custom_emoji_id = td::to_integer<int64>(query->arg("emoji_status_custom_emoji_id"));
|
|
|
|
|