1
0
mirror of https://github.com/InsanusMokrassar/TelegramBotAPI.git synced 2024-06-01 07:25:23 +00:00
tgbotapi/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/stickers/AddStickerToSet.kt

48 lines
1.4 KiB
Kotlin
Raw Normal View History

2022-02-01 10:23:26 +00:00
package dev.inmo.tgbotapi.requests.stickers
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 kotlinx.serialization.*
2023-03-10 08:20:34 +00:00
fun AddStickerToSet(
2022-02-01 10:23:26 +00:00
userId: UserId,
2024-03-16 17:07:55 +00:00
stickerSetName: StickerSetName,
2023-03-10 08:20:34 +00:00
inputSticker: InputSticker
2022-02-01 10:23:26 +00:00
): Request<Boolean> {
2023-03-10 08:20:34 +00:00
val data = AddStickerToSetData(userId, stickerSetName, inputSticker)
return when (val sticker = inputSticker.sticker) {
2022-02-01 10:23:26 +00:00
is MultipartFile -> CommonMultipartFileRequest(
data,
2023-03-10 08:20:34 +00:00
mapOf(sticker.fileId to sticker)
2022-02-01 10:23:26 +00:00
)
is FileId -> data
}
}
2024-03-16 17:07:55 +00:00
fun AddStickerToSet(
userId: UserId,
stickerSetName: String,
inputSticker: InputSticker
): Request<Boolean> = AddStickerToSet(
userId = userId,
stickerSetName = StickerSetName(stickerSetName),
inputSticker = inputSticker
)
2022-02-01 10:23:26 +00:00
@Serializable
2023-03-10 08:20:34 +00:00
data class AddStickerToSetData internal constructor(
2022-02-01 10:23:26 +00:00
@SerialName(userIdField)
override val userId: UserId,
@SerialName(nameField)
2024-03-16 17:07:55 +00:00
override val name: StickerSetName,
2023-03-10 08:20:34 +00:00
@SerialName(stickerField)
override val inputSticker: InputSticker
2022-02-01 10:23:26 +00:00
) : StandardStickerSetAction {
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
override fun method(): String = "addStickerToSet"
}