Skip to content

Commit ad8fa92

Browse files
protess on tests
1 parent b0554ad commit ad8fa92

2 files changed

Lines changed: 66 additions & 0 deletions

File tree

BusinessConnectionsBot/src/main/kotlin/BusinessConnectionsBot.kt

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,17 @@ import dev.inmo.kslog.common.setDefaultKSLog
55
import dev.inmo.micro_utils.common.Percentage
66
import dev.inmo.tgbotapi.extensions.api.answers.answer
77
import dev.inmo.tgbotapi.extensions.api.bot.getMe
8+
import dev.inmo.tgbotapi.extensions.api.business.getBusinessAccountStarBalance
89
import dev.inmo.tgbotapi.extensions.api.business.deleteBusinessMessages
10+
import dev.inmo.tgbotapi.extensions.api.business.getBusinessAccountGifts
11+
import dev.inmo.tgbotapi.extensions.api.business.getBusinessAccountGiftsFlow
912
import dev.inmo.tgbotapi.extensions.api.business.readBusinessMessage
1013
import dev.inmo.tgbotapi.extensions.api.business.removeBusinessAccountProfilePhoto
1114
import dev.inmo.tgbotapi.extensions.api.business.setBusinessAccountBio
1215
import dev.inmo.tgbotapi.extensions.api.business.setBusinessAccountName
1316
import dev.inmo.tgbotapi.extensions.api.business.setBusinessAccountProfilePhoto
1417
import dev.inmo.tgbotapi.extensions.api.business.setBusinessAccountUsername
18+
import dev.inmo.tgbotapi.extensions.api.business.transferBusinessAccountStars
1519
import dev.inmo.tgbotapi.extensions.api.chat.get.getChat
1620
import dev.inmo.tgbotapi.extensions.api.chat.modify.pinChatMessage
1721
import dev.inmo.tgbotapi.extensions.api.chat.modify.unpinChatMessage
@@ -51,6 +55,7 @@ import dev.inmo.tgbotapi.types.stories.StoryAreaPosition
5155
import dev.inmo.tgbotapi.types.stories.StoryAreaType
5256
import dev.inmo.tgbotapi.utils.botCommand
5357
import dev.inmo.tgbotapi.utils.code
58+
import dev.inmo.tgbotapi.utils.extensions.splitForText
5459
import dev.inmo.tgbotapi.utils.row
5560
import korlibs.time.seconds
5661
import kotlinx.coroutines.CoroutineScope
@@ -235,6 +240,65 @@ suspend fun main(args: Array<String>) {
235240
}
236241
}
237242
}
243+
onCommand("get_business_account_star_balance", initialFilter = { it.chat is PrivateChat }) {
244+
val businessConnectionId = chatsBusinessConnections[it.chat.id] ?: return@onCommand
245+
val starAmount = runCatching {
246+
getBusinessAccountStarBalance(businessConnectionId)
247+
}.getOrElse {
248+
it.printStackTrace()
249+
null
250+
}
251+
reply(it) {
252+
if (starAmount != null) {
253+
+"Account stars amount: $starAmount"
254+
} else {
255+
+"Account stars amount has not been got"
256+
}
257+
}
258+
}
259+
onCommandWithArgs("transfer_business_account_stars", initialFilter = { it.chat is PrivateChat }) { it, args ->
260+
val businessConnectionId = chatsBusinessConnections[it.chat.id] ?: return@onCommandWithArgs
261+
val count = args.firstOrNull() ?.toIntOrNull() ?: reply(it) {
262+
"Pass amount of stars to transfer to bot with command"
263+
}.let {
264+
return@onCommandWithArgs
265+
}
266+
val transferred = runCatching {
267+
transferBusinessAccountStars(businessConnectionId, count)
268+
}.getOrElse {
269+
it.printStackTrace()
270+
false
271+
}
272+
reply(it) {
273+
if (transferred) {
274+
+"Stars have been transferred"
275+
} else {
276+
+"Stars have not been transferred"
277+
}
278+
}
279+
}
280+
onCommand("get_business_account_gifts", initialFilter = { it.chat is PrivateChat }) {
281+
val businessConnectionId = chatsBusinessConnections[it.chat.id] ?: return@onCommand
282+
val giftsFlow = runCatching {
283+
getBusinessAccountGiftsFlow(businessConnectionId)
284+
}.getOrElse {
285+
it.printStackTrace()
286+
null
287+
}
288+
if (giftsFlow == null) {
289+
reply(it) {
290+
+"Error in receiving of gifts"
291+
}
292+
} else {
293+
giftsFlow.collect { giftsPage ->
294+
giftsPage.gifts.joinToString {
295+
it.toString()
296+
}.splitForText().forEach { message ->
297+
reply(it, message)
298+
}
299+
}
300+
}
301+
}
238302
onCommand("set_business_account_bio", requireOnlyCommandInMessage = false, initialFilter = { it.chat is PrivateChat }) {
239303
val initialBio = getChat(it.chat).extendedPrivateChatOrThrow().bio
240304
val bio = it.content.text.removePrefix("/set_business_account_bio").trim()

CustomBot/src/main/kotlin/CustomBot.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import dev.inmo.kslog.common.defaultMessageFormatter
44
import dev.inmo.kslog.common.setDefaultKSLog
55
import dev.inmo.micro_utils.coroutines.subscribeSafelyWithoutExceptions
66
import dev.inmo.tgbotapi.extensions.api.bot.getMe
7+
import dev.inmo.tgbotapi.extensions.api.chat.get.getChat
78
import dev.inmo.tgbotapi.extensions.behaviour_builder.BehaviourContextData
89
import dev.inmo.tgbotapi.extensions.behaviour_builder.buildSubcontextInitialAction
910
import dev.inmo.tgbotapi.extensions.behaviour_builder.telegramBotWithBehaviourAndLongPolling
@@ -65,6 +66,7 @@ suspend fun main(vararg args: String) {
6566
onCommand("start") {
6667
println(data.update)
6768
println(data.commonMessage)
69+
println(getChat(it.chat))
6870
}
6971

7072
onCommand(

0 commit comments

Comments
 (0)