mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2024-12-02 15:00:06 +00:00
Compare commits
No commits in common. "ff7702486f6f2cab9f1f6a4961f1fce23f8d28b0" and "8243acd69e6aa88be986269b520461697c54df8f" have entirely different histories.
ff7702486f
...
8243acd69e
@ -4,8 +4,6 @@
|
|||||||
|
|
||||||
* `Core`:
|
* `Core`:
|
||||||
* New function `regularln` for simple creating of `RegularTextSource` with new line in the end
|
* New function `regularln` for simple creating of `RegularTextSource` with new line in the end
|
||||||
* `API`:
|
|
||||||
* New function `downloadFileToTemp` for simple downloading of file in filesystem and manipulation with avoiding of direct using input streams and other low-level things
|
|
||||||
* `Versions`:
|
* `Versions`:
|
||||||
* `MicroUtils`: `0.11.0` -> `0.11.3`
|
* `MicroUtils`: `0.11.0` -> `0.11.3`
|
||||||
|
|
||||||
|
@ -22,4 +22,4 @@ dokka_version=1.6.21
|
|||||||
library_group=dev.inmo
|
library_group=dev.inmo
|
||||||
library_version=2.0.3
|
library_version=2.0.3
|
||||||
|
|
||||||
github_release_plugin_version=2.4.1
|
github_release_plugin_version=2.3.7
|
||||||
|
@ -1,57 +0,0 @@
|
|||||||
package dev.inmo.tgbotapi.extensions.api.files
|
|
||||||
|
|
||||||
import com.benasher44.uuid.uuid4
|
|
||||||
import dev.inmo.micro_utils.common.filename
|
|
||||||
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.abstracts.FileId
|
|
||||||
import dev.inmo.tgbotapi.types.files.PathedFile
|
|
||||||
import dev.inmo.tgbotapi.types.files.TelegramMediaFile
|
|
||||||
import dev.inmo.tgbotapi.types.message.content.MediaContent
|
|
||||||
import dev.inmo.tgbotapi.utils.fileExtension
|
|
||||||
import io.ktor.util.cio.use
|
|
||||||
import io.ktor.util.cio.writeChannel
|
|
||||||
import io.ktor.utils.io.copyTo
|
|
||||||
import kotlinx.coroutines.job
|
|
||||||
import java.io.File
|
|
||||||
import kotlin.coroutines.coroutineContext
|
|
||||||
|
|
||||||
suspend fun TelegramBot.downloadFileToTemp(
|
|
||||||
filePath: String
|
|
||||||
): File {
|
|
||||||
return downloadFile(
|
|
||||||
filePath,
|
|
||||||
File.createTempFile(uuid4().toString(), "_temp").apply {
|
|
||||||
deleteOnExit()
|
|
||||||
}
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
suspend fun TelegramBot.downloadFileToTemp(
|
|
||||||
pathedFile: PathedFile
|
|
||||||
) = downloadFileToTemp(
|
|
||||||
pathedFile.filePath
|
|
||||||
).apply {
|
|
||||||
runCatching {
|
|
||||||
renameTo(File(parentFile, "$nameWithoutExtension.${pathedFile.fileName.fileExtension}"))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
suspend fun TelegramBot.downloadFileToTemp(
|
|
||||||
fileId: FileId
|
|
||||||
) = downloadFileToTemp(
|
|
||||||
getFileAdditionalInfo(fileId)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun TelegramBot.downloadFileToTemp(
|
|
||||||
file: TelegramMediaFile
|
|
||||||
): File = downloadFileToTemp(
|
|
||||||
getFileAdditionalInfo(file)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun TelegramBot.downloadFileToTemp(
|
|
||||||
file: MediaContent
|
|
||||||
) = downloadFileToTemp(
|
|
||||||
getFileAdditionalInfo(file.media)
|
|
||||||
)
|
|
Loading…
Reference in New Issue
Block a user