1
0
mirror of https://github.com/InsanusMokrassar/TelegramBotAPI.git synced 2025-11-15 11:30:19 +00:00

improve support of send checklist

This commit is contained in:
2025-07-07 20:55:38 +06:00
parent 71ccfc88cc
commit e53b3b8198
9 changed files with 640 additions and 3 deletions

View File

@@ -1,6 +1,7 @@
package dev.inmo.tgbotapi.types.message.content
import dev.inmo.tgbotapi.requests.abstracts.Request
import dev.inmo.tgbotapi.requests.send.SendChecklist
import dev.inmo.tgbotapi.types.ChatIdentifier
import dev.inmo.tgbotapi.types.EffectId
import dev.inmo.tgbotapi.types.MessageThreadId
@@ -8,13 +9,15 @@ import dev.inmo.tgbotapi.types.ReplyParameters
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.checklists.Checklist
import dev.inmo.tgbotapi.types.checklists.ChecklistTask
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
import dev.inmo.tgbotapi.types.message.abstracts.CommonMessage
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import kotlinx.serialization.Serializable
@Serializable
data class ChecklistContent(
val checklist: Checklist
val checklist: Checklist.Created
) : MessageContent {
override fun createResend(
chatId: ChatIdentifier,
@@ -26,7 +29,26 @@ data class ChecklistContent(
effectId: EffectId?,
replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup?
): Request<CommonMessage<ChecklistContent>> {
return SendChecklist
): Request<ContentMessage<ChecklistContent>> {
return SendChecklist(
chatId = chatId,
checklist = Checklist.Input(
titleTextSources = checklist.titleTextSources,
tasks = checklist.tasks.map {
ChecklistTask.Input(
id = it.id,
textSources = it.textSources,
)
},
othersCanAddTasks = checklist.othersCanAddTasks,
othersCanCompleteTasks = checklist.othersCanCompleteTasks,
),
businessConnectionId = businessConnectionId ?: error("Checklist can be sent only with business connection"),
disableNotification = disableNotification,
protectContent = protectContent,
effectId = effectId,
replyParameters = replyParameters,
replyMarkup = replyMarkup
)
}
}