mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2026-05-24 01:07:25 +00:00
fix of username encoding in KeyboardButtonRequestManagedBot
This commit is contained in:
@@ -35061,3 +35061,12 @@ public final class dev/inmo/tgbotapi/utils/serializers/UnitFromBooleanSerializer
|
|||||||
public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lkotlin/Unit;)V
|
public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lkotlin/Unit;)V
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final class dev/inmo/tgbotapi/utils/serializers/UsernameAtLessSerializer : kotlinx/serialization/KSerializer {
|
||||||
|
public static final field INSTANCE Ldev/inmo/tgbotapi/utils/serializers/UsernameAtLessSerializer;
|
||||||
|
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
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package dev.inmo.tgbotapi.types.buttons
|
|||||||
|
|
||||||
import dev.inmo.tgbotapi.types.*
|
import dev.inmo.tgbotapi.types.*
|
||||||
import dev.inmo.tgbotapi.types.request.RequestId
|
import dev.inmo.tgbotapi.types.request.RequestId
|
||||||
|
import dev.inmo.tgbotapi.utils.serializers.UsernameAtLessSerializer
|
||||||
import kotlinx.serialization.SerialName
|
import kotlinx.serialization.SerialName
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@@ -17,6 +18,16 @@ data class KeyboardButtonRequestManagedBot(
|
|||||||
@SerialName(suggestedNameField)
|
@SerialName(suggestedNameField)
|
||||||
val suggestedName: String? = null,
|
val suggestedName: String? = null,
|
||||||
@SerialName(suggestedUsernameField)
|
@SerialName(suggestedUsernameField)
|
||||||
|
@Serializable(UsernameAtLessSerializer::class)
|
||||||
val suggestedUsername: Username? = null
|
val suggestedUsername: Username? = null
|
||||||
)
|
)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A type alias for the `KeyboardButtonRequestManagedBot` class representing the parameters
|
||||||
|
* for managing a bot request in a keyboard button.
|
||||||
|
*
|
||||||
|
* This type encapsulates properties such as:
|
||||||
|
* - A unique request identifier (`requestId`).
|
||||||
|
* - Suggested name and username for the bot (`suggestedName` and `suggestedUsername`).
|
||||||
|
*/
|
||||||
|
typealias RequestManagedBotParameters = KeyboardButtonRequestManagedBot
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
package dev.inmo.tgbotapi.utils.serializers
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.types.Username
|
||||||
|
import kotlinx.serialization.KSerializer
|
||||||
|
import kotlinx.serialization.builtins.serializer
|
||||||
|
import kotlinx.serialization.descriptors.SerialDescriptor
|
||||||
|
import kotlinx.serialization.encoding.Decoder
|
||||||
|
import kotlinx.serialization.encoding.Encoder
|
||||||
|
|
||||||
|
object UsernameAtLessSerializer : KSerializer<Username> {
|
||||||
|
override val descriptor: SerialDescriptor
|
||||||
|
get() = String.serializer().descriptor
|
||||||
|
|
||||||
|
override fun serialize(encoder: Encoder, value: Username) {
|
||||||
|
value.withoutAt.let(encoder::encodeString)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun deserialize(decoder: Decoder): Username {
|
||||||
|
return Username.prepare(decoder.decodeString())
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user