Compare commits

..

10 Commits

Author SHA1 Message Date
59fca968d7 update tgbotapi and include sample of context data in custom bot 2024-11-29 12:50:33 +06:00
f03ba5f177 Merge pull request #302 from InsanusMokrassar/renovate/telegram_bot_api_version
Update telegram_bot_api_version to v20.0.1
2024-11-13 13:53:07 +06:00
renovate[bot]
855d2c1296 Update telegram_bot_api_version to v20.0.1 2024-11-11 10:46:16 +00:00
280f5abce0 Merge pull request #294 from InsanusMokrassar/renovate/major-ktor-monorepo
Update dependency io.ktor:ktor-client-logging-jvm to v3
2024-11-04 01:39:22 +06:00
renovate[bot]
ed81e76ef8 Update dependency io.ktor:ktor-client-logging-jvm to v3 2024-11-03 19:39:16 +00:00
541b76b292 Merge pull request #301 from InsanusMokrassar/20.0.0
20.0.0
2024-11-02 00:34:52 +06:00
5b580b5a15 migration onto 20.0.0 2024-11-01 23:48:29 +06:00
86790ee414 add copyText sample button 2024-11-01 23:21:33 +06:00
0bbe430374 update ktgbotapi 2024-11-01 15:27:17 +06:00
b7d53a7410 Merge pull request #298 from InsanusMokrassar/19.0.0
19.0.0
2024-11-01 14:55:49 +06:00
6 changed files with 37 additions and 5 deletions

View File

@@ -4,10 +4,16 @@ import dev.inmo.kslog.common.defaultMessageFormatter
import dev.inmo.kslog.common.setDefaultKSLog
import dev.inmo.micro_utils.coroutines.subscribeSafelyWithoutExceptions
import dev.inmo.tgbotapi.extensions.api.bot.getMe
import dev.inmo.tgbotapi.extensions.behaviour_builder.BehaviourContextData
import dev.inmo.tgbotapi.extensions.behaviour_builder.telegramBotWithBehaviourAndLongPolling
import dev.inmo.tgbotapi.extensions.behaviour_builder.triggers_handling.onCommand
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
private var BehaviourContextData.update
get() = get("update")
set(value) = set("update", value)
/**
* This place can be the playground for your code.
*/
@@ -38,12 +44,19 @@ suspend fun main(vararg args: String) {
}
}
}
},
subcontextInitialAction = {
data.update = it
}
) {
// start here!!
val me = getMe()
println(me)
onCommand("start") {
println(data.update)
}
allUpdatesFlow.subscribeSafelyWithoutExceptions(this) {
println(it)
}

View File

@@ -33,6 +33,6 @@ kotlin {
}
dependencies {
implementation 'io.ktor:ktor-client-logging-jvm:2.3.12'
implementation 'io.ktor:ktor-client-logging-jvm:3.0.1'
}

View File

@@ -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")

View File

@@ -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<String>) {
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)

View File

@@ -18,5 +18,5 @@ dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation "dev.inmo:tgbotapi:$telegram_bot_api_version"
implementation 'io.ktor:ktor-client-logging-jvm:2.3.12'
implementation 'io.ktor:ktor-client-logging-jvm:3.0.1'
}

View File

@@ -6,7 +6,7 @@ kotlin.daemon.jvmargs=-Xmx3g -Xms500m
kotlin_version=2.0.21
telegram_bot_api_version=19.0.0
telegram_bot_api_version=20.1.0
micro_utils_version=0.23.0
serialization_version=1.7.3
ktor_version=3.0.1