1
0
mirror of https://github.com/InsanusMokrassar/TelegramBotAPI.git synced 2024-06-12 21:05:26 +00:00
tgbotapi/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/stickers/AddStaticStickerToSet.kt

51 lines
1.5 KiB
Kotlin
Raw Normal View History

2020-10-04 11:06:30 +00:00
package dev.inmo.tgbotapi.requests.stickers
2018-12-26 08:07:24 +00:00
2020-10-04 11:06:30 +00:00
import dev.inmo.tgbotapi.requests.abstracts.*
import dev.inmo.tgbotapi.requests.common.CommonMultipartFileRequest
import dev.inmo.tgbotapi.requests.stickers.abstracts.StandardStickerSetAction
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.stickers.MaskPosition
2019-12-02 08:35:37 +00:00
import kotlinx.serialization.*
2020-03-30 16:29:34 +00:00
2020-03-30 16:12:31 +00:00
fun AddStaticStickerToSet(
2018-12-26 08:07:24 +00:00
userId: UserId,
stickerSetName: String,
sticker: InputFile,
emojis: String,
maskPosition: MaskPosition? = null
): Request<Boolean> {
2020-03-30 16:12:31 +00:00
val data = AddStaticStickerToSet(userId, stickerSetName, emojis, sticker as? FileId, maskPosition)
2018-12-26 08:07:24 +00:00
return when (sticker) {
is MultipartFile -> CommonMultipartFileRequest(
data,
mapOf(pngStickerField to sticker)
)
is FileId -> data
}
}
@Serializable
2020-03-30 16:12:31 +00:00
data class AddStaticStickerToSet internal constructor(
2018-12-26 08:07:24 +00:00
@SerialName(userIdField)
override val userId: UserId,
@SerialName(nameField)
override val name: String,
@SerialName(emojisField)
override val emojis: String,
@SerialName(pngStickerField)
val sticker: FileId? = null,
@SerialName(maskPositionField)
override val maskPosition: MaskPosition? = null
2020-03-30 16:29:34 +00:00
) : StandardStickerSetAction {
2018-12-26 08:07:24 +00:00
init {
if(emojis.isEmpty()) {
throw IllegalArgumentException("Emojis must not be empty")
}
}
2019-12-02 08:35:37 +00:00
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
2018-12-26 08:07:24 +00:00
override fun method(): String = "addStickerToSet"
}