PlaguPoster/inlines/src/jvmMain/kotlin/Plugin.kt

30 lines
927 B
Kotlin
Raw Normal View History

2022-09-09 13:40:46 +00:00
package dev.inmo.plaguposter.inlines
2022-10-11 05:38:50 +00:00
import dev.inmo.kslog.common.TagLogger
import dev.inmo.kslog.common.w
2022-09-09 13:40:46 +00:00
import dev.inmo.plagubot.Plugin
import dev.inmo.tgbotapi.extensions.behaviour_builder.BehaviourContext
2022-11-18 06:43:53 +00:00
import kotlinx.serialization.json.JsonObject
import org.jetbrains.exposed.sql.Database
2022-09-09 13:40:46 +00:00
import org.koin.core.Koin
2022-11-18 06:43:53 +00:00
import org.koin.core.module.Module
2022-09-09 13:40:46 +00:00
2022-10-11 05:38:50 +00:00
private val actualPlugin = dev.inmo.plagubot.plugins.inline.queries.Plugin
2022-09-09 13:40:46 +00:00
2022-10-11 05:38:50 +00:00
object Plugin : Plugin by actualPlugin {
private val log = TagLogger("InlinePlugin")
2022-11-18 06:43:53 +00:00
override fun Module.setupDI(database: Database, params: JsonObject) {
single { actualPlugin }
}
2022-09-09 13:40:46 +00:00
override suspend fun BehaviourContext.setupBotPlugin(koin: Koin) {
2022-10-11 05:38:50 +00:00
log.w {
"Built-in inline plugin has been deprecated. Use \"${actualPlugin::class.qualifiedName}\" instead"
2022-09-09 14:38:06 +00:00
}
2022-10-11 05:38:50 +00:00
with(actualPlugin) {
setupBotPlugin(koin)
2022-09-09 14:38:06 +00:00
}
2022-09-09 13:40:46 +00:00
}
}