tgbotapi/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/stickers/SetStickerPositionInSet.kt

30 lines
981 B
Kotlin

package dev.inmo.tgbotapi.requests.stickers
import dev.inmo.tgbotapi.requests.abstracts.FileId
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.requests.stickers.abstracts.StickerAction
import dev.inmo.tgbotapi.types.positionField
import dev.inmo.tgbotapi.types.stickerField
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@Serializable
data class SetStickerPositionInSet(
@SerialName(stickerField)
override val sticker: FileId,
@SerialName(positionField)
val position: Int
) : StickerAction<Boolean> {
init {
if (position < 0) {
throw IllegalArgumentException("Position must be positive or 0")
}
}
override fun method(): String = "setStickerPositionInSet"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}