1
0
mirror of https://github.com/InsanusMokrassar/TelegramBotAPI.git synced 2024-09-19 17:16:08 +00:00

moving to an explicit API mode

refactored `get` package
This commit is contained in:
bpavuk 2024-07-12 22:09:25 +03:00
parent cad6b26fdc
commit b8837bffdc
No known key found for this signature in database
GPG Key ID: B501D26D9DEA9CFE
7 changed files with 47 additions and 40 deletions

View File

@ -3,15 +3,16 @@ package dev.inmo.tgbotapi.extensions.api.get
import dev.inmo.micro_utils.common.Warning import dev.inmo.micro_utils.common.Warning
import dev.inmo.tgbotapi.bot.TelegramBot import dev.inmo.tgbotapi.bot.TelegramBot
import dev.inmo.tgbotapi.requests.get.GetBusinessConnection import dev.inmo.tgbotapi.requests.get.GetBusinessConnection
import dev.inmo.tgbotapi.types.business_connection.BusinessConnection
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
suspend fun TelegramBot.getBusinessConnection( public suspend fun TelegramBot.getBusinessConnection(
id: BusinessConnectionId id: BusinessConnectionId
) = execute(GetBusinessConnection(businessConnectionId = id)) ): BusinessConnection = execute(GetBusinessConnection(businessConnectionId = id))
@Warning("This method may lead to error due to raw String type usage") @Warning("This method may lead to error due to raw String type usage")
suspend fun TelegramBot.getBusinessConnection( public suspend fun TelegramBot.getBusinessConnection(
id: String id: String
) = getBusinessConnection( ): BusinessConnection = getBusinessConnection(
BusinessConnectionId(id) BusinessConnectionId(id)
) )

View File

@ -4,34 +4,35 @@ import dev.inmo.tgbotapi.bot.TelegramBot
import dev.inmo.tgbotapi.requests.get.GetCustomEmojiStickers import dev.inmo.tgbotapi.requests.get.GetCustomEmojiStickers
import dev.inmo.tgbotapi.requests.get.GetStickerSet import dev.inmo.tgbotapi.requests.get.GetStickerSet
import dev.inmo.tgbotapi.types.CustomEmojiId import dev.inmo.tgbotapi.types.CustomEmojiId
import dev.inmo.tgbotapi.types.files.CustomEmojiSticker
import dev.inmo.tgbotapi.types.files.Sticker import dev.inmo.tgbotapi.types.files.Sticker
import kotlin.js.JsName import kotlin.js.JsName
import kotlin.jvm.JvmName import kotlin.jvm.JvmName
suspend fun TelegramBot.getCustomEmojiStickers( public suspend fun TelegramBot.getCustomEmojiStickers(
customEmojiIds: List<CustomEmojiId> customEmojiIds: List<CustomEmojiId>
) = execute( ): List<CustomEmojiSticker> = execute(
GetCustomEmojiStickers(customEmojiIds) GetCustomEmojiStickers(customEmojiIds)
) )
@JvmName("getCustomEmojiStickersWithStringsList") @JvmName("getCustomEmojiStickersWithStringsList")
@JsName("getCustomEmojiStickersWithStringsList") @JsName("getCustomEmojiStickersWithStringsList")
suspend fun TelegramBot.getCustomEmojiStickers( public suspend fun TelegramBot.getCustomEmojiStickers(
customEmojiIds: List<String> customEmojiIds: List<String>
) = getCustomEmojiStickers(customEmojiIds.map(::CustomEmojiId)) ): List<CustomEmojiSticker> = getCustomEmojiStickers(customEmojiIds.map(::CustomEmojiId))
suspend fun TelegramBot.getCustomEmojiStickerOrNull( public suspend fun TelegramBot.getCustomEmojiStickerOrNull(
customEmojiId: CustomEmojiId customEmojiId: CustomEmojiId
) = getCustomEmojiStickers(listOf(customEmojiId)).firstOrNull() ): CustomEmojiSticker? = getCustomEmojiStickers(listOf(customEmojiId)).firstOrNull()
suspend fun TelegramBot.getCustomEmojiStickerOrThrow( public suspend fun TelegramBot.getCustomEmojiStickerOrThrow(
customEmojiId: CustomEmojiId customEmojiId: CustomEmojiId
) = getCustomEmojiStickers(listOf(customEmojiId)).first() ): CustomEmojiSticker = getCustomEmojiStickers(listOf(customEmojiId)).first()
suspend fun TelegramBot.getCustomEmojiStickerOrNull( public suspend fun TelegramBot.getCustomEmojiStickerOrNull(
customEmojiId: String customEmojiId: String
) = getCustomEmojiStickerOrNull(CustomEmojiId(customEmojiId)) ): CustomEmojiSticker? = getCustomEmojiStickerOrNull(CustomEmojiId(customEmojiId))
suspend fun TelegramBot.getCustomEmojiStickerOrThrow( public suspend fun TelegramBot.getCustomEmojiStickerOrThrow(
customEmojiId: String customEmojiId: String
) = getCustomEmojiStickerOrThrow(CustomEmojiId(customEmojiId)) ): CustomEmojiSticker = getCustomEmojiStickerOrThrow(CustomEmojiId(customEmojiId))

