2020-11-08 13:23:01 +00:00
|
|
|
package dev.inmo.plagubot
|
|
|
|
|
2022-06-11 13:19:19 +00:00
|
|
|
import dev.inmo.kslog.common.*
|
2022-05-16 17:58:16 +00:00
|
|
|
import dev.inmo.tgbotapi.extensions.api.bot.getMe
|
|
|
|
import dev.inmo.tgbotapi.extensions.api.send.reply
|
2021-01-10 09:21:31 +00:00
|
|
|
import dev.inmo.tgbotapi.extensions.behaviour_builder.BehaviourContext
|
2022-05-16 17:58:16 +00:00
|
|
|
import dev.inmo.tgbotapi.extensions.behaviour_builder.triggers_handling.onCommand
|
2022-05-16 14:07:57 +00:00
|
|
|
import kotlinx.serialization.*
|
|
|
|
import kotlinx.serialization.json.Json
|
|
|
|
import kotlinx.serialization.json.JsonObject
|
2020-11-11 17:05:21 +00:00
|
|
|
import org.jetbrains.exposed.sql.Database
|
2022-05-16 14:07:57 +00:00
|
|
|
import org.koin.core.Koin
|
|
|
|
import org.koin.core.KoinApplication
|
|
|
|
import org.koin.core.component.KoinComponent
|
|
|
|
import org.koin.core.component.get
|
2022-05-16 17:58:16 +00:00
|
|
|
import org.koin.core.module.Module
|
2022-05-16 14:07:57 +00:00
|
|
|
import org.koin.dsl.module
|
2020-11-11 17:05:21 +00:00
|
|
|
|
2020-11-12 05:52:09 +00:00
|
|
|
@Serializable
|
|
|
|
@SerialName("Hello")
|
2022-06-20 14:52:42 +00:00
|
|
|
object HelloPlugin : Plugin {
|
2022-05-16 14:07:57 +00:00
|
|
|
@Serializable
|
|
|
|
data class HelloPluginConfig(
|
|
|
|
val print: String
|
|
|
|
)
|
2022-05-16 17:58:16 +00:00
|
|
|
|
|
|
|
override fun Module.setupDI(database: Database, params: JsonObject) {
|
|
|
|
single {
|
|
|
|
get<Json>().decodeFromJsonElement(HelloPluginConfig.serializer(), params["helloPlugin"] ?: return@single null)
|
2022-05-16 14:07:57 +00:00
|
|
|
}
|
2022-05-16 17:58:16 +00:00
|
|
|
}
|
2022-05-16 14:07:57 +00:00
|
|
|
|
2022-05-16 17:58:16 +00:00
|
|
|
override suspend fun BehaviourContext.setupBotPlugin(koin: Koin) {
|
2022-06-11 13:19:19 +00:00
|
|
|
logger.d { koin.get<HelloPluginConfig>().print }
|
|
|
|
logger.dS { getMe().toString() }
|
2022-05-16 17:58:16 +00:00
|
|
|
onCommand("hello_world") {
|
|
|
|
reply(it, "Hello :)")
|
|
|
|
}
|
2020-11-12 05:52:09 +00:00
|
|
|
}
|
2020-11-11 17:05:21 +00:00
|
|
|
}
|