mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2025-09-14 21:00:15 +00:00
fixes in typing of giveaways
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
package dev.inmo.tgbotapi.types.giveaway
|
||||
|
||||
import dev.inmo.tgbotapi.types.chat.PreviewChat
|
||||
import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.ChatEvent
|
||||
import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.PublicChatEvent
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
|
||||
import kotlinx.serialization.Serializable
|
||||
import kotlinx.serialization.Transient
|
||||
@@ -11,4 +13,4 @@ data class GiveawayPrivateResults(
|
||||
override val unclaimedCount: Int,
|
||||
@Transient // TODO::Add message serializer
|
||||
val message: AccessibleMessage? = null
|
||||
) : GiveawayResults
|
||||
) : GiveawayResults, ChatEvent, PublicChatEvent
|
||||
|
@@ -6,6 +6,6 @@ import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.PublicChatEvent
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
sealed interface GiveawayResults : WithPreviewChat, ChatEvent, PublicChatEvent {
|
||||
sealed interface GiveawayResults : WithPreviewChat {
|
||||
val unclaimedCount: Int
|
||||
}
|
||||
|
@@ -1,16 +1,19 @@
|
||||
package dev.inmo.tgbotapi.types.giveaway
|
||||
|
||||
import dev.inmo.micro_utils.language_codes.IetfLang
|
||||
import dev.inmo.tgbotapi.requests.abstracts.Request
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
|
||||
import dev.inmo.tgbotapi.types.chat.PreviewChat
|
||||
import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.ChannelEvent
|
||||
import dev.inmo.tgbotapi.types.giveaway.GiveawayInfo
|
||||
import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.ChatEvent
|
||||
import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.PublicChatEvent
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
data class Giveaway(
|
||||
data class ScheduledGiveaway(
|
||||
@SerialName(chatsField)
|
||||
val chats: List<PreviewChat>,
|
||||
@SerialName(winnersSelectionDateField)
|
||||
@@ -27,4 +30,4 @@ data class Giveaway(
|
||||
val countries: List<IetfLang>? = null,
|
||||
@SerialName(premiumSubscriptionMonthCountField)
|
||||
override val premiumMonths: Int? = null
|
||||
) : GiveawayInfo, ChatEvent, PublicChatEvent
|
||||
) : GiveawayInfo
|
@@ -9,10 +9,8 @@ import dev.inmo.tgbotapi.types.dice.Dice
|
||||
import dev.inmo.tgbotapi.types.files.*
|
||||
import dev.inmo.tgbotapi.types.files.Sticker
|
||||
import dev.inmo.tgbotapi.types.games.RawGame
|
||||
import dev.inmo.tgbotapi.types.giveaway.Giveaway
|
||||
import dev.inmo.tgbotapi.types.giveaway.GiveawayCreated
|
||||
import dev.inmo.tgbotapi.types.giveaway.GiveawayPrivateResults
|
||||
import dev.inmo.tgbotapi.types.giveaway.GiveawayResults
|
||||
import dev.inmo.tgbotapi.types.giveaway.*
|
||||
import dev.inmo.tgbotapi.types.message.content.ScheduledGiveawayContent
|
||||
import dev.inmo.tgbotapi.types.location.Location
|
||||
import dev.inmo.tgbotapi.types.message.ChatEvents.*
|
||||
import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.*
|
||||
@@ -134,7 +132,7 @@ internal data class RawMessage(
|
||||
|
||||
// Giveaways
|
||||
private val giveaway_created: GiveawayCreated? = null,
|
||||
private val giveaway: Giveaway? = null,
|
||||
private val giveaway: ScheduledGiveaway? = null,
|
||||
private val giveaway_winners: GiveawayResults? = null,
|
||||
private val giveaway_completed: GiveawayPrivateResults? = null,
|
||||
) {
|
||||
@@ -193,6 +191,8 @@ internal data class RawMessage(
|
||||
venue != null -> VenueContent(venue)
|
||||
poll != null -> PollContent(poll)
|
||||
invoice != null -> InvoiceContent(invoice)
|
||||
giveaway != null -> ScheduledGiveawayContent(giveaway)
|
||||
giveaway_winners is GiveawayPublicResults -> GiveawayPublicResultsContent(giveaway_winners)
|
||||
else -> null
|
||||
}
|
||||
}
|
||||
@@ -237,8 +237,7 @@ internal data class RawMessage(
|
||||
users_shared != null -> users_shared
|
||||
chat_shared != null -> chat_shared
|
||||
giveaway_created != null -> giveaway_created
|
||||
giveaway != null -> giveaway
|
||||
giveaway_winners != null -> giveaway_winners
|
||||
giveaway_winners is GiveawayPrivateResults -> giveaway_winners
|
||||
giveaway_completed != null -> giveaway_completed
|
||||
else -> null
|
||||
}
|
||||
|
@@ -0,0 +1,25 @@
|
||||
package dev.inmo.tgbotapi.types.message.content
|
||||
|
||||
import dev.inmo.tgbotapi.requests.abstracts.Request
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
|
||||
import dev.inmo.tgbotapi.types.giveaway.GiveawayPublicResults
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
data class GiveawayPublicResultsContent(
|
||||
val giveaway: GiveawayPublicResults
|
||||
) : MessageContent {
|
||||
override fun createResend(
|
||||
chatId: ChatIdentifier,
|
||||
messageThreadId: MessageThreadId?,
|
||||
disableNotification: Boolean,
|
||||
protectContent: Boolean,
|
||||
replyToMessageId: MessageId?,
|
||||
allowSendingWithoutReply: Boolean?,
|
||||
replyMarkup: KeyboardMarkup?
|
||||
): Request<out AccessibleMessage> {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
}
|
@@ -0,0 +1,29 @@
|
||||
package dev.inmo.tgbotapi.types.message.content
|
||||
|
||||
import dev.inmo.micro_utils.language_codes.IetfLang
|
||||
import dev.inmo.tgbotapi.requests.abstracts.Request
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
|
||||
import dev.inmo.tgbotapi.types.chat.PreviewChat
|
||||
import dev.inmo.tgbotapi.types.giveaway.GiveawayInfo
|
||||
import dev.inmo.tgbotapi.types.giveaway.ScheduledGiveaway
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
data class ScheduledGiveawayContent(
|
||||
val giveaway: ScheduledGiveaway
|
||||
) : MessageContent {
|
||||
override fun createResend(
|
||||
chatId: ChatIdentifier,
|
||||
messageThreadId: MessageThreadId?,
|
||||
disableNotification: Boolean,
|
||||
protectContent: Boolean,
|
||||
replyToMessageId: MessageId?,
|
||||
allowSendingWithoutReply: Boolean?,
|
||||
replyMarkup: KeyboardMarkup?
|
||||
): Request<out AccessibleMessage> {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
}
|
@@ -32,5 +32,7 @@ typealias VisualMediaGroupMessage = CommonMessage<VisualMediaGroupPartContent>
|
||||
typealias VideoMessage = CommonMessage<VideoContent>
|
||||
typealias PhotoMessage = CommonMessage<PhotoContent>
|
||||
typealias AnimationMessage = CommonMessage<AnimationContent>
|
||||
typealias ScheduledGiveawayContentMessage = CommonMessage<ScheduledGiveawayContent>
|
||||
typealias GiveawayPublicResultsContentMessage = CommonMessage<GiveawayPublicResultsContent>
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user