small improvements

This commit is contained in:
2025-03-26 20:41:46 +06:00
parent 953df71d9e
commit 74329a8eb2
2 changed files with 17 additions and 2 deletions

View File

@@ -1,12 +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.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
@@ -63,7 +66,7 @@ class DefaultMessageContentCache<K>(
k: K, k: K,
filename: String, filename: String,
inputAllocator: () -> Input inputAllocator: () -> Input
) { ): DocumentContent {
val sentDocument = bot.execute( val sentDocument = bot.execute(
SendDocument( SendDocument(
filesRefreshingChatId, filesRefreshingChatId,
@@ -71,6 +74,16 @@ class DefaultMessageContentCache<K>(
) )
) )
save(k, sentDocument.content, 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? {

View File

@@ -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
@@ -16,7 +18,7 @@ interface MessageContentCache<K> {
k: K, k: K,
filename: String, filename: String,
inputAllocator: () -> Input 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