From 0489f217b323670241debe3d0c6fdf12969274fa Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Wed, 11 May 2022 12:15:18 +0600 Subject: [PATCH] update examples --- .../src/commonMain/kotlin/KeyboardsBot.kt | 24 ++++++++++++++++++- WebApp/src/jvmMain/kotlin/WebAppServer.kt | 10 +++++++- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/KeyboardsBot/KeyboardsBotLib/src/commonMain/kotlin/KeyboardsBot.kt b/KeyboardsBot/KeyboardsBotLib/src/commonMain/kotlin/KeyboardsBot.kt index da621f5..a4a1115 100644 --- a/KeyboardsBot/KeyboardsBotLib/src/commonMain/kotlin/KeyboardsBot.kt +++ b/KeyboardsBot/KeyboardsBotLib/src/commonMain/kotlin/KeyboardsBot.kt @@ -2,12 +2,16 @@ import dev.inmo.micro_utils.coroutines.subscribeSafelyWithoutExceptions import dev.inmo.tgbotapi.extensions.api.bot.getMe import dev.inmo.tgbotapi.bot.ktor.telegramBot import dev.inmo.tgbotapi.extensions.api.answers.answer +import dev.inmo.tgbotapi.extensions.api.bot.setMyCommands import dev.inmo.tgbotapi.extensions.api.edit.text.editMessageText import dev.inmo.tgbotapi.extensions.api.send.* import dev.inmo.tgbotapi.extensions.behaviour_builder.* import dev.inmo.tgbotapi.extensions.behaviour_builder.triggers_handling.* +import dev.inmo.tgbotapi.extensions.utils.formatting.botCommand +import dev.inmo.tgbotapi.extensions.utils.formatting.buildEntities import dev.inmo.tgbotapi.extensions.utils.types.buttons.* import dev.inmo.tgbotapi.extensions.utils.withContent +import dev.inmo.tgbotapi.types.BotCommand import dev.inmo.tgbotapi.types.message.content.TextContent import kotlinx.coroutines.* @@ -82,12 +86,14 @@ suspend fun activateKeyboardsBot( return@onMessageDataCallbackQuery } + val text = "This is $page of $count" + editMessageText( it.message.withContent() ?: it.let { answer(it, "Unsupported message type :(") return@onMessageDataCallbackQuery }, - "This is $page of $count", + text, replyMarkup = inlineKeyboard { row { includePageButtons(page, count) @@ -96,6 +102,22 @@ suspend fun activateKeyboardsBot( ) } + onUnhandledCommand { + reply( + it, + buildEntities { + +"Use " + botCommand("inline") + " to get pagination inline keyboard" + }, + replyMarkup = replyKeyboard(resizeKeyboard = true, oneTimeKeyboard = true) { + row { + simpleButton("/inline") + } + } + ) + } + + setMyCommands(BotCommand("inline", "Creates message with pagination inline keyboard")) + allUpdatesFlow.subscribeSafelyWithoutExceptions(this) { println(it) } diff --git a/WebApp/src/jvmMain/kotlin/WebAppServer.kt b/WebApp/src/jvmMain/kotlin/WebAppServer.kt index 6819687..5deb2f8 100644 --- a/WebApp/src/jvmMain/kotlin/WebAppServer.kt +++ b/WebApp/src/jvmMain/kotlin/WebAppServer.kt @@ -7,6 +7,8 @@ import dev.inmo.tgbotapi.extensions.api.send.* import dev.inmo.tgbotapi.extensions.api.telegramBot import dev.inmo.tgbotapi.extensions.behaviour_builder.* import dev.inmo.tgbotapi.extensions.behaviour_builder.triggers_handling.* +import dev.inmo.tgbotapi.extensions.utils.formatting.botCommand +import dev.inmo.tgbotapi.extensions.utils.formatting.buildEntities import dev.inmo.tgbotapi.extensions.utils.types.buttons.* import dev.inmo.tgbotapi.types.BotCommand import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.InlineQueryResultArticle @@ -85,7 +87,13 @@ suspend fun main(vararg args: String) { ) } onUnhandledCommand { - println("Unhandled command: ${it.content}") + reply( + it, + buildEntities { + +"Use " + botCommand("inline") + " to get inline web app button\n" + +"Use " + botCommand("reply_markup") + " to get reply markup web app button\n" + } + ) } setMyCommands( BotCommand("reply_markup", "Use to get reply markup keyboard with web app trigger"),