Merge pull request #1 from InsanusMokrassar/0.32.0

0.32.0
This commit is contained in:
InsanusMokrassar 2021-01-29 18:45:19 +06:00 committed by GitHub
commit 80b28bd7a9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 38 additions and 6 deletions

16
.github/workflows/build.yml vendored Normal file
View File

@ -0,0 +1,16 @@
name: Build
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Build with Gradle
run: ./gradlew build

View File

@ -22,8 +22,6 @@ repositories {
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlin_coroutines_version"
implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlin_serialisation_runtime_version"
implementation "dev.inmo:tgbotapi:$tgbotapi_version"
}

View File

@ -5,6 +5,4 @@ kotlin.js.generate.externals=true
kotlin.incremental=true
kotlin_version=1.4.21
kotlin_coroutines_version=1.4.2
kotlin_serialisation_runtime_version=1.0.1
tgbotapi_version=0.30.13
tgbotapi_version=0.32.0

View File

@ -2,12 +2,32 @@ package telegram_bot
import dev.inmo.tgbotapi.bot.Ktor.telegramBot
import dev.inmo.tgbotapi.extensions.api.bot.getMe
import dev.inmo.tgbotapi.extensions.api.send.reply
import dev.inmo.tgbotapi.extensions.behaviour_builder.buildBehaviour
import dev.inmo.tgbotapi.extensions.behaviour_builder.triggers_handling.onCommand
import kotlinx.coroutines.*
/**
* This method by default expects one argument in [args] field: telegram bot token
*/
suspend fun main(args: Array<String>) {
// that is your bot
val bot = telegramBot(args.first())
println(bot.getMe())
// that is kotlin coroutine scope which will be used in requests and parallel works under the hood
val scope = CoroutineScope(Dispatchers.Default)
// here should be main logic of your bot
bot.buildBehaviour(scope) {
// in this lambda you will be able to call methods without "bot." prefix
val me = getMe()
// this method will create point to react on each /start command
onCommand("/start", requireOnlyCommandInMessage = true) {
// simply reply :)
reply(it, "Hello, I am ${me.firstName}")
}
}
scope.coroutineContext.job.join()
}