mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI-examples.git
synced 2025-09-03 23:29:50 +00:00
protess on tests
This commit is contained in:
@@ -5,13 +5,17 @@ import dev.inmo.kslog.common.setDefaultKSLog
|
||||
import dev.inmo.micro_utils.common.Percentage
|
||||
import dev.inmo.tgbotapi.extensions.api.answers.answer
|
||||
import dev.inmo.tgbotapi.extensions.api.bot.getMe
|
||||
import dev.inmo.tgbotapi.extensions.api.business.getBusinessAccountStarBalance
|
||||
import dev.inmo.tgbotapi.extensions.api.business.deleteBusinessMessages
|
||||
import dev.inmo.tgbotapi.extensions.api.business.getBusinessAccountGifts
|
||||
import dev.inmo.tgbotapi.extensions.api.business.getBusinessAccountGiftsFlow
|
||||
import dev.inmo.tgbotapi.extensions.api.business.readBusinessMessage
|
||||
import dev.inmo.tgbotapi.extensions.api.business.removeBusinessAccountProfilePhoto
|
||||
import dev.inmo.tgbotapi.extensions.api.business.setBusinessAccountBio
|
||||
import dev.inmo.tgbotapi.extensions.api.business.setBusinessAccountName
|
||||
import dev.inmo.tgbotapi.extensions.api.business.setBusinessAccountProfilePhoto
|
||||
import dev.inmo.tgbotapi.extensions.api.business.setBusinessAccountUsername
|
||||
import dev.inmo.tgbotapi.extensions.api.business.transferBusinessAccountStars
|
||||
import dev.inmo.tgbotapi.extensions.api.chat.get.getChat
|
||||
import dev.inmo.tgbotapi.extensions.api.chat.modify.pinChatMessage
|
||||
import dev.inmo.tgbotapi.extensions.api.chat.modify.unpinChatMessage
|
||||
@@ -51,6 +55,7 @@ import dev.inmo.tgbotapi.types.stories.StoryAreaPosition
|
||||
import dev.inmo.tgbotapi.types.stories.StoryAreaType
|
||||
import dev.inmo.tgbotapi.utils.botCommand
|
||||
import dev.inmo.tgbotapi.utils.code
|
||||
import dev.inmo.tgbotapi.utils.extensions.splitForText
|
||||
import dev.inmo.tgbotapi.utils.row
|
||||
import korlibs.time.seconds
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
@@ -235,6 +240,65 @@ suspend fun main(args: Array<String>) {
|
||||
}
|
||||
}
|
||||
}
|
||||
onCommand("get_business_account_star_balance", initialFilter = { it.chat is PrivateChat }) {
|
||||
val businessConnectionId = chatsBusinessConnections[it.chat.id] ?: return@onCommand
|
||||
val starAmount = runCatching {
|
||||
getBusinessAccountStarBalance(businessConnectionId)
|
||||
}.getOrElse {
|
||||
it.printStackTrace()
|
||||
null
|
||||
}
|
||||
reply(it) {
|
||||
if (starAmount != null) {
|
||||
+"Account stars amount: $starAmount"
|
||||
} else {
|
||||
+"Account stars amount has not been got"
|
||||
}
|
||||
}
|
||||
}
|
||||
onCommandWithArgs("transfer_business_account_stars", initialFilter = { it.chat is PrivateChat }) { it, args ->
|
||||
val businessConnectionId = chatsBusinessConnections[it.chat.id] ?: return@onCommandWithArgs
|
||||
val count = args.firstOrNull() ?.toIntOrNull() ?: reply(it) {
|
||||
"Pass amount of stars to transfer to bot with command"
|
||||
}.let {
|
||||
return@onCommandWithArgs
|
||||
}
|
||||
val transferred = runCatching {
|
||||
transferBusinessAccountStars(businessConnectionId, count)
|
||||
}.getOrElse {
|
||||
it.printStackTrace()
|
||||
false
|
||||
}
|
||||
reply(it) {
|
||||
if (transferred) {
|
||||
+"Stars have been transferred"
|
||||
} else {
|
||||
+"Stars have not been transferred"
|
||||
}
|
||||
}
|
||||
}
|
||||
onCommand("get_business_account_gifts", initialFilter = { it.chat is PrivateChat }) {
|
||||
val businessConnectionId = chatsBusinessConnections[it.chat.id] ?: return@onCommand
|
||||
val giftsFlow = runCatching {
|
||||
getBusinessAccountGiftsFlow(businessConnectionId)
|
||||
}.getOrElse {
|
||||
it.printStackTrace()
|
||||
null
|
||||
}
|
||||
if (giftsFlow == null) {
|
||||
reply(it) {
|
||||
+"Error in receiving of gifts"
|
||||
}
|
||||
} else {
|
||||
giftsFlow.collect { giftsPage ->
|
||||
giftsPage.gifts.joinToString {
|
||||
it.toString()
|
||||
}.splitForText().forEach { message ->
|
||||
reply(it, message)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
onCommand("set_business_account_bio", requireOnlyCommandInMessage = false, initialFilter = { it.chat is PrivateChat }) {
|
||||
val initialBio = getChat(it.chat).extendedPrivateChatOrThrow().bio
|
||||
val bio = it.content.text.removePrefix("/set_business_account_bio").trim()
|
||||
|
@@ -4,6 +4,7 @@ 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.chat.get.getChat
|
||||
import dev.inmo.tgbotapi.extensions.behaviour_builder.BehaviourContextData
|
||||
import dev.inmo.tgbotapi.extensions.behaviour_builder.buildSubcontextInitialAction
|
||||
import dev.inmo.tgbotapi.extensions.behaviour_builder.telegramBotWithBehaviourAndLongPolling
|
||||
@@ -65,6 +66,7 @@ suspend fun main(vararg args: String) {
|
||||
onCommand("start") {
|
||||
println(data.update)
|
||||
println(data.commonMessage)
|
||||
println(getChat(it.chat))
|
||||
}
|
||||
|
||||
onCommand(
|
||||
|
Reference in New Issue
Block a user