1
0
mirror of https://github.com/InsanusMokrassar/TelegramBotAPI.git synced 2025-12-07 14:55:55 +00:00

files downloading improvements

This commit is contained in:
2021-08-09 19:55:08 +06:00
parent 8dbdbdee13
commit abc0457a36
5 changed files with 72 additions and 5 deletions

View File

@@ -16,8 +16,8 @@ suspend fun TelegramBot.downloadFile(
suspend fun TelegramBot.downloadFile(
pathedFile: PathedFile
): ByteArray = execute(
DownloadFile(pathedFile.filePath)
): ByteArray = downloadFile(
pathedFile.filePath
)
suspend fun TelegramBot.downloadFile(

View File

@@ -0,0 +1,56 @@
package dev.inmo.tgbotapi.extensions.api
import dev.inmo.micro_utils.coroutines.doOutsideOfCoroutine
import dev.inmo.tgbotapi.bot.TelegramBot
import dev.inmo.tgbotapi.extensions.api.get.getFileAdditionalInfo
import dev.inmo.tgbotapi.requests.DownloadFile
import dev.inmo.tgbotapi.requests.abstracts.FileId
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 java.io.File
suspend fun TelegramBot.downloadFile(
filePath: String,
destFile: File
): File {
val bytes = downloadFile(filePath)
destFile.deleteRecursively()
doOutsideOfCoroutine { destFile.createNewFile() }
destFile.writeBytes(bytes)
return destFile
}
suspend fun TelegramBot.downloadFile(
pathedFile: PathedFile,
destFile: File
) = downloadFile(
pathedFile.filePath,
destFile
)
suspend fun TelegramBot.downloadFile(
fileId: FileId,
destFile: File
) = downloadFile(
getFileAdditionalInfo(fileId),
destFile
)
suspend fun TelegramBot.downloadFile(
file: TelegramMediaFile,
destFile: File
): File = downloadFile(
getFileAdditionalInfo(file),
destFile
)
suspend fun TelegramBot.downloadFile(
file: MediaContent,
destFile: File
) = downloadFile(
getFileAdditionalInfo(file.media),
destFile
)