diff options
| author | levlam <levlam@telegram.org> | 2024-07-10 14:38:28 +0300 |
|---|---|---|
| committer | levlam <levlam@telegram.org> | 2024-07-10 14:38:28 +0300 |
| commit | 55391a53556f3f276fff0bfb6df5092f8cc54947 (patch) | |
| tree | dd838cedcb1d09587912e0a7a9cfe6559feba676 /td/telegram/Payments.cpp | |
| parent | 0bacb9fac2acf4525399b7d7fddfe65562b0aa76 (diff) | |
Add td_api::telegramPaymentPurposeGiftedStars.
Diffstat (limited to 'td/telegram/Payments.cpp')
| -rw-r--r-- | td/telegram/Payments.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/td/telegram/Payments.cpp b/td/telegram/Payments.cpp index 9799d324f..db033671c 100644 --- a/td/telegram/Payments.cpp +++ b/td/telegram/Payments.cpp @@ -136,6 +136,21 @@ Result<InputInvoiceInfo> get_input_invoice_info(Td *td, td_api::object_ptr<td_ap result.input_invoice_ = telegram_api::make_object<telegram_api::inputInvoiceStars>(std::move(purpose)); break; } + case td_api::telegramPaymentPurposeGiftedStars::ID: { + auto p = static_cast<td_api::telegramPaymentPurposeGiftedStars *>(invoice->purpose_.get()); + UserId user_id(p->user_id_); + TRY_RESULT(input_user, td->user_manager_->get_input_user(user_id)); + if (p->amount_ <= 0 || !check_currency_amount(p->amount_)) { + return Status::Error(400, "Invalid amount of the currency specified"); + } + if (!clean_input_string(p->currency_)) { + return Status::Error(400, "Strings must be encoded in UTF-8"); + } + auto purpose = telegram_api::make_object<telegram_api::inputStorePaymentStarsGift>( + std::move(input_user), p->star_count_, p->currency_, p->amount_); + result.input_invoice_ = telegram_api::make_object<telegram_api::inputInvoiceStars>(std::move(purpose)); + break; + } default: UNREACHABLE(); } |
