mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI-examples.git
synced 2026-03-03 17:42:21 +00:00
add showing of user audios and update telegram bot api version onto temporal version
This commit is contained in:
@@ -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(
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user