1
0
mirror of https://github.com/InsanusMokrassar/TelegramBotAPI.git synced 2024-11-22 16:23:48 +00:00

hotfix for inputmedias

This commit is contained in:
InsanusMokrassar 2019-04-15 19:30:09 +08:00
parent 723868a4f0
commit 1f8c27c756
6 changed files with 17 additions and 31 deletions

View File

@ -58,7 +58,6 @@ private val serializer = ArrayListSerializer(RawMessage.serializer())
data class SendMediaGroupData internal constructor( data class SendMediaGroupData internal constructor(
@SerialName(chatIdField) @SerialName(chatIdField)
override val chatId: ChatIdentifier, override val chatId: ChatIdentifier,
@Transient
val media: List<MediaGroupMemberInputMedia> = emptyList(), val media: List<MediaGroupMemberInputMedia> = emptyList(),
@SerialName(disableNotificationField) @SerialName(disableNotificationField)
override val disableNotification: Boolean = false, override val disableNotification: Boolean = false,

View File

@ -8,15 +8,13 @@ import kotlinx.serialization.*
@Serializable @Serializable
data class InputMediaAnimation( data class InputMediaAnimation(
@Transient override val file: InputFile,
override val file: InputFile = throw IllegalStateException("Must be created with file"),
override val caption: String? = null, override val caption: String? = null,
@SerialName(parseModeField) @SerialName(parseModeField)
override val parseMode: ParseMode? = null, override val parseMode: ParseMode? = null,
override val width: Int? = null, override val width: Int? = null,
override val height: Int? = null, override val height: Int? = null,
override val duration: Long? = null, override val duration: Long? = null,
@Transient
override val thumb: InputFile? = null override val thumb: InputFile? = null
) : InputMedia, SizedInputMedia, DuratedInputMedia, ThumbedInputMedia, CaptionedInputMedia { ) : InputMedia, SizedInputMedia, DuratedInputMedia, ThumbedInputMedia, CaptionedInputMedia {
override val type: String = "animation" override val type: String = "animation"

View File

@ -10,7 +10,7 @@ import kotlinx.serialization.Serializable
@Serializable @Serializable
data class InputMediaAudio( data class InputMediaAudio(
override val file: InputFile = throw IllegalStateException("Must be created with file"), override val file: InputFile,
override val caption: String? = null, override val caption: String? = null,
@SerialName(parseModeField) @SerialName(parseModeField)
override val parseMode: ParseMode? = null, override val parseMode: ParseMode? = null,

View File

@ -8,12 +8,10 @@ import kotlinx.serialization.*
@Serializable @Serializable
data class InputMediaDocument( data class InputMediaDocument(
@Transient override val file: InputFile,
override val file: InputFile = throw IllegalStateException("Must be created with file"),
override val caption: String? = null, override val caption: String? = null,
@SerialName(parseModeField) @SerialName(parseModeField)
override val parseMode: ParseMode? = null, override val parseMode: ParseMode? = null,
@Transient
override val thumb: InputFile? = null override val thumb: InputFile? = null
) : InputMedia, ThumbedInputMedia, CaptionedInputMedia { ) : InputMedia, ThumbedInputMedia, CaptionedInputMedia {
override val type: String = "document" override val type: String = "document"

View File

@ -9,8 +9,7 @@ import kotlinx.serialization.*
@Serializable @Serializable
data class InputMediaPhoto( data class InputMediaPhoto(
@Transient override val file: InputFile,
override val file: InputFile = throw IllegalStateException("Must be created with file"),
override val caption: String? = null, override val caption: String? = null,
@SerialName(parseModeField) @SerialName(parseModeField)
override val parseMode: ParseMode? = null override val parseMode: ParseMode? = null
@ -19,17 +18,14 @@ data class InputMediaPhoto(
override fun serialize(format: StringFormat): String = format.stringify(serializer(), this) override fun serialize(format: StringFormat): String = format.stringify(serializer(), this)
@SerialName(mediaField)
val media: String = when (file) {
is FileId -> file.fileId
is MultipartFile -> inputMediaFileAttachmentNameTemplate.format(file.fileId)
}
@Transient @Transient
override val arguments: Map<String, Any?> = Mapper.mapNullable(serializer(), this) override val arguments: Map<String, Any?> = Mapper.mapNullable(serializer(), this)
@SerialName(mediaField)
val media: String
get() = file.let {
when (it) {
is FileId -> it.fileId
is MultipartFile -> inputMediaFileAttachmentNameTemplate.format(it.fileId)
}
}
} }
fun PhotoSize.toInputMediaPhoto( fun PhotoSize.toInputMediaPhoto(

View File

@ -8,30 +8,25 @@ import kotlinx.serialization.*
@Serializable @Serializable
data class InputMediaVideo( data class InputMediaVideo(
@Transient override val file: InputFile,
override val file: InputFile = throw IllegalStateException("Must be created with file"),
override val caption: String? = null, override val caption: String? = null,
@SerialName(parseModeField) @SerialName(parseModeField)
override val parseMode: ParseMode? = null, override val parseMode: ParseMode? = null,
override val width: Int? = null, override val width: Int? = null,
override val height: Int? = null, override val height: Int? = null,
override val duration: Long? = null, override val duration: Long? = null,
@Transient
override val thumb: InputFile? = null override val thumb: InputFile? = null
) : InputMedia, SizedInputMedia, DuratedInputMedia, ThumbedInputMedia, CaptionedInputMedia, MediaGroupMemberInputMedia { ) : InputMedia, SizedInputMedia, DuratedInputMedia, ThumbedInputMedia, CaptionedInputMedia, MediaGroupMemberInputMedia {
override val type: String = "video" override val type: String = "video"
override fun serialize(format: StringFormat): String = format.stringify(serializer(), this) override fun serialize(format: StringFormat): String = format.stringify(serializer(), this)
@SerialName(mediaField)
val media: String = when (file) {
is FileId -> file.fileId
is MultipartFile -> inputMediaFileAttachmentNameTemplate.format(file.fileId)
}
@Transient @Transient
override val arguments: Map<String, Any?> = Mapper.mapNullable(serializer(), this) override val arguments: Map<String, Any?> = Mapper.mapNullable(serializer(), this)
@SerialName(mediaField)
val media: String
get() = file.let {
when (it) {
is FileId -> it.fileId
is MultipartFile -> inputMediaFileAttachmentNameTemplate.format(it.fileId)
}
}
} }