package dev.inmo.tgbotapi.types.message.content import dev.inmo.tgbotapi.requests.abstracts.Request import dev.inmo.tgbotapi.requests.send.media.SendVideo import dev.inmo.tgbotapi.types.ChatIdentifier import dev.inmo.tgbotapi.types.media.TelegramMediaVideo import dev.inmo.tgbotapi.types.message.textsources.TextSourcesList import dev.inmo.tgbotapi.types.MessageId import dev.inmo.tgbotapi.types.MessageThreadId import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup import dev.inmo.tgbotapi.types.files.VideoFile import dev.inmo.tgbotapi.types.files.toTelegramMediaVideo import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage import kotlinx.serialization.Serializable @Serializable data class VideoContent( override val media: VideoFile, override val text: String? = null, override val textSources: TextSourcesList = emptyList(), override val spoilered: Boolean = false ) : VisualMediaGroupPartContent { override fun createResend( chatId: ChatIdentifier, messageThreadId: MessageThreadId?, disableNotification: Boolean, protectContent: Boolean, replyToMessageId: MessageId?, allowSendingWithoutReply: Boolean?, replyMarkup: KeyboardMarkup? ): Request> = SendVideo( chatId, media.fileId, media.thumb ?.fileId, textSources, spoilered, media.duration, media.width, media.height, null, messageThreadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup ) override fun toMediaGroupMemberTelegramMedia(): TelegramMediaVideo = asTelegramMedia() override fun asTelegramMedia(): TelegramMediaVideo = media.toTelegramMediaVideo(textSources) }