mirror of
https://github.com/InsanusMokrassar/TelegramBotApiLibraries.git
synced 2025-10-27 18:20:27 +00:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 74329a8eb2 | |||
| 953df71d9e | |||
| c25f6d522f | |||
| d569f46e48 | |||
| f2731f6e7d | |||
| f10c7412f4 | |||
| a113e6e37e |
@@ -1,11 +1,15 @@
|
|||||||
package dev.inmo.tgbotapi.libraries.cache.media.common
|
package dev.inmo.tgbotapi.libraries.cache.media.common
|
||||||
|
|
||||||
import dev.inmo.tgbotapi.bot.TelegramBot
|
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||||
|
import dev.inmo.tgbotapi.requests.DeleteMessage
|
||||||
import dev.inmo.tgbotapi.requests.DownloadFileStream
|
import dev.inmo.tgbotapi.requests.DownloadFileStream
|
||||||
|
import dev.inmo.tgbotapi.requests.abstracts.MultipartFile
|
||||||
import dev.inmo.tgbotapi.requests.get.GetFile
|
import dev.inmo.tgbotapi.requests.get.GetFile
|
||||||
import dev.inmo.tgbotapi.requests.send.media.*
|
import dev.inmo.tgbotapi.requests.send.media.*
|
||||||
import dev.inmo.tgbotapi.types.IdChatIdentifier
|
import dev.inmo.tgbotapi.types.IdChatIdentifier
|
||||||
import dev.inmo.tgbotapi.types.media.*
|
import dev.inmo.tgbotapi.types.media.*
|
||||||
|
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
||||||
|
import dev.inmo.tgbotapi.types.message.content.DocumentContent
|
||||||
import dev.inmo.tgbotapi.types.message.content.MediaContent
|
import dev.inmo.tgbotapi.types.message.content.MediaContent
|
||||||
import dev.inmo.tgbotapi.types.message.content.MessageContent
|
import dev.inmo.tgbotapi.types.message.content.MessageContent
|
||||||
import dev.inmo.tgbotapi.utils.asInput
|
import dev.inmo.tgbotapi.utils.asInput
|
||||||
@@ -58,6 +62,30 @@ class DefaultMessageContentCache<K>(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override suspend fun sendAndSave(
|
||||||
|
k: K,
|
||||||
|
filename: String,
|
||||||
|
inputAllocator: () -> Input
|
||||||
|
): DocumentContent {
|
||||||
|
val sentDocument = bot.execute(
|
||||||
|
SendDocument(
|
||||||
|
filesRefreshingChatId,
|
||||||
|
MultipartFile(filename, inputAllocator),
|
||||||
|
)
|
||||||
|
)
|
||||||
|
save(k, sentDocument.content, filename, inputAllocator)
|
||||||
|
runCatching {
|
||||||
|
bot.execute(
|
||||||
|
DeleteMessage(
|
||||||
|
sentDocument.chat.id,
|
||||||
|
sentDocument.messageId
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
return sentDocument.content
|
||||||
|
}
|
||||||
|
|
||||||
override suspend fun get(k: K): MessageContent? {
|
override suspend fun get(k: K): MessageContent? {
|
||||||
val savedSimpleContent = simpleMessageContentCache.get(k) ?: return null
|
val savedSimpleContent = simpleMessageContentCache.get(k) ?: return null
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
package dev.inmo.tgbotapi.libraries.cache.media.common
|
package dev.inmo.tgbotapi.libraries.cache.media.common
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
||||||
|
import dev.inmo.tgbotapi.types.message.content.DocumentContent
|
||||||
import dev.inmo.tgbotapi.types.message.content.MediaContent
|
import dev.inmo.tgbotapi.types.message.content.MediaContent
|
||||||
import dev.inmo.tgbotapi.types.message.content.MessageContent
|
import dev.inmo.tgbotapi.types.message.content.MessageContent
|
||||||
import io.ktor.utils.io.core.Input
|
import io.ktor.utils.io.core.Input
|
||||||
@@ -12,6 +14,11 @@ interface MessageContentCache<K> {
|
|||||||
filename: String,
|
filename: String,
|
||||||
inputAllocator: suspend () -> Input
|
inputAllocator: suspend () -> Input
|
||||||
)
|
)
|
||||||
|
suspend fun sendAndSave(
|
||||||
|
k: K,
|
||||||
|
filename: String,
|
||||||
|
inputAllocator: () -> Input
|
||||||
|
): DocumentContent
|
||||||
|
|
||||||
suspend fun get(k: K): MessageContent?
|
suspend fun get(k: K): MessageContent?
|
||||||
suspend fun contains(k: K): Boolean
|
suspend fun contains(k: K): Boolean
|
||||||
|
|||||||
@@ -11,10 +11,10 @@ kotlin_serialisation_core_version=1.8.0
|
|||||||
|
|
||||||
github_release_plugin_version=2.5.2
|
github_release_plugin_version=2.5.2
|
||||||
|
|
||||||
tgbotapi_version=23.1.2
|
tgbotapi_version=23.2.0
|
||||||
micro_utils_version=0.24.5
|
micro_utils_version=0.24.6
|
||||||
exposed_version=0.58.0
|
exposed_version=0.59.0
|
||||||
plagubot_version=10.3.1
|
plagubot_version=10.4.0
|
||||||
|
|
||||||
# Dokka
|
# Dokka
|
||||||
|
|
||||||
@@ -23,4 +23,4 @@ dokka_version=2.0.0
|
|||||||
# Project data
|
# Project data
|
||||||
|
|
||||||
group=dev.inmo
|
group=dev.inmo
|
||||||
version=0.26.2
|
version=0.26.4
|
||||||
|
|||||||
Reference in New Issue
Block a user