update uploadStickerFile

This commit is contained in:
InsanusMokrassar 2023-03-10 14:24:42 +06:00
parent 1b4d13e452
commit 4390c12180
2 changed files with 11 additions and 6 deletions

View File

@ -3,19 +3,22 @@ package dev.inmo.tgbotapi.extensions.api.stickers
import dev.inmo.tgbotapi.bot.TelegramBot
import dev.inmo.tgbotapi.requests.abstracts.MultipartFile
import dev.inmo.tgbotapi.requests.stickers.UploadStickerFile
import dev.inmo.tgbotapi.types.StickerFormat
import dev.inmo.tgbotapi.types.chat.CommonUser
import dev.inmo.tgbotapi.types.UserId
suspend fun TelegramBot.uploadStickerFile(
userId: UserId,
sticker: MultipartFile
sticker: MultipartFile,
stickerFormat: StickerFormat
) = execute(
UploadStickerFile(userId, sticker)
UploadStickerFile(userId, sticker, stickerFormat)
)
suspend fun TelegramBot.uploadStickerFile(
user: CommonUser,
sticker: MultipartFile
sticker: MultipartFile,
stickerFormat: StickerFormat
) = execute(
UploadStickerFile(user.id, sticker)
UploadStickerFile(user.id, sticker, stickerFormat)
)

View File

@ -13,7 +13,9 @@ data class UploadStickerFile(
@SerialName(userIdField)
val userId: UserId,
@Transient
val sticker: MultipartFile = throw IllegalStateException("Detected autocreating try: this class can't be deserialized")
val sticker: MultipartFile = throw IllegalStateException("Detected autocreating try: this class can't be deserialized"),
@SerialName(stickerFormatField)
val stickerFormat: StickerFormat
): MultipartRequest<File> {
init {
// TODO:: add check of width/height of image and type of file - it must be png with max side length is 512px
@ -21,7 +23,7 @@ data class UploadStickerFile(
override fun method(): String = "uploadStickerFile"
@Transient
override val mediaMap: Map<String, MultipartFile> = mapOf(pngStickerField to sticker)
override val mediaMap: Map<String, MultipartFile> = mapOf(stickerField to sticker)
@Transient
override val paramsJson: JsonObject = toJsonWithoutNulls(serializer())
override val resultDeserializer: DeserializationStrategy<File>