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

Add sendGift.chat_id.

This commit is contained in:
levlam 2025-01-24 17:51:14 +03:00
parent 9649ead099
commit 77b488e188

View File

@ -11412,15 +11412,25 @@ td::Status Client::process_get_available_gifts_query(PromisedQueryPtr &query) {
td::Status Client::process_send_gift_query(PromisedQueryPtr &query) {
auto gift_id = td::to_integer<int64>(query->arg("gift_id"));
auto pay_for_upgrade = to_bool(query->arg("pay_for_upgrade"));
TRY_RESULT(user_id, get_user_id(query.get()));
TRY_RESULT(text, get_formatted_text(query->arg("text").str(), query->arg("text_parse_mode").str(),
get_input_entities(query.get(), "text_entities")));
check_user(user_id, std::move(query),
[this, gift_id, pay_for_upgrade, user_id, text = std::move(text)](PromisedQueryPtr query) mutable {
send_request(make_object<td_api::sendGift>(gift_id, make_object<td_api::messageSenderUser>(user_id),
std::move(text), false, pay_for_upgrade),
td::make_unique<TdOnOkQueryCallback>(std::move(query)));
});
if (query->has_arg("chat_id") && !query->arg("chat_id").empty()) {
auto chat_id = query->arg("chat_id");
check_chat(chat_id, AccessRights::Read, std::move(query),
[this, gift_id, pay_for_upgrade, text = std::move(text)](int64 chat_id, PromisedQueryPtr query) mutable {
send_request(make_object<td_api::sendGift>(gift_id, make_object<td_api::messageSenderChat>(chat_id),
std::move(text), false, pay_for_upgrade),
td::make_unique<TdOnOkQueryCallback>(std::move(query)));
});
} else {
TRY_RESULT(user_id, get_user_id(query.get()));
check_user(user_id, std::move(query),
[this, gift_id, pay_for_upgrade, user_id, text = std::move(text)](PromisedQueryPtr query) mutable {
send_request(make_object<td_api::sendGift>(gift_id, make_object<td_api::messageSenderUser>(user_id),
std::move(text), false, pay_for_upgrade),
td::make_unique<TdOnOkQueryCallback>(std::move(query)));
});
}
return td::Status::OK();
}