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

117 lines
3.1 KiB
Kotlin
Raw Normal View History

package dev.inmo.tgbotapi.extensions.api.stickers
2020-02-15 09:33:04 +00:00
2020-10-04 11:06:30 +00:00
import dev.inmo.tgbotapi.bot.TelegramBot
2023-03-10 08:20:34 +00:00
import dev.inmo.tgbotapi.requests.abstracts.InputFile
import dev.inmo.tgbotapi.requests.stickers.AddStickerToSet
import dev.inmo.tgbotapi.requests.stickers.InputSticker
import dev.inmo.tgbotapi.types.StickerType
2022-04-21 18:16:41 +00:00
import dev.inmo.tgbotapi.types.chat.CommonUser
2020-10-04 11:06:30 +00:00
import dev.inmo.tgbotapi.types.UserId
import dev.inmo.tgbotapi.types.stickers.MaskPosition
import dev.inmo.tgbotapi.types.stickers.StickerSet
2020-02-15 09:33:04 +00:00
2023-03-10 08:20:34 +00:00
suspend fun TelegramBot.addStickerToSet(
2020-02-15 09:33:04 +00:00
userId: UserId,
stickerSetName: String,
2023-03-10 08:20:34 +00:00
inputSticker: InputSticker
2020-02-15 09:33:04 +00:00
) = execute(
2023-03-10 08:20:34 +00:00
AddStickerToSet(userId, stickerSetName, inputSticker)
2020-02-15 09:33:04 +00:00
)
suspend fun TelegramBot.addStickerToSet(
userId: UserId,
stickerSet: StickerSet,
sticker: InputSticker
) = addStickerToSet(
userId,
stickerSet.name,
sticker
)
2023-03-10 08:20:34 +00:00
suspend fun TelegramBot.addStickerToSet(
2020-02-15 09:33:04 +00:00
userId: UserId,
stickerSet: StickerSet,
2023-03-10 08:20:34 +00:00
sticker: InputFile,
emojis: List<String>,
keywords: List<String> = emptyList()
) = addStickerToSet(
userId,
stickerSet,
2023-03-10 08:20:34 +00:00
when (stickerSet.stickerType) {
StickerType.CustomEmoji -> InputSticker.WithKeywords.CustomEmoji(
sticker,
emojis,
keywords
)
StickerType.Mask -> InputSticker.Mask(
sticker,
emojis
)
2023-03-10 08:20:34 +00:00
StickerType.Regular -> InputSticker.WithKeywords.Regular(
sticker,
emojis,
keywords
)
is StickerType.Unknown -> error("Unable to create sticker to the set with type ${stickerSet.stickerType}")
}
2020-02-15 09:33:04 +00:00
)
2023-03-10 08:20:34 +00:00
suspend fun TelegramBot.addStickerToSet(
2020-02-15 09:33:04 +00:00
userId: UserId,
stickerSet: StickerSet,
2023-03-10 08:20:34 +00:00
sticker: InputFile,
emojis: List<String>,
maskPosition: MaskPosition? = null
2023-03-10 08:20:34 +00:00
) = addStickerToSet(
userId,
stickerSet.name,
when (stickerSet.stickerType) {
StickerType.CustomEmoji -> InputSticker.WithKeywords.CustomEmoji(
sticker,
emojis,
emptyList()
)
StickerType.Mask -> InputSticker.Mask(
sticker,
emojis,
maskPosition
)
StickerType.Regular -> InputSticker.WithKeywords.Regular(
sticker,
emojis,
emptyList()
)
is StickerType.Unknown -> error("Unable to create sticker to the set with type ${stickerSet.stickerType}")
}
2020-02-15 09:33:04 +00:00
)
suspend fun TelegramBot.addStickerToSet(
user: CommonUser,
stickerSet: StickerSet,
sticker: InputSticker
) = addStickerToSet(
user.id,
stickerSet.name,
sticker
)
2023-03-10 08:20:34 +00:00
suspend fun TelegramBot.addStickerToSet(
2020-02-15 09:33:04 +00:00
user: CommonUser,
stickerSet: StickerSet,
2023-03-10 08:20:34 +00:00
sticker: InputFile,
emojis: List<String>,
keywords: List<String> = emptyList()
) = addStickerToSet(
user.id, stickerSet, sticker, emojis, keywords
2020-02-15 09:33:04 +00:00
)
2023-03-10 08:20:34 +00:00
suspend fun TelegramBot.addStickerToSet(
2020-02-15 09:33:04 +00:00
user: CommonUser,
stickerSet: StickerSet,
2023-03-10 08:20:34 +00:00
sticker: InputFile,
emojis: List<String>,
maskPosition: MaskPosition? = null
2023-03-10 08:20:34 +00:00
) = addStickerToSet(
user.id, stickerSet, sticker, emojis, maskPosition
2020-02-15 09:33:04 +00:00
)