mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2025-09-09 10:12:58 +00:00
add support of reply_to_checklist_task_id
This commit is contained in:
@@ -5,6 +5,7 @@ package dev.inmo.tgbotapi.types
|
||||
import dev.inmo.tgbotapi.abstracts.SpoilerableData
|
||||
import dev.inmo.tgbotapi.types.chat.SuperPublicChat
|
||||
import dev.inmo.tgbotapi.types.checklists.Checklist
|
||||
import dev.inmo.tgbotapi.types.checklists.ChecklistTaskId
|
||||
import dev.inmo.tgbotapi.types.dice.Dice
|
||||
import dev.inmo.tgbotapi.types.files.*
|
||||
import dev.inmo.tgbotapi.types.games.RawGame
|
||||
@@ -28,9 +29,11 @@ import kotlinx.serialization.encoding.Encoder
|
||||
@ClassCastsIncluded
|
||||
sealed interface ReplyInfo {
|
||||
val messageMeta: Message.MetaInfo?
|
||||
val checklistTaskId: ChecklistTaskId?
|
||||
|
||||
data class Internal(
|
||||
val message: Message
|
||||
val message: Message,
|
||||
override val checklistTaskId: ChecklistTaskId? = null,
|
||||
): ReplyInfo {
|
||||
override val messageMeta: Message.MetaInfo
|
||||
get() = message.metaInfo
|
||||
@@ -42,6 +45,8 @@ sealed interface ReplyInfo {
|
||||
): ReplyInfo {
|
||||
override val messageMeta: Message.MetaInfo?
|
||||
get() = null
|
||||
override val checklistTaskId: ChecklistTaskId?
|
||||
get() = null
|
||||
}
|
||||
|
||||
@Serializable(External.Companion::class)
|
||||
@@ -57,7 +62,8 @@ sealed interface ReplyInfo {
|
||||
@Suppress("SERIALIZER_TYPE_INCOMPATIBLE")
|
||||
override val chat: SuperPublicChat?,
|
||||
override val messageMeta: Message.MetaInfo?,
|
||||
val linkPreviewOptions: LinkPreviewOptions?
|
||||
val linkPreviewOptions: LinkPreviewOptions?,
|
||||
override val checklistTaskId: ChecklistTaskId? = null,
|
||||
) : External
|
||||
|
||||
@Suppress("SERIALIZER_TYPE_INCOMPATIBLE")
|
||||
@@ -72,7 +78,8 @@ sealed interface ReplyInfo {
|
||||
@Suppress("SERIALIZER_TYPE_INCOMPATIBLE")
|
||||
override val chat: SuperPublicChat?,
|
||||
override val messageMeta: Message.MetaInfo?,
|
||||
override val content: ContentVariant
|
||||
override val content: ContentVariant,
|
||||
override val checklistTaskId: ChecklistTaskId? = null,
|
||||
) : Content
|
||||
|
||||
@Serializable
|
||||
@@ -82,7 +89,8 @@ sealed interface ReplyInfo {
|
||||
override val chat: SuperPublicChat?,
|
||||
override val messageMeta: Message.MetaInfo?,
|
||||
override val spoilered: Boolean,
|
||||
override val content: MediaContentVariant
|
||||
override val content: MediaContentVariant,
|
||||
override val checklistTaskId: ChecklistTaskId? = null,
|
||||
) : Content, SpoilerableData
|
||||
}
|
||||
|
||||
|
@@ -7,6 +7,7 @@ import dev.inmo.tgbotapi.types.chat.*
|
||||
import dev.inmo.tgbotapi.types.chat.CommonBot
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import dev.inmo.tgbotapi.types.checklists.Checklist
|
||||
import dev.inmo.tgbotapi.types.checklists.ChecklistTaskId
|
||||
import dev.inmo.tgbotapi.types.checklists.ChecklistTasksAdded
|
||||
import dev.inmo.tgbotapi.types.checklists.ChecklistTasksDone
|
||||
import dev.inmo.tgbotapi.types.dice.Dice
|
||||
@@ -64,6 +65,7 @@ internal data class RawMessage(
|
||||
private val is_automatic_forward: Boolean? = null,
|
||||
private val reply_to_message: RawMessage? = null,
|
||||
private val reply_to_story: Story? = null,
|
||||
private val reply_to_checklist_task_id: ChecklistTaskId? = null,
|
||||
private val external_reply: ReplyInfo.External? = null,
|
||||
private val quote: TextQuote? = null,
|
||||
private val via_bot: CommonBot? = null,
|
||||
@@ -360,7 +362,8 @@ internal data class RawMessage(
|
||||
} ?: content?.let { content ->
|
||||
val replyInfo: ReplyInfo? = when {
|
||||
reply_to_message != null -> ReplyInfo.Internal(
|
||||
reply_to_message.asMessage
|
||||
reply_to_message.asMessage,
|
||||
reply_to_checklist_task_id
|
||||
)
|
||||
reply_to_story != null -> ReplyInfo.ToStory(reply_to_story)
|
||||
external_reply != null -> external_reply
|
||||
|
Reference in New Issue
Block a user