1
0
mirror of https://github.com/InsanusMokrassar/TelegramBotAPI.git synced 2025-09-03 07:09:23 +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 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 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;

View File

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

View File

@@ -7,6 +7,7 @@ import dev.inmo.tgbotapi.utils.RiskFeature
import dev.inmo.tgbotapi.utils.internal.ClassCastsIncluded
import kotlinx.serialization.KSerializer
import kotlinx.serialization.Serializable
import kotlinx.serialization.builtins.serializer
import kotlinx.serialization.descriptors.SerialDescriptor
import kotlinx.serialization.encoding.Decoder
import kotlinx.serialization.encoding.Encoder
@@ -148,6 +149,11 @@ value class Username (
}
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 "@".
*