diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/bot/ktor/base/MultipartRequestCallFactory.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/bot/ktor/base/MultipartRequestCallFactory.kt index f00290f19d..3e1cb45c3e 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/bot/ktor/base/MultipartRequestCallFactory.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/bot/ktor/base/MultipartRequestCallFactory.kt @@ -21,7 +21,11 @@ class MultipartRequestCallFactory(logger: KSLog? = null) : AbstractRequestCallFa ): T? { return when (request) { !is MultipartRequest -> null - is MultipartRequest.Common -> localSimpleRequestCallFactory.makeCall(client, urlsKeeper, request.data, jsonFormatter) + is MultipartRequest.Common -> if (request.mediaMap.isEmpty()) { + localSimpleRequestCallFactory.makeCall(client, urlsKeeper, request.data, jsonFormatter) + } else { + super.makeCall(client, urlsKeeper, request, jsonFormatter) + } else -> super.makeCall(client, urlsKeeper, request, jsonFormatter) } } diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/business_connection/InputProfilePhoto.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/business_connection/InputProfilePhoto.kt index ce3ca843d3..f1bf91bb62 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/business_connection/InputProfilePhoto.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/business_connection/InputProfilePhoto.kt @@ -17,7 +17,7 @@ import kotlinx.serialization.encoding.Decoder import kotlinx.serialization.encoding.Encoder import kotlinx.serialization.json.JsonObject -@Serializable +@Serializable(InputProfilePhoto.Companion::class) sealed interface InputProfilePhoto { val type: String val mediaPair: Pair @@ -27,7 +27,7 @@ sealed interface InputProfilePhoto { val photo: MultipartFile ) : InputProfilePhoto { override val mediaPair: Pair - get() = photoField to photo + get() = photo.fileId to photo @EncodeDefault override val type: String = "static" } @@ -39,7 +39,7 @@ sealed interface InputProfilePhoto { val mainFrameTimestamp: DoubleSeconds? = null ) : InputProfilePhoto { override val mediaPair: Pair - get() = animationField to animation + get() = animation.fileId to animation @EncodeDefault override val type: String = "animated" } diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/stories/InputStoryContent.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/stories/InputStoryContent.kt index 46586026d6..aef5239b5e 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/stories/InputStoryContent.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/stories/InputStoryContent.kt @@ -29,7 +29,7 @@ sealed interface InputStoryContent { @EncodeDefault override val type: Type = Companion override val media: Pair - get() = photoField to photo + get() = photo.fileId to photo companion object : Type { override val name: String @@ -50,7 +50,7 @@ sealed interface InputStoryContent { @EncodeDefault override val type: Type = Companion override val media: Pair - get() = videoField to video + get() = video.fileId to video companion object : Type { override val name: String