@@ -6,14 +6,19 @@ import dev.inmo.micro_utils.coroutines.subscribeSafelyWithoutExceptions
66import dev.inmo.tgbotapi.extensions.api.bot.getMe
77import dev.inmo.tgbotapi.extensions.api.bot.getMyStarBalance
88import dev.inmo.tgbotapi.extensions.api.chat.get.getChat
9+ import dev.inmo.tgbotapi.extensions.api.get.getUserProfileAudios
910import dev.inmo.tgbotapi.extensions.api.send.reply
11+ import dev.inmo.tgbotapi.extensions.api.send.replyWithAudio
12+ import dev.inmo.tgbotapi.extensions.api.send.replyWithPlaylist
1013import dev.inmo.tgbotapi.extensions.behaviour_builder.BehaviourContextData
1114import dev.inmo.tgbotapi.extensions.behaviour_builder.buildSubcontextInitialAction
1215import dev.inmo.tgbotapi.extensions.behaviour_builder.telegramBotWithBehaviourAndLongPolling
1316import dev.inmo.tgbotapi.extensions.behaviour_builder.triggers_handling.onChannelDirectMessagesConfigurationChanged
1417import dev.inmo.tgbotapi.extensions.behaviour_builder.triggers_handling.onChatOwnerChanged
1518import dev.inmo.tgbotapi.extensions.behaviour_builder.triggers_handling.onChatOwnerLeft
1619import dev.inmo.tgbotapi.extensions.behaviour_builder.triggers_handling.onCommand
20+ import dev.inmo.tgbotapi.types.media.AudioMediaGroupMemberTelegramMedia
21+ import dev.inmo.tgbotapi.types.media.toTelegramMediaAudio
1722import dev.inmo.tgbotapi.types.message.abstracts.CommonMessage
1823import dev.inmo.tgbotapi.types.update.abstracts.Update
1924import kotlinx.coroutines.CoroutineScope
@@ -72,6 +77,32 @@ suspend fun main(vararg args: String) {
7277 println (data.update)
7378 println (data.commonMessage)
7479 println (getChat(it.chat))
80+ var currentOffset = 0
81+ val pageSize = 2
82+ do {
83+ val userAudios = getUserProfileAudios(userId = it.chat.id, offset = currentOffset, limit = pageSize)
84+ currentOffset + = pageSize
85+ println (userAudios)
86+ when (userAudios.audios.size) {
87+ 1 -> {
88+ replyWithAudio(
89+ it,
90+ userAudios.audios.first().fileId
91+ )
92+ }
93+ 0 -> {
94+ // do nothing
95+ }
96+ else -> {
97+ replyWithPlaylist(
98+ it,
99+ userAudios.audios.map {
100+ it.toTelegramMediaAudio()
101+ }
102+ )
103+ }
104+ }
105+ } while (currentOffset < userAudios.totalCount && userAudios.audios.isNotEmpty())
75106 }
76107
77108 onCommand(
0 commit comments