diff --git a/.gitignore b/.gitignore index 376458b..64f9fd4 100644 --- a/.gitignore +++ b/.gitignore @@ -10,5 +10,7 @@ build/ out/ local.properties +local.* +local.*/ config.json secret.gradle diff --git a/CHANGELOG.md b/CHANGELOG.md index d54ee28..eb04dbf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## 1.1.1 + +* `Versions` + * `coroutines`: `1.6.2` + * `tgbotapi`: `2.0.2` + * `microutils`: `0.11.0` + * `ktor`: `2.0.2` + * `uuid`: `0.4.1` + ## 1.1.0 * `Versions` diff --git a/bot/build.gradle b/bot/build.gradle index ec782bc..fe93273 100644 --- a/bot/build.gradle +++ b/bot/build.gradle @@ -17,6 +17,7 @@ dependencies { api libs.tgbotapi api libs.microutils.repos.exposed + api libs.kslog api libs.sqlite diff --git a/bot/src/main/kotlin/dev/inmo/plagubot/App.kt b/bot/src/main/kotlin/dev/inmo/plagubot/App.kt index bfca750..d364515 100644 --- a/bot/src/main/kotlin/dev/inmo/plagubot/App.kt +++ b/bot/src/main/kotlin/dev/inmo/plagubot/App.kt @@ -1,7 +1,7 @@ package dev.inmo.plagubot +import dev.inmo.kslog.common.* import dev.inmo.plagubot.config.* -import kotlinx.coroutines.* import kotlinx.serialization.InternalSerializationApi import kotlinx.serialization.json.jsonObject import java.io.File @@ -11,10 +11,13 @@ import java.io.File */ @InternalSerializationApi suspend fun main(args: Array) { + KSLog.default = KSLog("PlaguBot") val (configPath) = args val file = File(configPath) + KSLog.i("Start read config from ${file.absolutePath}") val json = defaultJsonFormat.parseToJsonElement(file.readText()).jsonObject val config = defaultJsonFormat.decodeFromJsonElement(Config.serializer(), json) + KSLog.i("Config has been read") PlaguBot(json, config).start().join() } diff --git a/bot/src/main/kotlin/dev/inmo/plagubot/HelloPlugin.kt b/bot/src/main/kotlin/dev/inmo/plagubot/HelloPlugin.kt index ed82f6e..77dba0d 100644 --- a/bot/src/main/kotlin/dev/inmo/plagubot/HelloPlugin.kt +++ b/bot/src/main/kotlin/dev/inmo/plagubot/HelloPlugin.kt @@ -1,5 +1,6 @@ package dev.inmo.plagubot +import dev.inmo.kslog.common.* import dev.inmo.tgbotapi.extensions.api.bot.getMe import dev.inmo.tgbotapi.extensions.api.send.reply import dev.inmo.tgbotapi.extensions.behaviour_builder.BehaviourContext @@ -30,8 +31,8 @@ class HelloPlugin : Plugin { } override suspend fun BehaviourContext.setupBotPlugin(koin: Koin) { - println(koin.get().print) - println(getMe()) + logger.d { koin.get().print } + logger.dS { getMe().toString() } onCommand("hello_world") { reply(it, "Hello :)") } diff --git a/bot/src/main/kotlin/dev/inmo/plagubot/PlaguBot.kt b/bot/src/main/kotlin/dev/inmo/plagubot/PlaguBot.kt index f57d5a3..59b1cdb 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.kslog.common.* import dev.inmo.micro_utils.coroutines.runCatchingSafely import dev.inmo.plagubot.config.* import dev.inmo.tgbotapi.bot.ktor.telegramBot @@ -28,8 +29,6 @@ data class PlaguBot( private val json: JsonObject, private val config: Config ) : Plugin { - @Transient - private val logger = Logger.getLogger("PlaguBot") @Transient private val bot = telegramBot(config.botToken) @@ -50,7 +49,7 @@ data class PlaguBot( } } }.onFailure { e -> - logger.log(Level.WARNING, "Unable to load DI part of $it", e) + logger.w("Unable to load DI part of $it", e) }.getOrNull() } ) @@ -60,14 +59,14 @@ data class PlaguBot( config.plugins.map { launch { runCatchingSafely { - logger.info("Start loading of $it") + logger.i("Start loading of $it") with(it) { setupBotPlugin(koin) } }.onFailure { e -> - logger.log(Level.WARNING, "Unable to load bot part of $it", e) + logger.w("Unable to load bot part of $it", e) }.onSuccess { - logger.info("Complete loading of $it") + logger.i("Complete loading of $it") } } }.joinAll() @@ -79,26 +78,26 @@ data class PlaguBot( suspend fun start( scope: CoroutineScope = CoroutineScope(Dispatchers.IO) ): Job { - logger.info("Start initialization") + logger.i("Start initialization") val koinApp = KoinApplication.init() koinApp.modules( module { setupDI(config.databaseConfig.database, json) } ) - logger.info("Modules loaded") + logger.i("Modules loaded") GlobalContext.startKoin(koinApp) - logger.info("Koin started") + logger.i("Koin started") lateinit var behaviourContext: BehaviourContext bot.buildBehaviour(scope = scope) { - logger.info("Start setup of bot part") + logger.i("Start setup of bot part") behaviourContext = this setupBotPlugin(koinApp.koin) deleteWebhook() } - logger.info("Behaviour builder has been setup") + logger.i("Behaviour builder has been setup") return bot.startGettingOfUpdatesByLongPolling(scope = behaviourContext, updatesFilter = behaviourContext).also { - logger.info("Long polling has been started") + logger.i("Long polling has been started") } } } diff --git a/gradle.properties b/gradle.properties index b612185..5158144 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,4 +5,4 @@ kotlin.js.generate.externals=true kotlin.incremental=true group=dev.inmo -version=1.1.0 +version=1.1.1 diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 5488d5e..4bb0c19 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -2,10 +2,11 @@ kt = "1.6.21" kt-serialization = "1.3.3" -kt-coroutines = "1.6.1" +kt-coroutines = "1.6.2" -microutils = "0.10.5" -tgbotapi = "2.0.0" +microutils = "0.11.0" +tgbotapi = "2.0.2" +kslog = "0.3.0" jb-exposed = "0.38.2" jb-dokka = "1.6.21" @@ -13,9 +14,9 @@ jb-dokka = "1.6.21" sqlite = "3.36.0.3" klock = "2.7.0" -uuid = "0.4.0" +uuid = "0.4.1" -ktor = "2.0.1" +ktor = "2.0.2" gh-release = "2.3.7" @@ -32,6 +33,7 @@ kt-serialization = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json" tgbotapi = { module = "dev.inmo:tgbotapi", version.ref = "tgbotapi" } microutils-repos-exposed = { module = "dev.inmo:micro_utils.repos.exposed", version.ref = "microutils" } +kslog = { module = "dev.inmo:kslog", version.ref = "kslog" } koin = { module = "io.insert-koin:koin-core", version.ref = "koin" }