mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2025-11-25 00:36:15 +00:00
one more fix in SetBusinessAccountUsername
This commit is contained in:
@@ -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()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 "@".
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user