Compare commits

..

8 Commits

Author SHA1 Message Date
bbe9367ef3 update gradle wrapper 2025-04-30 13:37:12 +06:00
6403fe6f5d update dependencies 2025-04-30 13:36:50 +06:00
3cad9ec337 start 0.26.5 2025-04-30 13:34:36 +06:00
78e5da9db7 Merge pull request #105 from InsanusMokrassar/0.26.4
0.26.4
2025-03-26 22:40:12 +06:00
74329a8eb2 small improvements 2025-03-26 20:41:46 +06:00
953df71d9e add MessageContentCache.sendAndSave 2025-03-26 18:14:25 +06:00
c25f6d522f start 0.26.4 2025-03-26 18:10:27 +06:00
d569f46e48 Merge pull request #100 from InsanusMokrassar/0.26.3
0.26.3
2025-02-16 09:24:40 +06:00
4 changed files with 43 additions and 8 deletions

View File

@@ -1,11 +1,15 @@
package dev.inmo.tgbotapi.libraries.cache.media.common
import dev.inmo.tgbotapi.bot.TelegramBot
import dev.inmo.tgbotapi.requests.DeleteMessage
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.send.media.*
import dev.inmo.tgbotapi.types.IdChatIdentifier
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.MessageContent
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? {
val savedSimpleContent = simpleMessageContentCache.get(k) ?: return null

View File

@@ -1,5 +1,7 @@
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.MessageContent
import io.ktor.utils.io.core.Input
@@ -12,6 +14,11 @@ interface MessageContentCache<K> {
filename: String,
inputAllocator: suspend () -> Input
)
suspend fun sendAndSave(
k: K,
filename: String,
inputAllocator: () -> Input
): DocumentContent
suspend fun get(k: K): MessageContent?
suspend fun contains(k: K): Boolean

View File

@@ -6,15 +6,15 @@ kotlin.incremental=true
kotlin.incremental.js=true
kotlin_version=2.1.10
kotlin_serialisation_core_version=1.8.0
kotlin_version=2.1.20
kotlin_serialisation_core_version=1.8.1
github_release_plugin_version=2.5.2
tgbotapi_version=23.2.0
micro_utils_version=0.24.6
exposed_version=0.59.0
plagubot_version=10.4.0
tgbotapi_version=24.0.2
micro_utils_version=0.25.5
exposed_version=0.61.0
plagubot_version=10.5.0
# Dokka
@@ -23,4 +23,4 @@ dokka_version=2.0.0
# Project data
group=dev.inmo
version=0.26.3
version=0.26.5

View File

@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists