diff --git a/KeyboardsBot/KeyboardsBotLib/src/commonMain/kotlin/KeyboardsBot.kt b/KeyboardsBot/KeyboardsBotLib/src/commonMain/kotlin/KeyboardsBot.kt index 1873050..9781465 100644 --- a/KeyboardsBot/KeyboardsBotLib/src/commonMain/kotlin/KeyboardsBot.kt +++ b/KeyboardsBot/KeyboardsBotLib/src/commonMain/kotlin/KeyboardsBot.kt @@ -45,6 +45,9 @@ fun InlineKeyboardBuilder.includePageButtons(page: Int, count: Int) { } } } + row { + copyTextButton("Command copy button", "/inline $page $count") + } row { if (page - 1 > 2) { @@ -84,11 +87,13 @@ suspend fun activateKeyboardsBot( bot.buildBehaviourWithLongPolling(CoroutineScope(currentCoroutineContext() + SupervisorJob())) { onCommandWithArgs("inline") { message, args -> - val numberOfPages = args.firstOrNull() ?.toIntOrNull() ?: 10 + val numberArgs = args.mapNotNull { it.toIntOrNull() } + val numberOfPages = numberArgs.getOrNull(1) ?: numberArgs.firstOrNull() ?: 10 + val page = numberArgs.firstOrNull() ?.takeIf { numberArgs.size > 1 } ?.coerceAtLeast(1) ?: 1 reply( message, replyMarkup = inlineKeyboard { - includePageButtons(1, numberOfPages) + includePageButtons(page, numberOfPages) } ) { regular("Your inline keyboard with $numberOfPages pages") diff --git a/KeyboardsBot/jvm_launcher/src/main/kotlin/KeyboardsBotJvm.kt b/KeyboardsBot/jvm_launcher/src/main/kotlin/KeyboardsBotJvm.kt index 9ef93b6..d40e789 100644 --- a/KeyboardsBot/jvm_launcher/src/main/kotlin/KeyboardsBotJvm.kt +++ b/KeyboardsBot/jvm_launcher/src/main/kotlin/KeyboardsBotJvm.kt @@ -1,7 +1,21 @@ +import dev.inmo.kslog.common.KSLog +import dev.inmo.kslog.common.LogLevel +import dev.inmo.kslog.common.defaultMessageFormatter +import dev.inmo.kslog.common.setDefaultKSLog import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext suspend fun main(args: Array) { + val isDebug = args.any { it == "debug" } + + if (isDebug) { + setDefaultKSLog( + KSLog { level: LogLevel, tag: String?, message: Any, throwable: Throwable? -> + println(defaultMessageFormatter(level, tag, message, throwable)) + } + ) + } + withContext(Dispatchers.IO) { // IO for inheriting of it in side of activateKeyboardsBot activateKeyboardsBot(args.first()) { println(it)