1
0
mirror of https://github.com/InsanusMokrassar/TelegramBotAPI.git synced 2025-09-04 15:49:41 +00:00

one more fix in SetBusinessAccountUsername

This commit is contained in:
2025-05-25 19:24:18 +06:00
parent 8cd5659b7b
commit 8a351d5be0
3 changed files with 17 additions and 1 deletions

View File

@@ -13440,6 +13440,15 @@ public final class dev/inmo/tgbotapi/types/Username$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer; public final fun serializer ()Lkotlinx/serialization/KSerializer;
} }
public final class dev/inmo/tgbotapi/types/Username$Companion$WithoutAtSerializer : kotlinx/serialization/KSerializer {
public static final field INSTANCE Ldev/inmo/tgbotapi/types/Username$Companion$WithoutAtSerializer;
public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
public fun deserialize-BnpbnlE (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/String;
public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
public fun serialize-eC7Nk8U (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/String;)V
}
public final class dev/inmo/tgbotapi/types/WebAppQueryId { public final class dev/inmo/tgbotapi/types/WebAppQueryId {
public static final field Companion Ldev/inmo/tgbotapi/types/WebAppQueryId$Companion; public static final field Companion Ldev/inmo/tgbotapi/types/WebAppQueryId$Companion;
public static final synthetic fun box-impl (Ljava/lang/String;)Ldev/inmo/tgbotapi/types/WebAppQueryId; public static final synthetic fun box-impl (Ljava/lang/String;)Ldev/inmo/tgbotapi/types/WebAppQueryId;

View File

@@ -25,6 +25,7 @@ data class SetBusinessAccountUsername(
@SerialName(businessConnectionIdField) @SerialName(businessConnectionIdField)
override val businessConnectionId: BusinessConnectionId, override val businessConnectionId: BusinessConnectionId,
@SerialName(usernameField) @SerialName(usernameField)
@Serializable(Username.Companion.WithoutAtSerializer::class)
val username: Username val username: Username
) : BusinessRequest.Simple<Boolean> { ) : BusinessRequest.Simple<Boolean> {
override fun method(): String = "setBusinessAccountUsername" override fun method(): String = "setBusinessAccountUsername"
@@ -33,4 +34,4 @@ data class SetBusinessAccountUsername(
get() = Boolean.serializer() get() = Boolean.serializer()
override val requestSerializer: SerializationStrategy<*> override val requestSerializer: SerializationStrategy<*>
get() = serializer() get() = serializer()
} }

View File

@@ -7,6 +7,7 @@ import dev.inmo.tgbotapi.utils.RiskFeature
import dev.inmo.tgbotapi.utils.internal.ClassCastsIncluded import dev.inmo.tgbotapi.utils.internal.ClassCastsIncluded
import kotlinx.serialization.KSerializer import kotlinx.serialization.KSerializer
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable
import kotlinx.serialization.builtins.serializer
import kotlinx.serialization.descriptors.SerialDescriptor import kotlinx.serialization.descriptors.SerialDescriptor
import kotlinx.serialization.encoding.Decoder import kotlinx.serialization.encoding.Decoder
import kotlinx.serialization.encoding.Encoder import kotlinx.serialization.encoding.Encoder
@@ -148,6 +149,11 @@ value class Username (
} }
companion object { companion object {
object WithoutAtSerializer : KSerializer<Username> {
override val descriptor: SerialDescriptor = String.serializer().descriptor
override fun deserialize(decoder: Decoder): Username = Username.prepare(decoder.decodeString())
override fun serialize(encoder: Encoder, value: Username) = encoder.encodeString(value.withoutAt)
}
/** /**
* Prepares a valid instance of [Username] by ensuring the given string starts with "@". * Prepares a valid instance of [Username] by ensuring the given string starts with "@".
* *