mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2026-03-03 17:32:23 +00:00
add rarity support
This commit is contained in:
@@ -10747,6 +10747,7 @@ public final class dev/inmo/tgbotapi/types/CommonKt {
|
||||
public static final field quoteField Ljava/lang/String;
|
||||
public static final field quoteParseModeField Ljava/lang/String;
|
||||
public static final field quotePositionField Ljava/lang/String;
|
||||
public static final field rarityField Ljava/lang/String;
|
||||
public static final field rarityPerMilleField Ljava/lang/String;
|
||||
public static final field ratingField Ljava/lang/String;
|
||||
public static final field rawField Ljava/lang/String;
|
||||
@@ -22230,6 +22231,73 @@ public final class dev/inmo/tgbotapi/types/gifts/Gifts$Companion {
|
||||
public final fun serializer ()Lkotlinx/serialization/KSerializer;
|
||||
}
|
||||
|
||||
public abstract interface class dev/inmo/tgbotapi/types/gifts/Rarity {
|
||||
public static final field Companion Ldev/inmo/tgbotapi/types/gifts/Rarity$Companion;
|
||||
public abstract fun getName ()Ljava/lang/String;
|
||||
}
|
||||
|
||||
public final class dev/inmo/tgbotapi/types/gifts/Rarity$Companion : kotlinx/serialization/KSerializer {
|
||||
public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/gifts/Rarity;
|
||||
public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
|
||||
public final fun fromString (Ljava/lang/String;)Ldev/inmo/tgbotapi/types/gifts/Rarity;
|
||||
public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
|
||||
public fun serialize (Lkotlinx/serialization/encoding/Encoder;Ldev/inmo/tgbotapi/types/gifts/Rarity;)V
|
||||
public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
|
||||
public final fun serializer ()Lkotlinx/serialization/KSerializer;
|
||||
}
|
||||
|
||||
public final class dev/inmo/tgbotapi/types/gifts/Rarity$Custom : dev/inmo/tgbotapi/types/gifts/Rarity {
|
||||
public static final field Companion Ldev/inmo/tgbotapi/types/gifts/Rarity$Custom$Companion;
|
||||
public fun <init> (Ljava/lang/String;)V
|
||||
public final fun component1 ()Ljava/lang/String;
|
||||
public final fun copy (Ljava/lang/String;)Ldev/inmo/tgbotapi/types/gifts/Rarity$Custom;
|
||||
public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/gifts/Rarity$Custom;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/gifts/Rarity$Custom;
|
||||
public fun equals (Ljava/lang/Object;)Z
|
||||
public fun getName ()Ljava/lang/String;
|
||||
public fun hashCode ()I
|
||||
public fun toString ()Ljava/lang/String;
|
||||
}
|
||||
|
||||
public final class dev/inmo/tgbotapi/types/gifts/Rarity$Custom$Companion {
|
||||
public final fun serializer ()Lkotlinx/serialization/KSerializer;
|
||||
}
|
||||
|
||||
public final class dev/inmo/tgbotapi/types/gifts/Rarity$Epic : dev/inmo/tgbotapi/types/gifts/Rarity {
|
||||
public static final field INSTANCE Ldev/inmo/tgbotapi/types/gifts/Rarity$Epic;
|
||||
public fun equals (Ljava/lang/Object;)Z
|
||||
public fun getName ()Ljava/lang/String;
|
||||
public fun hashCode ()I
|
||||
public final fun serializer ()Lkotlinx/serialization/KSerializer;
|
||||
public fun toString ()Ljava/lang/String;
|
||||
}
|
||||
|
||||
public final class dev/inmo/tgbotapi/types/gifts/Rarity$Legendary : dev/inmo/tgbotapi/types/gifts/Rarity {
|
||||
public static final field INSTANCE Ldev/inmo/tgbotapi/types/gifts/Rarity$Legendary;
|
||||
public fun equals (Ljava/lang/Object;)Z
|
||||
public fun getName ()Ljava/lang/String;
|
||||
public fun hashCode ()I
|
||||
public final fun serializer ()Lkotlinx/serialization/KSerializer;
|
||||
public fun toString ()Ljava/lang/String;
|
||||
}
|
||||
|
||||
public final class dev/inmo/tgbotapi/types/gifts/Rarity$Rare : dev/inmo/tgbotapi/types/gifts/Rarity {
|
||||
public static final field INSTANCE Ldev/inmo/tgbotapi/types/gifts/Rarity$Rare;
|
||||
public fun equals (Ljava/lang/Object;)Z
|
||||
public fun getName ()Ljava/lang/String;
|
||||
public fun hashCode ()I
|
||||
public final fun serializer ()Lkotlinx/serialization/KSerializer;
|
||||
public fun toString ()Ljava/lang/String;
|
||||
}
|
||||
|
||||
public final class dev/inmo/tgbotapi/types/gifts/Rarity$Uncommon : dev/inmo/tgbotapi/types/gifts/Rarity {
|
||||
public static final field INSTANCE Ldev/inmo/tgbotapi/types/gifts/Rarity$Uncommon;
|
||||
public fun equals (Ljava/lang/Object;)Z
|
||||
public fun getName ()Ljava/lang/String;
|
||||
public fun hashCode ()I
|
||||
public final fun serializer ()Lkotlinx/serialization/KSerializer;
|
||||
public fun toString ()Ljava/lang/String;
|
||||
}
|
||||
|
||||
public final class dev/inmo/tgbotapi/types/gifts/unique/UniqueGiftBackdrop {
|
||||
public static final field Companion Ldev/inmo/tgbotapi/types/gifts/unique/UniqueGiftBackdrop$Companion;
|
||||
public fun <init> (Ljava/lang/String;Ldev/inmo/tgbotapi/types/gifts/unique/UniqueGiftBackdropColors;I)V
|
||||
@@ -22333,14 +22401,16 @@ public final class dev/inmo/tgbotapi/types/gifts/unique/UniqueGiftColors$Compani
|
||||
|
||||
public final class dev/inmo/tgbotapi/types/gifts/unique/UniqueGiftModel {
|
||||
public static final field Companion Ldev/inmo/tgbotapi/types/gifts/unique/UniqueGiftModel$Companion;
|
||||
public fun <init> (Ljava/lang/String;Ldev/inmo/tgbotapi/types/files/Sticker;I)V
|
||||
public fun <init> (Ljava/lang/String;Ldev/inmo/tgbotapi/types/files/Sticker;ILdev/inmo/tgbotapi/types/gifts/Rarity;)V
|
||||
public final fun component1 ()Ljava/lang/String;
|
||||
public final fun component2 ()Ldev/inmo/tgbotapi/types/files/Sticker;
|
||||
public final fun component3 ()I
|
||||
public final fun copy (Ljava/lang/String;Ldev/inmo/tgbotapi/types/files/Sticker;I)Ldev/inmo/tgbotapi/types/gifts/unique/UniqueGiftModel;
|
||||
public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/gifts/unique/UniqueGiftModel;Ljava/lang/String;Ldev/inmo/tgbotapi/types/files/Sticker;IILjava/lang/Object;)Ldev/inmo/tgbotapi/types/gifts/unique/UniqueGiftModel;
|
||||
public final fun component4 ()Ldev/inmo/tgbotapi/types/gifts/Rarity;
|
||||
public final fun copy (Ljava/lang/String;Ldev/inmo/tgbotapi/types/files/Sticker;ILdev/inmo/tgbotapi/types/gifts/Rarity;)Ldev/inmo/tgbotapi/types/gifts/unique/UniqueGiftModel;
|
||||
public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/gifts/unique/UniqueGiftModel;Ljava/lang/String;Ldev/inmo/tgbotapi/types/files/Sticker;ILdev/inmo/tgbotapi/types/gifts/Rarity;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/gifts/unique/UniqueGiftModel;
|
||||
public fun equals (Ljava/lang/Object;)Z
|
||||
public final fun getName ()Ljava/lang/String;
|
||||
public final fun getRarity ()Ldev/inmo/tgbotapi/types/gifts/Rarity;
|
||||
public final fun getRarityPerMille ()I
|
||||
public final fun getSticker ()Ldev/inmo/tgbotapi/types/files/Sticker;
|
||||
public fun hashCode ()I
|
||||
|
||||
@@ -546,6 +546,7 @@ const val giftField = "gift"
|
||||
const val giftUpgradeSentField = "gift_upgrade_sent"
|
||||
const val giftsField = "gifts"
|
||||
const val rarityPerMilleField = "rarity_per_mille"
|
||||
const val rarityField = "rarity"
|
||||
const val acceptedGiftTypesField = "accepted_gift_types"
|
||||
const val ownedGiftIdField = "owned_gift_id"
|
||||
const val convertStarCountField = "convert_star_count"
|
||||
@@ -754,7 +755,6 @@ const val paidMediaField = "paid_media"
|
||||
const val publisherChatField = "publisher_chat"
|
||||
const val personalTotalCountField = "personal_total_count"
|
||||
const val personalRemainingCountField = "personal_remaining_count"
|
||||
const val isPremiumField2 = "is_premium"
|
||||
const val hasColorsField = "has_colors"
|
||||
const val uniqueGiftVariantCountField = "unique_gift_variant_count"
|
||||
const val uniqueGiftNumberField = "unique_gift_number"
|
||||
|
||||
@@ -49,7 +49,7 @@ sealed interface Gift {
|
||||
override val personalTotalCount: Int? = null,
|
||||
@SerialName(personalRemainingCountField)
|
||||
override val personalRemainingCount: Int? = null,
|
||||
@SerialName(isPremiumField2)
|
||||
@SerialName(isPremiumField)
|
||||
override val isPremium: Boolean = false,
|
||||
@SerialName(hasColorsField)
|
||||
override val hasColors: Boolean = false,
|
||||
@@ -84,7 +84,7 @@ sealed interface Gift {
|
||||
override val personalTotalCount: Int? = null,
|
||||
@SerialName(personalRemainingCountField)
|
||||
override val personalRemainingCount: Int? = null,
|
||||
@SerialName(isPremiumField2)
|
||||
@SerialName(isPremiumField)
|
||||
override val isPremium: Boolean = false,
|
||||
@SerialName(hasColorsField)
|
||||
override val hasColors: Boolean = false,
|
||||
@@ -193,7 +193,7 @@ sealed interface Gift {
|
||||
override val publisherChat: PreviewChat? = null,
|
||||
@SerialName(isFromBlockchainField)
|
||||
val isFromBlockchain: Boolean = false,
|
||||
@SerialName(isPremiumField2)
|
||||
@SerialName(isPremiumField)
|
||||
val isPremium: Boolean = false,
|
||||
@SerialName(colorsField)
|
||||
val colors: UniqueGiftColors? = null
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
package dev.inmo.tgbotapi.types.gifts
|
||||
|
||||
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
|
||||
|
||||
@Serializable(Rarity.Companion::class)
|
||||
sealed interface Rarity {
|
||||
val name: String
|
||||
|
||||
@Suppress("SERIALIZER_TYPE_INCOMPATIBLE")
|
||||
@Serializable(Rarity.Companion::class)
|
||||
data object Uncommon : Rarity { override val name: String = "uncommon" }
|
||||
@Suppress("SERIALIZER_TYPE_INCOMPATIBLE")
|
||||
@Serializable(Rarity.Companion::class)
|
||||
data object Rare : Rarity { override val name: String = "rare" }
|
||||
@Suppress("SERIALIZER_TYPE_INCOMPATIBLE")
|
||||
@Serializable(Rarity.Companion::class)
|
||||
data object Epic : Rarity { override val name: String = "epic" }
|
||||
@Suppress("SERIALIZER_TYPE_INCOMPATIBLE")
|
||||
@Serializable(Rarity.Companion::class)
|
||||
data object Legendary : Rarity { override val name: String = "legendary" }
|
||||
@Suppress("SERIALIZER_TYPE_INCOMPATIBLE")
|
||||
@Serializable(Rarity.Companion::class)
|
||||
data class Custom(override val name: String) : Rarity
|
||||
|
||||
companion object : KSerializer<Rarity> {
|
||||
override val descriptor: SerialDescriptor = String.serializer().descriptor
|
||||
|
||||
fun fromString(value: String): Rarity = when (value) {
|
||||
Uncommon.name -> Uncommon
|
||||
Rare.name -> Rare
|
||||
Epic.name -> Epic
|
||||
Legendary.name -> Legendary
|
||||
else -> Custom(value)
|
||||
}
|
||||
|
||||
override fun deserialize(decoder: Decoder): Rarity {
|
||||
val value = decoder.decodeString()
|
||||
return fromString(value)
|
||||
}
|
||||
|
||||
override fun serialize(
|
||||
encoder: Encoder,
|
||||
value: Rarity
|
||||
) {
|
||||
encoder.encodeString(value.name)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,9 @@
|
||||
package dev.inmo.tgbotapi.types.gifts.unique
|
||||
|
||||
import dev.inmo.tgbotapi.types.files.Sticker
|
||||
import dev.inmo.tgbotapi.types.gifts.Rarity
|
||||
import dev.inmo.tgbotapi.types.nameField
|
||||
import dev.inmo.tgbotapi.types.rarityField
|
||||
import dev.inmo.tgbotapi.types.rarityPerMilleField
|
||||
import dev.inmo.tgbotapi.types.stickerField
|
||||
import kotlinx.serialization.SerialName
|
||||
@@ -15,5 +17,7 @@ data class UniqueGiftModel(
|
||||
@SerialName(stickerField)
|
||||
val sticker: Sticker,
|
||||
@SerialName(rarityPerMilleField)
|
||||
val rarityPerMille: Int
|
||||
val rarityPerMille: Int,
|
||||
@SerialName(rarityField)
|
||||
val rarity: Rarity
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user