View File

@ -3,19 +3,20 @@ package dev.inmo.tgbotapi.extensions.api.get
import dev.inmo.tgbotapi.bot.TelegramBot import dev.inmo.tgbotapi.bot.TelegramBot
import dev.inmo.tgbotapi.requests.abstracts.FileId import dev.inmo.tgbotapi.requests.abstracts.FileId
import dev.inmo.tgbotapi.requests.get.GetFile import dev.inmo.tgbotapi.requests.get.GetFile
import dev.inmo.tgbotapi.types.files.PathedFile
import dev.inmo.tgbotapi.types.files.TelegramMediaFile import dev.inmo.tgbotapi.types.files.TelegramMediaFile
import dev.inmo.tgbotapi.types.message.content.MediaContent import dev.inmo.tgbotapi.types.message.content.MediaContent
suspend fun TelegramBot.getFileAdditionalInfo( public suspend fun TelegramBot.getFileAdditionalInfo(
fileId: FileId fileId: FileId
) = execute( ): PathedFile = execute(
GetFile(fileId) GetFile(fileId)
) )
suspend fun TelegramBot.getFileAdditionalInfo( public suspend fun TelegramBot.getFileAdditionalInfo(
file: TelegramMediaFile file: TelegramMediaFile
) = getFileAdditionalInfo(file.fileId) ): PathedFile = getFileAdditionalInfo(file.fileId)
suspend fun TelegramBot.getFileAdditionalInfo( public suspend fun TelegramBot.getFileAdditionalInfo(
content: MediaContent content: MediaContent
) = getFileAdditionalInfo(content.media) ): PathedFile = getFileAdditionalInfo(content.media)

View File

@ -2,11 +2,12 @@ package dev.inmo.tgbotapi.extensions.api.get
import dev.inmo.tgbotapi.bot.TelegramBot import dev.inmo.tgbotapi.bot.TelegramBot
import dev.inmo.tgbotapi.requests.get.GetStarTransactions import dev.inmo.tgbotapi.requests.get.GetStarTransactions
import dev.inmo.tgbotapi.types.payments.stars.StarTransactions
suspend fun TelegramBot.getStarTransactions( public suspend fun TelegramBot.getStarTransactions(
offset: Int? = null, offset: Int? = null,
limit: Int? = null, limit: Int? = null,
) = execute( ): StarTransactions = execute(
GetStarTransactions( GetStarTransactions(
offset = offset, offset = offset,
limit = limit limit = limit

View File

@ -4,27 +4,28 @@ import dev.inmo.tgbotapi.bot.TelegramBot
import dev.inmo.tgbotapi.requests.get.GetStickerSet import dev.inmo.tgbotapi.requests.get.GetStickerSet
import dev.inmo.tgbotapi.types.StickerSetName import dev.inmo.tgbotapi.types.StickerSetName
import dev.inmo.tgbotapi.types.files.Sticker import dev.inmo.tgbotapi.types.files.Sticker
import dev.inmo.tgbotapi.types.stickers.StickerSet
suspend fun TelegramBot.getStickerSet( public suspend fun TelegramBot.getStickerSet(
name: StickerSetName name: StickerSetName
) = execute( ): StickerSet = execute(
GetStickerSet(name) GetStickerSet(name)
) )
suspend fun TelegramBot.getStickerSet( public suspend fun TelegramBot.getStickerSet(
name: String name: String
) = getStickerSet( ): StickerSet = getStickerSet(
StickerSetName(name) StickerSetName(name)
) )
suspend fun TelegramBot.getStickerSetOrNull( public suspend fun TelegramBot.getStickerSetOrNull(
sticker: Sticker sticker: Sticker
) = sticker.stickerSetName ?.let { ): StickerSet? = sticker.stickerSetName ?.let {
getStickerSet(it) getStickerSet(it)
} }
suspend fun TelegramBot.getStickerSetOrThrow( public suspend fun TelegramBot.getStickerSetOrThrow(
sticker: Sticker sticker: Sticker
) = getStickerSet( ): StickerSet = getStickerSet(
sticker.stickerSetName ?: error("Sticker must contains stickerSetName to be correctly used in getStickerSet method") sticker.stickerSetName ?: error("Sticker must contains stickerSetName to be correctly used in getStickerSet method")
) )

View File

@ -4,16 +4,17 @@ import dev.inmo.tgbotapi.bot.TelegramBot
import dev.inmo.tgbotapi.requests.get.GetUserChatBoosts import dev.inmo.tgbotapi.requests.get.GetUserChatBoosts
import dev.inmo.tgbotapi.types.ChatIdentifier import dev.inmo.tgbotapi.types.ChatIdentifier
import dev.inmo.tgbotapi.types.UserId import dev.inmo.tgbotapi.types.UserId
import dev.inmo.tgbotapi.types.boosts.UserChatBoosts
import dev.inmo.tgbotapi.types.chat.Chat import dev.inmo.tgbotapi.types.chat.Chat
suspend fun TelegramBot.getUserChatBoosts( public suspend fun TelegramBot.getUserChatBoosts(
chatId: ChatIdentifier, chatId: ChatIdentifier,
userId: UserId userId: UserId
) = execute( ): UserChatBoosts = execute(
GetUserChatBoosts(chatId = chatId, userId = userId) GetUserChatBoosts(chatId = chatId, userId = userId)
) )
suspend fun TelegramBot.getUserChatBoosts( public suspend fun TelegramBot.getUserChatBoosts(
chat: Chat, chat: Chat,
userId: UserId userId: UserId
) = getUserChatBoosts(chatId = chat.id, userId = userId) ): UserChatBoosts = getUserChatBoosts(chatId = chat.id, userId = userId)

View File

@ -4,19 +4,20 @@ import dev.inmo.tgbotapi.bot.TelegramBot
import dev.inmo.tgbotapi.requests.get.GetUserProfilePhotos import dev.inmo.tgbotapi.requests.get.GetUserProfilePhotos
import dev.inmo.tgbotapi.types.chat.CommonUser import dev.inmo.tgbotapi.types.chat.CommonUser
import dev.inmo.tgbotapi.types.UserId import dev.inmo.tgbotapi.types.UserId
import dev.inmo.tgbotapi.types.UserProfilePhotos
suspend fun TelegramBot.getUserProfilePhotos( public suspend fun TelegramBot.getUserProfilePhotos(
userId: UserId, userId: UserId,
offset: Int? = null, offset: Int? = null,
limit: Int? = null limit: Int? = null
) = execute( ): UserProfilePhotos = execute(
GetUserProfilePhotos( GetUserProfilePhotos(
userId, offset, limit userId, offset, limit
) )
) )
suspend fun TelegramBot.getUserProfilePhotos( public suspend fun TelegramBot.getUserProfilePhotos(
user: CommonUser, user: CommonUser,
offset: Int? = null, offset: Int? = null,
limit: Int? = null limit: Int? = null
) = getUserProfilePhotos(user.id, offset, limit) ): UserProfilePhotos = getUserProfilePhotos(user.id, offset, limit)