From d2395e836cbb7bdedac12820647292ed9eb36650 Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Sat, 10 May 2025 10:35:26 +0600 Subject: [PATCH] add support of setBusinessAccountGiftSettings --- tgbotapi.api/api/tgbotapi.api.api | 5 +++ .../SetBusinessAccountGiftSettings.kt | 35 ++++++++++++++++ tgbotapi.core/api/tgbotapi.core.api | 35 ++++++++++++++++ .../SetBusinessAccountGiftSettings.kt | 41 +++++++++++++++++++ .../kotlin/dev/inmo/tgbotapi/types/Common.kt | 1 + 5 files changed, 117 insertions(+) create mode 100644 tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/SetBusinessAccountGiftSettings.kt create mode 100644 tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/business_connection/SetBusinessAccountGiftSettings.kt diff --git a/tgbotapi.api/api/tgbotapi.api.api b/tgbotapi.api/api/tgbotapi.api.api index b9fc8fdb6a..335886a40a 100644 --- a/tgbotapi.api/api/tgbotapi.api.api +++ b/tgbotapi.api/api/tgbotapi.api.api @@ -359,6 +359,11 @@ public final class dev/inmo/tgbotapi/extensions/api/business/SetBusinessAccountB public static final fun setBusinessAccountBio-wC12z2M (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/lang/String;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; } +public final class dev/inmo/tgbotapi/extensions/api/business/SetBusinessAccountGiftSettingsKt { + public static final fun setBusinessAccountGiftSettings (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/message/abstracts/BusinessContentMessage;ZLdev/inmo/tgbotapi/types/gifts/AcceptedGiftTypes;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun setBusinessAccountGiftSettings-XzFA9qU (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/lang/String;ZLdev/inmo/tgbotapi/types/gifts/AcceptedGiftTypes;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + public final class dev/inmo/tgbotapi/extensions/api/business/SetBusinessAccountNameKt { public static final fun setBusinessAccountName-XzFA9qU (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static synthetic fun setBusinessAccountName-XzFA9qU$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/SetBusinessAccountGiftSettings.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/SetBusinessAccountGiftSettings.kt new file mode 100644 index 0000000000..2a80445d1c --- /dev/null +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/SetBusinessAccountGiftSettings.kt @@ -0,0 +1,35 @@ +package dev.inmo.tgbotapi.extensions.api.business + +import dev.inmo.tgbotapi.bot.TelegramBot +import dev.inmo.tgbotapi.requests.business_connection.SetBusinessAccountGiftSettings +import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId +import dev.inmo.tgbotapi.types.gifts.AcceptedGiftTypes +import dev.inmo.tgbotapi.types.message.abstracts.BusinessContentMessage + +/** + * Sets the gift settings for a business account + */ +public suspend fun TelegramBot.setBusinessAccountGiftSettings( + businessConnectionId: BusinessConnectionId, + showGiftButton: Boolean, + acceptedGiftTypes: AcceptedGiftTypes +): Boolean = execute( + SetBusinessAccountGiftSettings( + businessConnectionId = businessConnectionId, + showGiftButton = showGiftButton, + acceptedGiftTypes = acceptedGiftTypes + ) +) + +/** + * Sets the gift settings for a business account using business message context + */ +public suspend fun TelegramBot.setBusinessAccountGiftSettings( + message: BusinessContentMessage<*>, + showGiftButton: Boolean, + acceptedGiftTypes: AcceptedGiftTypes +): Boolean = setBusinessAccountGiftSettings( + businessConnectionId = message.businessConnectionId, + showGiftButton = showGiftButton, + acceptedGiftTypes = acceptedGiftTypes +) \ No newline at end of file diff --git a/tgbotapi.core/api/tgbotapi.core.api b/tgbotapi.core/api/tgbotapi.core.api index 80cca3dada..8031683d8d 100644 --- a/tgbotapi.core/api/tgbotapi.core.api +++ b/tgbotapi.core/api/tgbotapi.core.api @@ -2094,6 +2094,40 @@ 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/SetBusinessAccountGiftSettings : dev/inmo/tgbotapi/requests/abstracts/BusinessRequest$Simple { + public static final field Companion Ldev/inmo/tgbotapi/requests/business_connection/SetBusinessAccountGiftSettings$Companion; + public synthetic fun (Ljava/lang/String;ZLdev/inmo/tgbotapi/types/gifts/AcceptedGiftTypes;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1-T-_HSQI ()Ljava/lang/String; + public final fun component2 ()Z + public final fun component3 ()Ldev/inmo/tgbotapi/types/gifts/AcceptedGiftTypes; + public final fun copy-LpiUw8E (Ljava/lang/String;ZLdev/inmo/tgbotapi/types/gifts/AcceptedGiftTypes;)Ldev/inmo/tgbotapi/requests/business_connection/SetBusinessAccountGiftSettings; + public static synthetic fun copy-LpiUw8E$default (Ldev/inmo/tgbotapi/requests/business_connection/SetBusinessAccountGiftSettings;Ljava/lang/String;ZLdev/inmo/tgbotapi/types/gifts/AcceptedGiftTypes;ILjava/lang/Object;)Ldev/inmo/tgbotapi/requests/business_connection/SetBusinessAccountGiftSettings; + public fun equals (Ljava/lang/Object;)Z + public final fun getAcceptedGiftTypes ()Ldev/inmo/tgbotapi/types/gifts/AcceptedGiftTypes; + public fun getBusinessConnectionId-T-_HSQI ()Ljava/lang/String; + public synthetic fun getBusinessConnectionId-nXr5wdE ()Ljava/lang/String; + public fun getRequestSerializer ()Lkotlinx/serialization/SerializationStrategy; + public fun getResultDeserializer ()Lkotlinx/serialization/DeserializationStrategy; + public final fun getShowGiftButton ()Z + public fun hashCode ()I + public fun method ()Ljava/lang/String; + public fun toString ()Ljava/lang/String; +} + +public synthetic class dev/inmo/tgbotapi/requests/business_connection/SetBusinessAccountGiftSettings$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/requests/business_connection/SetBusinessAccountGiftSettings$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/requests/business_connection/SetBusinessAccountGiftSettings; + 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/SetBusinessAccountGiftSettings;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V +} + +public final class dev/inmo/tgbotapi/requests/business_connection/SetBusinessAccountGiftSettings$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + public final class dev/inmo/tgbotapi/requests/business_connection/SetBusinessAccountName : dev/inmo/tgbotapi/requests/abstracts/BusinessRequest$Simple { public static final field Companion Ldev/inmo/tgbotapi/requests/business_connection/SetBusinessAccountName$Companion; public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V @@ -9718,6 +9752,7 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final field showAboveTextField Ljava/lang/String; public static final field showAlertField Ljava/lang/String; public static final field showCaptionAboveMediaField Ljava/lang/String; + public static final field showGiftButtonField Ljava/lang/String; public static final field slowModeDelayField Ljava/lang/String; public static final field smallFileIdField Ljava/lang/String; public static final field smallFileUniqueIdField Ljava/lang/String; diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/business_connection/SetBusinessAccountGiftSettings.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/business_connection/SetBusinessAccountGiftSettings.kt new file mode 100644 index 0000000000..5f47eabbb6 --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/business_connection/SetBusinessAccountGiftSettings.kt @@ -0,0 +1,41 @@ +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.acceptedGiftTypesField +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.gifts.AcceptedGiftTypes +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.showGiftButtonField +import dev.inmo.tgbotapi.types.usernameField +import kotlinx.serialization.DeserializationStrategy +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable +import kotlinx.serialization.SerializationStrategy +import kotlinx.serialization.builtins.serializer + +@Serializable +data class SetBusinessAccountGiftSettings( + @SerialName(businessConnectionIdField) + override val businessConnectionId: BusinessConnectionId, + @SerialName(showGiftButtonField) + val showGiftButton: Boolean, + @SerialName(acceptedGiftTypesField) + val acceptedGiftTypes: AcceptedGiftTypes +) : BusinessRequest.Simple { + override fun method(): String = "setBusinessAccountGiftSettings" + + override val resultDeserializer: DeserializationStrategy + get() = Boolean.serializer() + override val requestSerializer: SerializationStrategy<*> + get() = serializer() +} \ No newline at end of file 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 be8b1c8109..2cbc68fbe9 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 @@ -729,6 +729,7 @@ const val businessLocationField = "business_location" const val businessOpeningHoursField = "business_opening_hours" const val storyIdField = "story_id" +const val showGiftButtonField = "show_gift_button" const val colorField = "color" const val colorsField = "colors"