🤖 A wrapper for the Telegram Bot API written in Kotlin
A wrapper for the Telegram Bot API written in Kotlin.
Creating a bot instance is really simple:
fun main(args: Array) { val bot = bot { token = "YOUR_API_KEY" } }
Now lets poll telegram API and route all text updates:
fun main(args: Array) { val bot = bot { token = "YOUR_API_KEY" dispatch { text { bot, update -> val text = update.message?.text ?: "Hello, World!" bot.sendMessage(chatId = update.message!!.chat.id, text = text) } } } bot.startPolling() }
Want to route commands?:
fun main(args: Array) { val bot = bot { token = "YOUR_API_KEY" dispatch { command("start") { val result = bot.sendMessage(chatId = message.chat.id, text = "Hi there!") result.fold({ // do something here with the response },{ // do something with the error }) } } } bot.startPolling() }
Take a look at the examples folder.
There are several samples: * A simple echo bot * A more complex sample with commands, filter, reply markup keyboard and more * A sample getting updates through Telegram's webhook using a Netty server * An example bot sending polls and listening to poll answers
repositories { maven { url "https://jitpack.io" } }
dependencies { implementation 'io.github.kotlin-telegram-bot.kotlin-telegram-bot:telegram:x.y.z' }
./gradlew ktlintFormat
./gradlew checkto see if tests and ktlint pass.
Kotlin Telegram Bot is under the Apache 2.0 license. See the LICENSE for more information.