initPlaguBot

This commit is contained in:
InsanusMokrassar 2020-11-13 11:25:04 +06:00
parent f515c7548b
commit b4106d7710
2 changed files with 19 additions and 11 deletions

View File

@ -2,6 +2,9 @@
## 0.0.3
* `Bot`:
* New function `initPlaguBot` which actually will launch the bot
## 0.0.2
* `Versions`

View File

@ -11,17 +11,10 @@ import kotlinx.coroutines.*
import kotlinx.serialization.InternalSerializationApi
import java.io.File
/**
* This method by default expects one argument in [args] field: path to config
*/
@InternalSerializationApi
suspend fun main(args: Array<String>) {
val (configPath) = args
val file = File(configPath)
val config = configSerialFormat.decodeFromString(Config.serializer(), file.readText())
val scope = CoroutineScope(Dispatchers.Default)
suspend inline fun initPlaguBot(
config: Config,
scope: CoroutineScope = CoroutineScope(Dispatchers.Default)
) {
val bot = telegramBot(config.botToken)
bot.startGettingFlowsUpdatesByLongPolling(scope = scope) {
@ -41,6 +34,18 @@ suspend fun main(args: Array<String>) {
}
}
}
}
/**
* This method by default expects one argument in [args] field: path to config
*/
@InternalSerializationApi
suspend fun main(args: Array<String>) {
val (configPath) = args
val file = File(configPath)
val config = configSerialFormat.decodeFromString(Config.serializer(), file.readText())
val scope = CoroutineScope(Dispatchers.Default)
initPlaguBot(config, scope)
scope.coroutineContext.job.join()
}