Merge pull request #336 from InsanusMokrassar/26.1.0

26.1.0
This commit is contained in:
2025-07-10 17:21:41 +06:00
committed by GitHub
4 changed files with 55 additions and 1 deletions

View File

@@ -34,6 +34,7 @@ import dev.inmo.tgbotapi.extensions.utils.ifBusinessContentMessage
import dev.inmo.tgbotapi.extensions.utils.textContentOrNull import dev.inmo.tgbotapi.extensions.utils.textContentOrNull
import dev.inmo.tgbotapi.extensions.utils.types.buttons.dataButton import dev.inmo.tgbotapi.extensions.utils.types.buttons.dataButton
import dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard import dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard
import dev.inmo.tgbotapi.extensions.utils.updates.retrieving.flushAccumulatedUpdates
import dev.inmo.tgbotapi.extensions.utils.withContentOrNull import dev.inmo.tgbotapi.extensions.utils.withContentOrNull
import dev.inmo.tgbotapi.requests.abstracts.multipartFile import dev.inmo.tgbotapi.requests.abstracts.multipartFile
import dev.inmo.tgbotapi.requests.business_connection.InputProfilePhoto import dev.inmo.tgbotapi.requests.business_connection.InputProfilePhoto
@@ -84,6 +85,7 @@ suspend fun main(args: Array<String>) {
telegramBotWithBehaviourAndLongPolling(botToken, CoroutineScope(Dispatchers.IO)) { telegramBotWithBehaviourAndLongPolling(botToken, CoroutineScope(Dispatchers.IO)) {
val me = getMe() val me = getMe()
println(me) println(me)
flushAccumulatedUpdates()
onBusinessConnectionEnabled { onBusinessConnectionEnabled {
businessConnectionsChatsMutex.withLock { businessConnectionsChatsMutex.withLock {
@@ -471,5 +473,15 @@ suspend fun main(args: Array<String>) {
} }
} }
} }
// Will work when some premium user sending to some other user checklist
onChecklistContent {
execute(
it.content.createResend(
it.chat.id,
businessConnectionId = it.chat.id.businessConnectionId ?: chatsBusinessConnections[it.chat.id] ?: return@onChecklistContent
)
)
}
}.second.join() }.second.join()
} }

View File

@@ -4,10 +4,13 @@ import dev.inmo.kslog.common.defaultMessageFormatter
import dev.inmo.kslog.common.setDefaultKSLog import dev.inmo.kslog.common.setDefaultKSLog
import dev.inmo.micro_utils.coroutines.subscribeSafelyWithoutExceptions import dev.inmo.micro_utils.coroutines.subscribeSafelyWithoutExceptions
import dev.inmo.tgbotapi.extensions.api.bot.getMe import dev.inmo.tgbotapi.extensions.api.bot.getMe
import dev.inmo.tgbotapi.extensions.api.bot.getMyStarBalance
import dev.inmo.tgbotapi.extensions.api.chat.get.getChat import dev.inmo.tgbotapi.extensions.api.chat.get.getChat
import dev.inmo.tgbotapi.extensions.api.send.reply
import dev.inmo.tgbotapi.extensions.behaviour_builder.BehaviourContextData import dev.inmo.tgbotapi.extensions.behaviour_builder.BehaviourContextData
import dev.inmo.tgbotapi.extensions.behaviour_builder.buildSubcontextInitialAction import dev.inmo.tgbotapi.extensions.behaviour_builder.buildSubcontextInitialAction
import dev.inmo.tgbotapi.extensions.behaviour_builder.telegramBotWithBehaviourAndLongPolling import dev.inmo.tgbotapi.extensions.behaviour_builder.telegramBotWithBehaviourAndLongPolling
import dev.inmo.tgbotapi.extensions.behaviour_builder.triggers_handling.onChannelDirectMessagesConfigurationChanged
import dev.inmo.tgbotapi.extensions.behaviour_builder.triggers_handling.onCommand import dev.inmo.tgbotapi.extensions.behaviour_builder.triggers_handling.onCommand
import dev.inmo.tgbotapi.types.message.abstracts.CommonMessage import dev.inmo.tgbotapi.types.message.abstracts.CommonMessage
import dev.inmo.tgbotapi.types.update.abstracts.Update import dev.inmo.tgbotapi.types.update.abstracts.Update
@@ -79,6 +82,17 @@ suspend fun main(vararg args: String) {
println(data.commonMessage) println(data.commonMessage)
} }
onCommand("getMyStarBalance") {
reply(
to = it,
text = getMyStarBalance().toString()
)
}
onChannelDirectMessagesConfigurationChanged {
println(it.chatEvent)
}
allUpdatesFlow.subscribeSafelyWithoutExceptions(this) { allUpdatesFlow.subscribeSafelyWithoutExceptions(this) {
println(it) println(it)
} }

View File

@@ -163,6 +163,34 @@ fun main() {
Text("Answer in chat button") Text("Answer in chat button")
} }
H3 { Text("Hide keyboard") }
val hideCountdown = remember { mutableStateOf<Int?>(null) }
Button({
onClick {
hideCountdown.value = 5
}
}) {
if (hideCountdown.value == null) {
Text("Hide")
} else {
Text("Hide in ${hideCountdown.value} seconds")
}
}
LaunchedEffect(hideCountdown.value) {
val value = hideCountdown.value
when {
value == null -> return@LaunchedEffect
value > 0 -> {
delay(1000)
hideCountdown.value = hideCountdown.value ?.minus(1)
}
else -> {
webApp.hideKeyboard()
hideCountdown.value = null
}
}
}
P() P()
H3 { Text("User info") } H3 { Text("User info") }
Text("Allow to write in private messages: ${webApp.initDataUnsafe.user ?.allowsWriteToPM ?: "User unavailable"}") Text("Allow to write in private messages: ${webApp.initDataUnsafe.user ?.allowsWriteToPM ?: "User unavailable"}")

View File

@@ -6,7 +6,7 @@ kotlin.daemon.jvmargs=-Xmx3g -Xms500m
kotlin_version=2.1.20 kotlin_version=2.1.20
telegram_bot_api_version=26.0.0 telegram_bot_api_version=26.1.0
micro_utils_version=0.25.7 micro_utils_version=0.25.7
serialization_version=1.8.1 serialization_version=1.8.1
ktor_version=3.1.3 ktor_version=3.1.3