1
0
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:
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.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
}

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.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