From 1bde43ceafd41e22d01be01d3d082736f23e76a5 Mon Sep 17 00:00:00 2001 From: bpavuk <75901693+bpavuk@users.noreply.github.com> Date: Wed, 16 Apr 2025 18:51:55 +0300 Subject: [PATCH] feat: added the transactionType field to TransactionPartner.User --- .../src/commonMain/kotlin/dev/inmo/tgbotapi/types/Common.kt | 1 + .../inmo/tgbotapi/types/payments/stars/TransactionPartner.kt | 5 +++++ 2 files changed, 6 insertions(+) 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 a4f66e4677..246f00cd9a 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 @@ -487,6 +487,7 @@ const val optionsField = "options" const val payField = "pay" const val permissionsField = "permissions" const val premiumSubscriptionDurationField = "premium_subscription_duration" +const val transactionTypeField = "transaction_type" 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 f87634706a..44929af278 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 @@ -63,6 +63,8 @@ sealed interface TransactionPartner { val gift: Gift? = null, @SerialName(premiumSubscriptionDurationField) val premiumSubscriptionDuration: Int? = null, + @SerialName(transactionTypeField) + val transactionType: String, ) : TransactionPartner, SubscriptionPeriodInfo { @EncodeDefault override val type: String = Companion.type @@ -154,6 +156,7 @@ sealed interface TransactionPartner { val paid_media_payload: PaidMediaPayload? = null, val gift: Gift? = null, val premium_subscription_duration: Int? = null, + val transaction_type: String? = null, val request_count: Int? = null, val sponsor_user: PreviewBot? = null, val commission_per_mille: Int? = null, @@ -185,6 +188,7 @@ sealed interface TransactionPartner { paidMediaPayload = paid_media_payload, gift = gift, premiumSubscriptionDuration = premium_subscription_duration, + transactionType = transaction_type ?: return unknown, ) TelegramAPI.type -> TelegramAPI( data.request_count ?: return unknown, @@ -222,6 +226,7 @@ sealed interface TransactionPartner { paid_media_payload = paidMediaPayload, gift = gift, premium_subscription_duration = premiumSubscriptionDuration, + transaction_type = transactionType ) is TelegramAPI -> Surrogate(type = value.type, request_count = requestCount) is Fragment -> Surrogate(