diff --git a/BusinessConnectionsBot/src/main/kotlin/BusinessConnectionsBot.kt b/BusinessConnectionsBot/src/main/kotlin/BusinessConnectionsBot.kt index 84723c2..41a9710 100644 --- a/BusinessConnectionsBot/src/main/kotlin/BusinessConnectionsBot.kt +++ b/BusinessConnectionsBot/src/main/kotlin/BusinessConnectionsBot.kt @@ -34,6 +34,7 @@ import dev.inmo.tgbotapi.extensions.utils.ifBusinessContentMessage import dev.inmo.tgbotapi.extensions.utils.textContentOrNull import dev.inmo.tgbotapi.extensions.utils.types.buttons.dataButton 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.requests.abstracts.multipartFile import dev.inmo.tgbotapi.requests.business_connection.InputProfilePhoto @@ -84,6 +85,7 @@ suspend fun main(args: Array) { telegramBotWithBehaviourAndLongPolling(botToken, CoroutineScope(Dispatchers.IO)) { val me = getMe() println(me) + flushAccumulatedUpdates() onBusinessConnectionEnabled { businessConnectionsChatsMutex.withLock { @@ -472,12 +474,12 @@ suspend fun main(args: Array) { } } + // Will work when some premium user sending to some other user checklist onChecklistContent { - val businessConnectionId = chatsBusinessConnections[it.chat.id] ?: return@onChecklistContent execute( it.content.createResend( it.chat.id, - businessConnectionId = businessConnectionId + businessConnectionId = it.chat.id.businessConnectionId ?: chatsBusinessConnections[it.chat.id] ?: return@onChecklistContent ) ) } diff --git a/CustomBot/src/main/kotlin/CustomBot.kt b/CustomBot/src/main/kotlin/CustomBot.kt index 4bf65a2..d75ace7 100644 --- a/CustomBot/src/main/kotlin/CustomBot.kt +++ b/CustomBot/src/main/kotlin/CustomBot.kt @@ -4,10 +4,13 @@ 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.api.bot.getMyStarBalance 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.buildSubcontextInitialAction 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.types.message.abstracts.CommonMessage import dev.inmo.tgbotapi.types.update.abstracts.Update @@ -79,6 +82,17 @@ suspend fun main(vararg args: String) { println(data.commonMessage) } + onCommand("getMyStarBalance") { + reply( + to = it, + text = getMyStarBalance().toString() + ) + } + + onChannelDirectMessagesConfigurationChanged { + println(it.chatEvent) + } + allUpdatesFlow.subscribeSafelyWithoutExceptions(this) { println(it) } diff --git a/WebApp/src/jsMain/kotlin/main.kt b/WebApp/src/jsMain/kotlin/main.kt index 609850c..4e4a4b2 100644 --- a/WebApp/src/jsMain/kotlin/main.kt +++ b/WebApp/src/jsMain/kotlin/main.kt @@ -163,6 +163,34 @@ fun main() { Text("Answer in chat button") } + H3 { Text("Hide keyboard") } + val hideCountdown = remember { mutableStateOf(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() H3 { Text("User info") } Text("Allow to write in private messages: ${webApp.initDataUnsafe.user ?.allowsWriteToPM ?: "User unavailable"}")