Compare commits

..

1 Commits

Author SHA1 Message Date
renovate[bot]
9653bc3324 Update tgbotapi_version to v23.2.1 2025-02-20 23:36:26 +00:00
9 changed files with 14 additions and 72 deletions

View File

@@ -13,23 +13,6 @@ buildscript {
}
}
plugins {
id "com.gradleup.nmcp.aggregation" version "$nmcp_version"
}
if ((project.hasProperty('SONATYPE_USER') || System.getenv('SONATYPE_USER') != null) && (project.hasProperty('SONATYPE_PASSWORD') || System.getenv('SONATYPE_PASSWORD') != null)) {
nmcpAggregation {
centralPortal {
username = project.hasProperty('SONATYPE_USER') ? project.property('SONATYPE_USER') : System.getenv('SONATYPE_USER')
password = project.hasProperty('SONATYPE_PASSWORD') ? project.property('SONATYPE_PASSWORD') : System.getenv('SONATYPE_PASSWORD')
validationTimeout = Duration.ofHours(4)
publishingType = System.getenv('PUBLISHING_TYPE') != "" ? System.getenv('PUBLISHING_TYPE') : "USER_MANAGED"
}
publishAllProjectsProbablyBreakingProjectIsolation()
}
}
allprojects {
repositories {
mavenLocal()

View File

@@ -34,7 +34,7 @@ class DefaultAdminsCacheAPIRepoImpl(
private val scope: CoroutineScope
) : DefaultAdminsCacheAPIRepo {
private val actor = scope.actorAsync<RepoActions<*>>(Channel.UNLIMITED) {
runCatchingLogging (
safelyWithoutExceptions(
{ e ->
it.deferred.completeExceptionally(e)
}

View File

@@ -14,7 +14,7 @@ import kotlinx.serialization.*
import kotlinx.serialization.json.Json
import kotlinx.serialization.modules.SerializersModule
import kotlinx.serialization.modules.polymorphic
import org.jetbrains.exposed.v1.jdbc.Database
import org.jetbrains.exposed.sql.Database
val telegramAdminsSerializationFormat = Json {
ignoreUnknownKeys = true

View File

@@ -16,7 +16,7 @@ import kotlinx.coroutines.sync.Mutex
import kotlinx.coroutines.sync.withLock
import kotlinx.serialization.*
import kotlinx.serialization.json.JsonObject
import org.jetbrains.exposed.v1.jdbc.Database
import org.jetbrains.exposed.sql.Database
import org.koin.core.Koin
import org.koin.core.module.Module
import org.koin.core.qualifier.named

View File

@@ -1,15 +1,11 @@
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
@@ -62,30 +58,6 @@ 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,7 +1,5 @@
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
@@ -14,11 +12,6 @@ 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

@@ -1,5 +1,3 @@
@file:Suppress("RemoveExplicitTypeArguments", "unused")
package dev.inmo.tgbotapi.libraries.cache.media.micro_utils
import dev.inmo.micro_utils.repos.*
@@ -10,6 +8,7 @@ import dev.inmo.tgbotapi.types.MessageId
import dev.inmo.tgbotapi.types.message.content.MessageContent
import kotlinx.serialization.*
import kotlinx.serialization.builtins.PairSerializer
import kotlinx.serialization.builtins.serializer
import kotlinx.serialization.json.Json
import kotlinx.serialization.modules.SerializersModule
import kotlin.js.JsName
@@ -53,12 +52,11 @@ val chatIdToMessageIdentifierSerializer = PairSerializer(
val messageContentSerializer = PolymorphicSerializer<MessageContent>(MessageContent::class)
fun <K> KeyValueRepo<K, MessageContent>.asMessageContentCache() = SimpleKeyValueMessageContentCache(this)
inline fun <K> KeyValueRepo<K, MessageContent>.asMessageContentCache() = SimpleKeyValueMessageContentCache(this)
inline fun KeyValueRepo<String, String>.asMessageContentCache(
serialFormatCreator: (SerializersModule) -> StringFormat = { Json { serializersModule = it } }
): StandardKeyValueRepo<Pair<ChatId, MessageId>, MessageContent> {
@Suppress("OPT_IN_USAGE")
val serialFormat = serialFormatCreator(MessageContent.serializationModule())
return withMapper<Pair<ChatId, MessageId>, MessageContent, String, String>(
{ serialFormat.encodeToString(chatIdToMessageIdentifierSerializer, this) },
@@ -73,7 +71,6 @@ inline fun KeyValueRepo<String, String>.asMessageContentCache(
inline fun KeyValueRepo<String, String>.asMessageContentCache(
serialFormatCreator: (SerializersModule) -> BinaryFormat
): StandardKeyValueRepo<Pair<ChatId, MessageId>, MessageContent> {
@Suppress("OPT_IN_USAGE")
val serialFormat = serialFormatCreator(MessageContent.serializationModule())
return withMapper<Pair<ChatId, MessageId>, MessageContent, String, String>(
{ serialFormat.encodeToHexString(chatIdToMessageIdentifierSerializer, this) },
@@ -88,7 +85,6 @@ inline fun KeyValueRepo<String, String>.asMessageContentCache(
inline fun KeyValueRepo<ByteArray, ByteArray>.asMessageContentCache(
serialFormatCreator: (SerializersModule) -> BinaryFormat
): StandardKeyValueRepo<Pair<ChatId, MessageId>, MessageContent> {
@Suppress("OPT_IN_USAGE")
val serialFormat = serialFormatCreator(MessageContent.serializationModule())
return withMapper<Pair<ChatId, MessageId>, MessageContent, ByteArray, ByteArray>(
{ serialFormat.encodeToByteArray(chatIdToMessageIdentifierSerializer, this) },

View File

@@ -6,23 +6,21 @@ kotlin.incremental=true
kotlin.incremental.js=true
kotlin_version=2.3.10
kotlin_serialisation_core_version=1.10.0
kotlin_version=2.1.10
kotlin_serialisation_core_version=1.8.0
github_release_plugin_version=2.5.2
tgbotapi_version=32.0.0
micro_utils_version=0.29.1
exposed_version=1.1.1
plagubot_version=11.0.0
nmcp_version=1.4.4
tgbotapi_version=23.2.1
micro_utils_version=0.24.6
exposed_version=0.59.0
plagubot_version=10.4.0
# Dokka
dokka_version=2.1.0
dokka_version=2.0.0
# Project data
group=dev.inmo
version=0.29.0
version=0.26.3

View File

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