mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2025-12-17 19:55:49 +00:00
convertToStorageFile
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
package dev.inmo.tgbotapi.extensions.utils.types.files
|
||||
|
||||
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||
import dev.inmo.tgbotapi.requests.DownloadFileStream
|
||||
import dev.inmo.tgbotapi.requests.abstracts.FileId
|
||||
import dev.inmo.tgbotapi.requests.get.GetFile
|
||||
import dev.inmo.tgbotapi.types.files.PathedFile
|
||||
import dev.inmo.tgbotapi.types.files.abstracts.TelegramMediaFile
|
||||
import dev.inmo.tgbotapi.types.message.content.abstracts.MediaContent
|
||||
import dev.inmo.tgbotapi.utils.*
|
||||
|
||||
suspend fun convertToStorageFile(
|
||||
downloadStreamAllocator: ByteReadChannelAllocator,
|
||||
pathedFile: PathedFile,
|
||||
mimeType: MimeType
|
||||
): StorageFile {
|
||||
return downloadStreamAllocator.asStorageFile(
|
||||
pathedFile.fileName,
|
||||
mimeType
|
||||
)
|
||||
}
|
||||
|
||||
suspend fun TelegramBot.convertToStorageFile(
|
||||
pathedFile: PathedFile,
|
||||
mimeType: MimeType
|
||||
): StorageFile = convertToStorageFile(
|
||||
execute(DownloadFileStream(pathedFile.filePath)),
|
||||
pathedFile,
|
||||
mimeType
|
||||
)
|
||||
|
||||
suspend fun TelegramBot.convertToStorageFile(
|
||||
fileId: FileId,
|
||||
mimeType: MimeType
|
||||
): StorageFile = convertToStorageFile(execute(GetFile(fileId)), mimeType)
|
||||
|
||||
suspend fun TelegramBot.convertToStorageFile(
|
||||
file: TelegramMediaFile,
|
||||
mimeType: MimeType
|
||||
): StorageFile = convertToStorageFile(file.fileId, mimeType)
|
||||
|
||||
suspend fun TelegramBot.convertToStorageFile(
|
||||
content: MediaContent,
|
||||
mimeType: MimeType
|
||||
): StorageFile = convertToStorageFile(content.media, mimeType)
|
||||
@@ -0,0 +1,41 @@
|
||||
package dev.inmo.tgbotapi.types.files
|
||||
|
||||
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||
import dev.inmo.tgbotapi.requests.DownloadFileStream
|
||||
import dev.inmo.tgbotapi.requests.abstracts.FileId
|
||||
import dev.inmo.tgbotapi.requests.get.GetFile
|
||||
import dev.inmo.tgbotapi.types.files.abstracts.TelegramMediaFile
|
||||
import dev.inmo.tgbotapi.types.message.content.abstracts.MediaContent
|
||||
import dev.inmo.tgbotapi.utils.*
|
||||
import java.nio.file.Files
|
||||
import kotlin.io.path.Path
|
||||
|
||||
|
||||
suspend fun convertToStorageFile(
|
||||
downloadStreamAllocator: ByteReadChannelAllocator,
|
||||
pathedFile: PathedFile
|
||||
): StorageFile {
|
||||
return downloadStreamAllocator.asStorageFile(
|
||||
pathedFile.fileName,
|
||||
Files.probeContentType(Path(pathedFile.fileName)).asMimeType()
|
||||
)
|
||||
}
|
||||
|
||||
suspend fun TelegramBot.convertToStorageFile(
|
||||
pathedFile: PathedFile
|
||||
): StorageFile = convertToStorageFile(
|
||||
execute(DownloadFileStream(pathedFile.filePath)),
|
||||
pathedFile
|
||||
)
|
||||
|
||||
suspend fun TelegramBot.convertToStorageFile(
|
||||
fileId: FileId
|
||||
): StorageFile = convertToStorageFile(execute(GetFile(fileId)))
|
||||
|
||||
suspend fun TelegramBot.convertToStorageFile(
|
||||
file: TelegramMediaFile
|
||||
): StorageFile = convertToStorageFile(file.fileId)
|
||||
|
||||
suspend fun TelegramBot.convertToStorageFile(
|
||||
content: MediaContent
|
||||
): StorageFile = convertToStorageFile(content.media)
|
||||
Reference in New Issue
Block a user