From e660f06edfdb7f8ef2f7efa2066babfde5c69c8c Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Wed, 18 Feb 2026 22:24:32 +0600 Subject: [PATCH] add showing of user audios and update telegram bot api version onto temporal version --- CustomBot/src/main/kotlin/CustomBot.kt | 31 ++++++++++++++++++++++++++ gradle.properties | 4 ++-- 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/CustomBot/src/main/kotlin/CustomBot.kt b/CustomBot/src/main/kotlin/CustomBot.kt index 72e5ac3..1189e43 100644 --- a/CustomBot/src/main/kotlin/CustomBot.kt +++ b/CustomBot/src/main/kotlin/CustomBot.kt @@ -6,7 +6,10 @@ 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.get.getUserProfileAudios import dev.inmo.tgbotapi.extensions.api.send.reply +import dev.inmo.tgbotapi.extensions.api.send.replyWithAudio +import dev.inmo.tgbotapi.extensions.api.send.replyWithPlaylist import dev.inmo.tgbotapi.extensions.behaviour_builder.BehaviourContextData import dev.inmo.tgbotapi.extensions.behaviour_builder.buildSubcontextInitialAction import dev.inmo.tgbotapi.extensions.behaviour_builder.telegramBotWithBehaviourAndLongPolling @@ -14,6 +17,8 @@ import dev.inmo.tgbotapi.extensions.behaviour_builder.triggers_handling.onChanne import dev.inmo.tgbotapi.extensions.behaviour_builder.triggers_handling.onChatOwnerChanged import dev.inmo.tgbotapi.extensions.behaviour_builder.triggers_handling.onChatOwnerLeft import dev.inmo.tgbotapi.extensions.behaviour_builder.triggers_handling.onCommand +import dev.inmo.tgbotapi.types.media.AudioMediaGroupMemberTelegramMedia +import dev.inmo.tgbotapi.types.media.toTelegramMediaAudio import dev.inmo.tgbotapi.types.message.abstracts.CommonMessage import dev.inmo.tgbotapi.types.update.abstracts.Update import kotlinx.coroutines.CoroutineScope @@ -72,6 +77,32 @@ suspend fun main(vararg args: String) { println(data.update) println(data.commonMessage) println(getChat(it.chat)) + var currentOffset = 0 + val pageSize = 2 + do { + val userAudios = getUserProfileAudios(userId = it.chat.id, offset = currentOffset, limit = pageSize) + currentOffset += pageSize + println(userAudios) + when (userAudios.audios.size) { + 1 -> { + replyWithAudio( + it, + userAudios.audios.first().fileId + ) + } + 0 -> { + // do nothing + } + else -> { + replyWithPlaylist( + it, + userAudios.audios.map { + it.toTelegramMediaAudio() + } + ) + } + } + } while (currentOffset < userAudios.totalCount && userAudios.audios.isNotEmpty()) } onCommand( diff --git a/gradle.properties b/gradle.properties index 476adb7..4312fce 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,8 +6,8 @@ kotlin.daemon.jvmargs=-Xmx3g -Xms500m kotlin_version=2.2.21 -telegram_bot_api_version=31.0.0 -micro_utils_version=0.26.8 +telegram_bot_api_version=31.0.0-branch_31.0.0-build3109 +micro_utils_version=0.26.9 serialization_version=1.9.0 ktor_version=3.3.2 compose_version=1.8.2