mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI-examples.git
synced 2025-09-04 15:49:23 +00:00
improvements according to latest changes
This commit is contained in:
@@ -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 {
|
||||||
@@ -472,12 +474,12 @@ suspend fun main(args: Array<String>) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Will work when some premium user sending to some other user checklist
|
||||||
onChecklistContent {
|
onChecklistContent {
|
||||||
val businessConnectionId = chatsBusinessConnections[it.chat.id] ?: return@onChecklistContent
|
|
||||||
execute(
|
execute(
|
||||||
it.content.createResend(
|
it.content.createResend(
|
||||||
it.chat.id,
|
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.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)
|
||||||
}
|
}
|
||||||
|
@@ -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"}")
|
||||||
|
Reference in New Issue
Block a user