1
0
mirror of https://github.com/InsanusMokrassar/TelegramBotAPI.git synced 2025-09-04 07:39:39 +00:00

removing of filters for the wait triggers

This commit is contained in:
2022-05-22 01:27:52 +06:00
parent 95a466a08b
commit e7aec75aca
24 changed files with 808 additions and 834 deletions

View File

@@ -22,7 +22,7 @@ fun <T> aggregateFlows(
return sharedFlow
}
fun <T> Flow<Iterable<T>>.flatMap(): Flow<T> = flow {
fun <T> Flow<Iterable<T>>.flatten(): Flow<T> = flow {
collect {
it.forEach {
emit(it)
@@ -30,6 +30,9 @@ fun <T> Flow<Iterable<T>>.flatMap(): Flow<T> = flow {
}
}
@Deprecated("Renamed", ReplaceWith("flatten", "dev.inmo.tgbotapi.extensions.utils.flatten"))
fun <T> Flow<Iterable<T>>.flatMap(): Flow<T> = flatten()
fun <T, R> Flow<T>.flatMap(mapper: (T) -> Iterable<R>): Flow<R> = flow {
collect {
mapper(it).forEach {

View File

@@ -2,6 +2,7 @@ package dev.inmo.tgbotapi.extensions.utils.shortcuts
import dev.inmo.tgbotapi.extensions.utils.aggregateFlows
import dev.inmo.tgbotapi.extensions.utils.flatMap
import dev.inmo.tgbotapi.extensions.utils.flatten
import dev.inmo.tgbotapi.extensions.utils.updates.asContentMessagesFlow
import dev.inmo.tgbotapi.types.message.abstracts.CommonMessage
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
@@ -111,7 +112,7 @@ fun FlowsUpdatesFilter.audioMessagesWithMediaGroups(
scopeToIncludeChannels: CoroutineScope? = null
) = merge(
filterContentMessages<AudioContent>(scopeToIncludeChannels),
mediaGroupAudioMessages(scopeToIncludeChannels).flatMap()
mediaGroupAudioMessages(scopeToIncludeChannels).flatten()
)
fun Flow<BaseSentMessageUpdate>.contactMessages() = filterContentMessages<ContactContent>()
@@ -132,7 +133,7 @@ fun FlowsUpdatesFilter.documentMessagesWithMediaGroups(
scopeToIncludeChannels: CoroutineScope? = null
) = merge(
filterContentMessages<DocumentContent>(scopeToIncludeChannels),
mediaGroupDocumentMessages(scopeToIncludeChannels).flatMap()
mediaGroupDocumentMessages(scopeToIncludeChannels).flatten()
)
fun Flow<BaseSentMessageUpdate>.gameMessages() = filterContentMessages<GameContent>()
@@ -159,7 +160,7 @@ fun FlowsUpdatesFilter.photoMessagesWithMediaGroups(
scopeToIncludeChannels: CoroutineScope? = null
) = merge(
filterContentMessages<PhotoContent>(scopeToIncludeChannels),
mediaGroupPhotosMessages(scopeToIncludeChannels).flatMap()
mediaGroupPhotosMessages(scopeToIncludeChannels).flatten()
)
/**
* Shortcut for [photoMessages]
@@ -200,7 +201,7 @@ fun FlowsUpdatesFilter.videoMessagesWithMediaGroups(
scopeToIncludeChannels: CoroutineScope? = null
) = merge(
filterContentMessages<VideoContent>(scopeToIncludeChannels),
mediaGroupVideosMessages(scopeToIncludeChannels).flatMap()
mediaGroupVideosMessages(scopeToIncludeChannels).flatten()
)
fun Flow<BaseSentMessageUpdate>.videoNoteMessages() = filterContentMessages<VideoNoteContent>()