mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI-examples.git
synced 2024-06-10 11:55:15 +00:00
36 lines
1.3 KiB
Kotlin
36 lines
1.3 KiB
Kotlin
import dev.inmo.tgbotapi.extensions.api.bot.getMe
|
|
import dev.inmo.tgbotapi.bot.Ktor.telegramBot
|
|
import dev.inmo.tgbotapi.extensions.api.send.media.*
|
|
import dev.inmo.tgbotapi.extensions.behaviour_builder.*
|
|
import dev.inmo.tgbotapi.extensions.behaviour_builder.triggers_handling.*
|
|
import dev.inmo.tgbotapi.extensions.utils.shortcuts.*
|
|
import dev.inmo.tgbotapi.types.message.abstracts.MediaGroupMessage
|
|
import kotlinx.coroutines.*
|
|
import kotlin.coroutines.coroutineContext
|
|
|
|
suspend fun activateResenderBot(
|
|
token: String,
|
|
print: (Any) -> Unit
|
|
) {
|
|
val bot = telegramBot(token)
|
|
|
|
print(bot.getMe())
|
|
|
|
bot.buildBehaviour(CoroutineScope(coroutineContext + SupervisorJob())) {
|
|
onContentMessage(
|
|
additionalFilter = { it !is MediaGroupMessage<*> }
|
|
) {
|
|
executeUnsafe(it.content.createResend(it.chat.id, replyToMessageId = it.messageId))
|
|
}
|
|
onVisualGallery {
|
|
sendVisualMediaGroup(it.chat!!, it.map { it.content.toMediaGroupMemberInputMedia() })
|
|
}
|
|
onPlaylist {
|
|
sendPlaylist(it.chat!!, it.map { it.content.toMediaGroupMemberInputMedia() })
|
|
}
|
|
onDocumentsGroup {
|
|
sendDocumentsGroup(it.chat!!, it.map { it.content.toMediaGroupMemberInputMedia() })
|
|
}
|
|
}.join()
|
|
}
|