mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI-bot_template.git
synced 2024-11-26 03:58:48 +00:00
commit
80b28bd7a9
16
.github/workflows/build.yml
vendored
Normal file
16
.github/workflows/build.yml
vendored
Normal 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
|
@ -22,8 +22,6 @@ repositories {
|
|||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
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"
|
implementation "dev.inmo:tgbotapi:$tgbotapi_version"
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,4 @@ kotlin.js.generate.externals=true
|
|||||||
kotlin.incremental=true
|
kotlin.incremental=true
|
||||||
|
|
||||||
kotlin_version=1.4.21
|
kotlin_version=1.4.21
|
||||||
kotlin_coroutines_version=1.4.2
|
tgbotapi_version=0.32.0
|
||||||
kotlin_serialisation_runtime_version=1.0.1
|
|
||||||
tgbotapi_version=0.30.13
|
|
||||||
|
@ -2,12 +2,32 @@ package telegram_bot
|
|||||||
|
|
||||||
import dev.inmo.tgbotapi.bot.Ktor.telegramBot
|
import dev.inmo.tgbotapi.bot.Ktor.telegramBot
|
||||||
import dev.inmo.tgbotapi.extensions.api.bot.getMe
|
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
|
* This method by default expects one argument in [args] field: telegram bot token
|
||||||
*/
|
*/
|
||||||
suspend fun main(args: Array<String>) {
|
suspend fun main(args: Array<String>) {
|
||||||
|
// that is your bot
|
||||||
val bot = telegramBot(args.first())
|
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()
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user