From dab5e072d01286a49e2a5a883037bf629656953b Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Sun, 1 Jun 2025 21:47:40 +0600 Subject: [PATCH] fixes in GiftPremiumSubscription and TransferBusinessAccountStars --- tgbotapi.api/api/tgbotapi.api.api | 4 ++- .../TransferBusinessAccountStarBalance.kt | 7 ++--- .../api/gifts/GiftPremiumSubscription.kt | 29 +++++++++++++++++-- tgbotapi.core/api/tgbotapi.core.api | 18 ++++++------ ...nce.kt => TransferBusinessAccountStars.kt} | 15 +--------- .../types/payments/stars/TransactionType.kt | 6 ++++ 6 files changed, 49 insertions(+), 30 deletions(-) rename tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/business_connection/{TransferBusinessAccountStarBalance.kt => TransferBusinessAccountStars.kt} (60%) diff --git a/tgbotapi.api/api/tgbotapi.api.api b/tgbotapi.api/api/tgbotapi.api.api index 9264076a8a..591577b890 100644 --- a/tgbotapi.api/api/tgbotapi.api.api +++ b/tgbotapi.api/api/tgbotapi.api.api @@ -396,7 +396,7 @@ public final class dev/inmo/tgbotapi/extensions/api/business/SetBusinessAccountU } public final class dev/inmo/tgbotapi/extensions/api/business/TransferBusinessAccountStarBalanceKt { - public static final fun transferBusinessAccountStarBalance-wC12z2M (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/lang/String;ILkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun transferBusinessAccountStars-wC12z2M (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/lang/String;ILkotlin/coroutines/Continuation;)Ljava/lang/Object; } public final class dev/inmo/tgbotapi/extensions/api/business/TransferGiftKt { @@ -1172,7 +1172,9 @@ public final class dev/inmo/tgbotapi/extensions/api/gifts/GetAvailableGiftsKt { } public final class dev/inmo/tgbotapi/extensions/api/gifts/GiftPremiumSubscriptionKt { + public static final fun giftPremiumSubscription-VjR9mJc (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JIILdev/inmo/tgbotapi/types/message/textsources/TextSource;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static final fun giftPremiumSubscription-VjR9mJc (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JIILjava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun giftPremiumSubscription-VjR9mJc$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JIILdev/inmo/tgbotapi/types/message/textsources/TextSource;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; public static synthetic fun giftPremiumSubscription-VjR9mJc$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JIILjava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; public static final fun giftPremiumSubscription-ySMgKnk (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JIILjava/util/List;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static synthetic fun giftPremiumSubscription-ySMgKnk$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JIILjava/util/List;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/TransferBusinessAccountStarBalance.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/TransferBusinessAccountStarBalance.kt index 2f6a3f29a2..2b0430fd87 100644 --- a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/TransferBusinessAccountStarBalance.kt +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/TransferBusinessAccountStarBalance.kt @@ -1,13 +1,12 @@ package dev.inmo.tgbotapi.extensions.api.business import dev.inmo.tgbotapi.bot.TelegramBot -import dev.inmo.tgbotapi.requests.business_connection.TransferBusinessAccountStarBalance +import dev.inmo.tgbotapi.requests.business_connection.TransferBusinessAccountStars import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId -import dev.inmo.tgbotapi.types.payments.stars.StarAmount -public suspend fun TelegramBot.transferBusinessAccountStarBalance( +public suspend fun TelegramBot.transferBusinessAccountStars( businessConnectionId: BusinessConnectionId, amount: Int ): Boolean = execute( - TransferBusinessAccountStarBalance(businessConnectionId, amount) + TransferBusinessAccountStars(businessConnectionId, amount) ) \ No newline at end of file diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/gifts/GiftPremiumSubscription.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/gifts/GiftPremiumSubscription.kt index 4fdacd6412..f37d852c2e 100644 --- a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/gifts/GiftPremiumSubscription.kt +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/gifts/GiftPremiumSubscription.kt @@ -4,7 +4,10 @@ import dev.inmo.tgbotapi.bot.TelegramBot import dev.inmo.tgbotapi.requests.gifts.GiftPremiumSubscription import dev.inmo.tgbotapi.types.UserId import dev.inmo.tgbotapi.types.message.ParseMode +import dev.inmo.tgbotapi.types.message.textsources.TextSource import dev.inmo.tgbotapi.types.message.textsources.TextSourcesList +import dev.inmo.tgbotapi.utils.EntitiesBuilderBody +import dev.inmo.tgbotapi.utils.buildEntities public suspend fun TelegramBot.giftPremiumSubscription( userId: UserId, @@ -14,7 +17,11 @@ public suspend fun TelegramBot.giftPremiumSubscription( parseMode: ParseMode? = null ): Boolean = execute( GiftPremiumSubscription( - userId, monthCount, starCount, text, parseMode + userId = userId, + monthCount = monthCount, + starCount = starCount, + text = text, + parseMode = parseMode ) ) @@ -25,6 +32,24 @@ public suspend fun TelegramBot.giftPremiumSubscription( textSources: TextSourcesList? = null, ): Boolean = execute( GiftPremiumSubscription( - userId, monthCount, starCount, textSources + userId = userId, + monthCount = monthCount, + starCount = starCount, + textSources = textSources + ) +) + +public suspend fun TelegramBot.giftPremiumSubscription( + userId: UserId, + monthCount: Int, + starCount: Int, + separator: TextSource? = null, + textBuilder: EntitiesBuilderBody +): Boolean = execute( + GiftPremiumSubscription( + userId = userId, + monthCount = monthCount, + starCount = starCount, + textSources = buildEntities(separator, textBuilder), ) ) diff --git a/tgbotapi.core/api/tgbotapi.core.api b/tgbotapi.core/api/tgbotapi.core.api index c67cf377ea..15d1cc1d36 100644 --- a/tgbotapi.core/api/tgbotapi.core.api +++ b/tgbotapi.core/api/tgbotapi.core.api @@ -2313,13 +2313,13 @@ public final class dev/inmo/tgbotapi/requests/business_connection/SetBusinessAcc public final fun serializer ()Lkotlinx/serialization/KSerializer; } -public final class dev/inmo/tgbotapi/requests/business_connection/TransferBusinessAccountStarBalance : dev/inmo/tgbotapi/requests/abstracts/BusinessRequest$Simple { - public static final field Companion Ldev/inmo/tgbotapi/requests/business_connection/TransferBusinessAccountStarBalance$Companion; +public final class dev/inmo/tgbotapi/requests/business_connection/TransferBusinessAccountStars : dev/inmo/tgbotapi/requests/abstracts/BusinessRequest$Simple { + public static final field Companion Ldev/inmo/tgbotapi/requests/business_connection/TransferBusinessAccountStars$Companion; public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1-T-_HSQI ()Ljava/lang/String; public final fun component2 ()I - public final fun copy-8asU4bo (Ljava/lang/String;I)Ldev/inmo/tgbotapi/requests/business_connection/TransferBusinessAccountStarBalance; - public static synthetic fun copy-8asU4bo$default (Ldev/inmo/tgbotapi/requests/business_connection/TransferBusinessAccountStarBalance;Ljava/lang/String;IILjava/lang/Object;)Ldev/inmo/tgbotapi/requests/business_connection/TransferBusinessAccountStarBalance; + public final fun copy-8asU4bo (Ljava/lang/String;I)Ldev/inmo/tgbotapi/requests/business_connection/TransferBusinessAccountStars; + public static synthetic fun copy-8asU4bo$default (Ldev/inmo/tgbotapi/requests/business_connection/TransferBusinessAccountStars;Ljava/lang/String;IILjava/lang/Object;)Ldev/inmo/tgbotapi/requests/business_connection/TransferBusinessAccountStars; public fun equals (Ljava/lang/Object;)Z public fun getBusinessConnectionId-T-_HSQI ()Ljava/lang/String; public synthetic fun getBusinessConnectionId-nXr5wdE ()Ljava/lang/String; @@ -2331,17 +2331,17 @@ public final class dev/inmo/tgbotapi/requests/business_connection/TransferBusine public fun toString ()Ljava/lang/String; } -public synthetic class dev/inmo/tgbotapi/requests/business_connection/TransferBusinessAccountStarBalance$$serializer : kotlinx/serialization/internal/GeneratedSerializer { - public static final field INSTANCE Ldev/inmo/tgbotapi/requests/business_connection/TransferBusinessAccountStarBalance$$serializer; +public synthetic class dev/inmo/tgbotapi/requests/business_connection/TransferBusinessAccountStars$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/requests/business_connection/TransferBusinessAccountStars$$serializer; public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/requests/business_connection/TransferBusinessAccountStarBalance; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/requests/business_connection/TransferBusinessAccountStars; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Ldev/inmo/tgbotapi/requests/business_connection/TransferBusinessAccountStarBalance;)V + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Ldev/inmo/tgbotapi/requests/business_connection/TransferBusinessAccountStars;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V } -public final class dev/inmo/tgbotapi/requests/business_connection/TransferBusinessAccountStarBalance$Companion { +public final class dev/inmo/tgbotapi/requests/business_connection/TransferBusinessAccountStars$Companion { public final fun serializer ()Lkotlinx/serialization/KSerializer; } diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/business_connection/TransferBusinessAccountStarBalance.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/business_connection/TransferBusinessAccountStars.kt similarity index 60% rename from tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/business_connection/TransferBusinessAccountStarBalance.kt rename to tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/business_connection/TransferBusinessAccountStars.kt index fad1e1b902..1ca4b17f81 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/business_connection/TransferBusinessAccountStarBalance.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/business_connection/TransferBusinessAccountStars.kt @@ -1,22 +1,9 @@ package dev.inmo.tgbotapi.requests.business_connection import dev.inmo.tgbotapi.requests.abstracts.BusinessRequest -import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest -import dev.inmo.tgbotapi.types.ChatId -import dev.inmo.tgbotapi.types.MessageId -import dev.inmo.tgbotapi.types.Username -import dev.inmo.tgbotapi.types.bioField import dev.inmo.tgbotapi.types.businessConnectionIdField import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId -import dev.inmo.tgbotapi.types.chatIdField -import dev.inmo.tgbotapi.types.firstNameField -import dev.inmo.tgbotapi.types.lastNameField -import dev.inmo.tgbotapi.types.message.RawMessage -import dev.inmo.tgbotapi.types.messageIdField -import dev.inmo.tgbotapi.types.messageIdsField -import dev.inmo.tgbotapi.types.payments.stars.StarAmount import dev.inmo.tgbotapi.types.starCountField -import dev.inmo.tgbotapi.types.usernameField import kotlinx.serialization.DeserializationStrategy import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable @@ -24,7 +11,7 @@ import kotlinx.serialization.SerializationStrategy import kotlinx.serialization.builtins.serializer @Serializable -data class TransferBusinessAccountStarBalance( +data class TransferBusinessAccountStars( @SerialName(businessConnectionIdField) override val businessConnectionId: BusinessConnectionId, @SerialName(starCountField) diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/payments/stars/TransactionType.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/payments/stars/TransactionType.kt index 3f3db056d1..443d4dfa91 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/payments/stars/TransactionType.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/payments/stars/TransactionType.kt @@ -1,5 +1,6 @@ package dev.inmo.tgbotapi.types.payments.stars +import kotlinx.serialization.EncodeDefault import kotlinx.serialization.KSerializer import kotlinx.serialization.Serializable import kotlinx.serialization.descriptors.PrimitiveKind @@ -15,26 +16,31 @@ sealed interface TransactionType { @Serializable data object InvoicePayment : TransactionType { + @EncodeDefault override val name = "invoice_payment" } @Serializable data object PaidMediaPayment : TransactionType { + @EncodeDefault override val name = "paid_media_payment" } @Serializable data object GiftPurchase : TransactionType { + @EncodeDefault override val name = "gift_purchase" } @Serializable data object PremiumPurchase : TransactionType { + @EncodeDefault override val name = "premium_purchase" } @Serializable data object BusinessAccountTransfer : TransactionType { + @EncodeDefault override val name = "business_account_transfer" }