1
0
mirror of https://github.com/InsanusMokrassar/TelegramBotAPI.git synced 2025-09-16 13:49:26 +00:00

more fixes

This commit is contained in:
2024-09-08 02:18:05 +06:00
parent 2e2abb8e15
commit b3dfef9a38
5 changed files with 62 additions and 2 deletions

View File

@@ -59,6 +59,27 @@ sealed interface ChatBoostSource {
get() = !unclaimed
val prizeStarCount: Int?
@Serializable(ChatBoostSource.Companion::class)
data class Created(
@SerialName(giveawayMessageIdField)
override val messageId: MessageId,
@SerialName(prizeStarCountField)
override val prizeStarCount: Int?
) : Giveaway {
@Required
@EncodeDefault
@SerialName(sourceField)
override val sourceName: String = Giveaway.sourceCode
@Required
@EncodeDefault
@SerialName(isUnclaimedField)
override val unclaimed: Boolean = false
@SerialName(userField)
@EncodeDefault
override val user: PreviewUser?
get() = null
}
@Serializable(ChatBoostSource.Companion::class)
data class Claimed(
@SerialName(giveawayMessageIdField)
@@ -120,7 +141,7 @@ sealed interface ChatBoostSource {
@SerialName(giveawayMessageIdField)
val messageId: MessageId? = null,
@SerialName(isUnclaimedField)
val unclaimed: Boolean? = null,
val unclaimed: Boolean = false,
@SerialName(prizeStarCountField)
val prizeStarCount: Int? = null
)
@@ -153,6 +174,10 @@ sealed interface ChatBoostSource {
surrogate.user,
surrogate.prizeStarCount
)
surrogate.user == null && surrogate.unclaimed == false -> Giveaway.Created(
surrogate.messageId,
surrogate.prizeStarCount
)
surrogate.unclaimed == true -> Giveaway.Unclaimed(
surrogate.messageId,
surrogate.prizeStarCount
@@ -174,7 +199,7 @@ sealed interface ChatBoostSource {
value.sourceName,
value.user,
(value as? Giveaway) ?.messageId,
(value as? Giveaway) ?.unclaimed,
(value as? Giveaway) ?.unclaimed ?: false,
(value as? Giveaway) ?.prizeStarCount
)

View File

@@ -22,6 +22,7 @@ sealed interface GiveawayCreated : ChatEvent, PublicChatEvent {
object Serializer : KSerializer<GiveawayCreated> {
@Serializable
private data class Surrogate(
@SerialName(prizeStarCountField)
val prizeStarCount: Int? = null
)