diff --git a/CHANGELOG.md b/CHANGELOG.md index 507bb8d..ba30dd5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ ## 1.0.1 +* `Versions` + * `tgbotapi`: `1.1.3` + * `microutils`: `0.10.5` +* `Plugin`: + * All plugins will be loaded in parallel + ## 1.0.0 * `Versions` diff --git a/bot/src/main/kotlin/dev/inmo/plagubot/PlaguBot.kt b/bot/src/main/kotlin/dev/inmo/plagubot/PlaguBot.kt index f698aa2..f57d5a3 100644 --- a/bot/src/main/kotlin/dev/inmo/plagubot/PlaguBot.kt +++ b/bot/src/main/kotlin/dev/inmo/plagubot/PlaguBot.kt @@ -1,5 +1,6 @@ package dev.inmo.plagubot +import dev.inmo.micro_utils.coroutines.runCatchingSafely import dev.inmo.plagubot.config.* import dev.inmo.tgbotapi.bot.ktor.telegramBot import dev.inmo.tgbotapi.extensions.api.webhook.deleteWebhook @@ -56,15 +57,20 @@ data class PlaguBot( } override suspend fun BehaviourContext.setupBotPlugin(koin: Koin) { - config.plugins.forEach { - runCatching { - with(it) { - setupBotPlugin(koin) + config.plugins.map { + launch { + runCatchingSafely { + logger.info("Start loading of $it") + with(it) { + setupBotPlugin(koin) + } + }.onFailure { e -> + logger.log(Level.WARNING, "Unable to load bot part of $it", e) + }.onSuccess { + logger.info("Complete loading of $it") } - }.onFailure { e -> - logger.log(Level.WARNING, "Unable to load bot part of $it", e) } - } + }.joinAll() } /** diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 48b2b7f..5d36f5d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -4,8 +4,8 @@ kt = "1.6.21" kt-serialization = "1.3.3" kt-coroutines = "1.6.1" -microutils = "0.10.4" -tgbotapi = "1.1.0" +microutils = "0.10.5" +tgbotapi = "1.1.3" jb-exposed = "0.38.2" jb-dokka = "1.6.21"