mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI-examples.git
synced 2025-09-03 07:09:39 +00:00
improvements according to latest changes
This commit is contained in:
BusinessConnectionsBot/src/main/kotlin
CustomBot/src/main/kotlin
WebApp/src/jsMain/kotlin
@@ -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<String>) {
|
||||
telegramBotWithBehaviourAndLongPolling(botToken, CoroutineScope(Dispatchers.IO)) {
|
||||
val me = getMe()
|
||||
println(me)
|
||||
flushAccumulatedUpdates()
|
||||
|
||||
onBusinessConnectionEnabled {
|
||||
businessConnectionsChatsMutex.withLock {
|
||||
@@ -472,12 +474,12 @@ suspend fun main(args: Array<String>) {
|
||||
}
|
||||
}
|
||||
|
||||
// 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
|
||||
)
|
||||
)
|
||||
}
|
||||
|
@@ -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)
|
||||
}
|
||||
|
@@ -163,6 +163,34 @@ fun main() {
|
||||
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()
|
||||
H3 { Text("User info") }
|
||||
Text("Allow to write in private messages: ${webApp.initDataUnsafe.user ?.allowsWriteToPM ?: "User unavailable"}")
|
||||
|
Reference in New Issue
Block a user