1
0
mirror of https://github.com/InsanusMokrassar/TelegramBotAPI.git synced 2025-09-12 19:54:05 +00:00

add support of reply_to_checklist_task_id

This commit is contained in:
2025-08-19 12:59:29 +06:00
parent e977c865ea
commit 6c02d57197
2 changed files with 16 additions and 5 deletions

View File

@@ -5,6 +5,7 @@ package dev.inmo.tgbotapi.types
import dev.inmo.tgbotapi.abstracts.SpoilerableData import dev.inmo.tgbotapi.abstracts.SpoilerableData
import dev.inmo.tgbotapi.types.chat.SuperPublicChat import dev.inmo.tgbotapi.types.chat.SuperPublicChat
import dev.inmo.tgbotapi.types.checklists.Checklist 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.dice.Dice
import dev.inmo.tgbotapi.types.files.* import dev.inmo.tgbotapi.types.files.*
import dev.inmo.tgbotapi.types.games.RawGame import dev.inmo.tgbotapi.types.games.RawGame
@@ -28,9 +29,11 @@ import kotlinx.serialization.encoding.Encoder
@ClassCastsIncluded @ClassCastsIncluded
sealed interface ReplyInfo { sealed interface ReplyInfo {
val messageMeta: Message.MetaInfo? val messageMeta: Message.MetaInfo?
val checklistTaskId: ChecklistTaskId?
data class Internal( data class Internal(
val message: Message val message: Message,
override val checklistTaskId: ChecklistTaskId? = null,
): ReplyInfo { ): ReplyInfo {
override val messageMeta: Message.MetaInfo override val messageMeta: Message.MetaInfo
get() = message.metaInfo get() = message.metaInfo
@@ -42,6 +45,8 @@ sealed interface ReplyInfo {
): ReplyInfo { ): ReplyInfo {
override val messageMeta: Message.MetaInfo? override val messageMeta: Message.MetaInfo?
get() = null get() = null
override val checklistTaskId: ChecklistTaskId?
get() = null
} }
@Serializable(External.Companion::class) @Serializable(External.Companion::class)
@@ -57,7 +62,8 @@ sealed interface ReplyInfo {
@Suppress("SERIALIZER_TYPE_INCOMPATIBLE") @Suppress("SERIALIZER_TYPE_INCOMPATIBLE")
override val chat: SuperPublicChat?, override val chat: SuperPublicChat?,
override val messageMeta: Message.MetaInfo?, override val messageMeta: Message.MetaInfo?,
val linkPreviewOptions: LinkPreviewOptions? val linkPreviewOptions: LinkPreviewOptions?,
override val checklistTaskId: ChecklistTaskId? = null,
) : External ) : External
@Suppress("SERIALIZER_TYPE_INCOMPATIBLE") @Suppress("SERIALIZER_TYPE_INCOMPATIBLE")
@@ -72,7 +78,8 @@ sealed interface ReplyInfo {
@Suppress("SERIALIZER_TYPE_INCOMPATIBLE") @Suppress("SERIALIZER_TYPE_INCOMPATIBLE")
override val chat: SuperPublicChat?, override val chat: SuperPublicChat?,
override val messageMeta: Message.MetaInfo?, override val messageMeta: Message.MetaInfo?,
override val content: ContentVariant override val content: ContentVariant,
override val checklistTaskId: ChecklistTaskId? = null,
) : Content ) : Content
@Serializable @Serializable
@@ -82,7 +89,8 @@ sealed interface ReplyInfo {
override val chat: SuperPublicChat?, override val chat: SuperPublicChat?,
override val messageMeta: Message.MetaInfo?, override val messageMeta: Message.MetaInfo?,
override val spoilered: Boolean, override val spoilered: Boolean,
override val content: MediaContentVariant override val content: MediaContentVariant,
override val checklistTaskId: ChecklistTaskId? = null,
) : Content, SpoilerableData ) : Content, SpoilerableData
} }

View File

@@ -7,6 +7,7 @@ import dev.inmo.tgbotapi.types.chat.*
import dev.inmo.tgbotapi.types.chat.CommonBot import dev.inmo.tgbotapi.types.chat.CommonBot
import dev.inmo.tgbotapi.types.chat.User import dev.inmo.tgbotapi.types.chat.User
import dev.inmo.tgbotapi.types.checklists.Checklist 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.ChecklistTasksAdded
import dev.inmo.tgbotapi.types.checklists.ChecklistTasksDone import dev.inmo.tgbotapi.types.checklists.ChecklistTasksDone
import dev.inmo.tgbotapi.types.dice.Dice import dev.inmo.tgbotapi.types.dice.Dice
@@ -64,6 +65,7 @@ internal data class RawMessage(
private val is_automatic_forward: Boolean? = null, private val is_automatic_forward: Boolean? = null,
private val reply_to_message: RawMessage? = null, private val reply_to_message: RawMessage? = null,
private val reply_to_story: Story? = 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 external_reply: ReplyInfo.External? = null,
private val quote: TextQuote? = null, private val quote: TextQuote? = null,
private val via_bot: CommonBot? = null, private val via_bot: CommonBot? = null,
@@ -360,7 +362,8 @@ internal data class RawMessage(
} ?: content?.let { content -> } ?: content?.let { content ->
val replyInfo: ReplyInfo? = when { val replyInfo: ReplyInfo? = when {
reply_to_message != null -> ReplyInfo.Internal( 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) reply_to_story != null -> ReplyInfo.ToStory(reply_to_story)
external_reply != null -> external_reply external_reply != null -> external_reply