1
0
mirror of https://github.com/InsanusMokrassar/TelegramBotAPI.git synced 2026-05-26 18:27:30 +00:00

fixes of hierarchy and build

This commit is contained in:
2026-05-17 14:53:49 +06:00
parent 08d160cfa7
commit f3f28b6165
9 changed files with 968 additions and 496 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -8,6 +8,8 @@ import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.media.PollMedia
import dev.inmo.tgbotapi.types.stickers.MaskPosition
import dev.inmo.tgbotapi.utils.RiskFeature
import dev.inmo.tgbotapi.utils.internal.ClassCastsExcluded
import dev.inmo.tgbotapi.utils.internal.ClassCastsIncluded
import dev.inmo.tgbotapi.utils.nonstrictJsonFormat
import kotlinx.serialization.*
import kotlinx.serialization.descriptors.SerialDescriptor

View File

@@ -3,12 +3,12 @@ package dev.inmo.tgbotapi.types.files
import dev.inmo.tgbotapi.utils.internal.ClassCastsIncluded
import dev.inmo.tgbotapi.requests.abstracts.FileId
import dev.inmo.tgbotapi.types.TgFileUniqueId
import dev.inmo.tgbotapi.types.media.BaseTelegramMediaFile
/**
* Declare common part of media files in Telegram. Note: it is not representation of JVM `File` type
*/
@ClassCastsIncluded
sealed interface TelegramMediaFile {
sealed interface TelegramMediaFile : BaseTelegramMediaFile {
val fileId: FileId
val fileUniqueId: TgFileUniqueId
val fileSize: FileSize?

View File

@@ -0,0 +1,7 @@
package dev.inmo.tgbotapi.types.media
import dev.inmo.tgbotapi.utils.internal.ClassCastsIncluded
@ClassCastsIncluded
interface BaseTelegramMediaFile {
}

View File

@@ -7,7 +7,6 @@ import dev.inmo.tgbotapi.types.files.AnimationFile
import dev.inmo.tgbotapi.types.files.AudioFile
import dev.inmo.tgbotapi.types.files.DocumentFile
import dev.inmo.tgbotapi.types.files.PhotoFile
import dev.inmo.tgbotapi.types.files.PhotoSize
import dev.inmo.tgbotapi.types.files.Sticker
import dev.inmo.tgbotapi.types.files.VideoFile
import dev.inmo.tgbotapi.types.location.StaticLocation
@@ -17,7 +16,6 @@ import dev.inmo.tgbotapi.types.stickerField
import dev.inmo.tgbotapi.types.venue.Venue
import dev.inmo.tgbotapi.types.venueField
import dev.inmo.tgbotapi.types.videoField
import dev.inmo.tgbotapi.utils.internal.ClassCastsIncluded
import kotlinx.serialization.KSerializer
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@@ -25,9 +23,8 @@ import kotlinx.serialization.descriptors.SerialDescriptor
import kotlinx.serialization.encoding.Decoder
import kotlinx.serialization.encoding.Encoder
@ClassCastsIncluded
@Serializable(PollMedia.Serializer::class)
interface PollMedia {
interface PollMedia : BaseTelegramMediaFile {
object Serializer : KSerializer<PollMedia> {
@Serializable
data class Surrogate(

View File

@@ -1,7 +1,7 @@
package dev.inmo.tgbotapi.types.media
import dev.inmo.tgbotapi.utils.internal.ClassCastsIncluded
import dev.inmo.tgbotapi.requests.abstracts.InputFile
import dev.inmo.tgbotapi.utils.internal.ClassCastsIncluded
import kotlinx.serialization.Serializable
@Serializable(TelegramMediaSerializer::class)