From 389a508fa7103b1dc313af3a1ea789349b7e4795 Mon Sep 17 00:00:00 2001 From: bpavuk <75901693+bpavuk@users.noreply.github.com> Date: Wed, 16 Apr 2025 18:36:02 +0300 Subject: [PATCH] feat: added premiumSubscriptionDuration field to TransactionPartner --- .../kotlin/dev/inmo/tgbotapi/types/Common.kt | 1 + .../types/payments/stars/TransactionPartner.kt | 11 ++++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/Common.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/Common.kt index a91b4510fe..a4f66e4677 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/Common.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/Common.kt @@ -486,6 +486,7 @@ const val questionParseModeField = "question_parse_mode" const val optionsField = "options" const val payField = "pay" const val permissionsField = "permissions" +const val premiumSubscriptionDurationField = "premium_subscription_duration" const val typeField = "type" const val valueField = "value" const val creatorField = "creator" diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/payments/stars/TransactionPartner.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/payments/stars/TransactionPartner.kt index d9dfe04f4c..f87634706a 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/payments/stars/TransactionPartner.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/payments/stars/TransactionPartner.kt @@ -60,7 +60,9 @@ sealed interface TransactionPartner { @SerialName(paidMediaPayloadField) val paidMediaPayload: PaidMediaPayload? = null, @SerialName(giftField) - val gift: Gift? = null + val gift: Gift? = null, + @SerialName(premiumSubscriptionDurationField) + val premiumSubscriptionDuration: Int? = null, ) : TransactionPartner, SubscriptionPeriodInfo { @EncodeDefault override val type: String = Companion.type @@ -151,6 +153,7 @@ sealed interface TransactionPartner { val paid_media: List? = null, val paid_media_payload: PaidMediaPayload? = null, val gift: Gift? = null, + val premium_subscription_duration: Int? = null, val request_count: Int? = null, val sponsor_user: PreviewBot? = null, val commission_per_mille: Int? = null, @@ -180,7 +183,8 @@ sealed interface TransactionPartner { subscriptionPeriod = subscription_period, paidMedia = paid_media, paidMediaPayload = paid_media_payload, - gift = gift + gift = gift, + premiumSubscriptionDuration = premium_subscription_duration, ) TelegramAPI.type -> TelegramAPI( data.request_count ?: return unknown, @@ -216,7 +220,8 @@ sealed interface TransactionPartner { subscription_period = subscriptionPeriod, paid_media = paidMedia, paid_media_payload = paidMediaPayload, - gift = gift + gift = gift, + premium_subscription_duration = premiumSubscriptionDuration, ) is TelegramAPI -> Surrogate(type = value.type, request_count = requestCount) is Fragment -> Surrogate(