mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2026-11-13 15:23:19 +00:00
sentMessages extension for FlowsUpdatesFilter
This commit is contained in:
1 parent
790959ea49
commit
d2228e274c
3 files changed
+22
No files matched your search
@@ -56,6 +56,8 @@
|
||||
* Extensions for `FlowUpdatesFilter` were added:
|
||||
* `FlowsUpdatesFilter#allSentMessagesFlow` (combination of `messageFlow` and `channelPostFlow`)
|
||||
* `FlowsUpdatesFilter#allSentMediaGroupsFlow` (combination of `messageMediaGroupFlow` and `channelPostMediaGroupFlow`)
|
||||
* `FlowsUpdatesFilter#sentMessages`
|
||||
* `FlowsUpdatesFilter#sentMessagesWithMediaGroups`
|
||||
* `FlowsUpdatesFilter#photoMessagesWithMediaGroups`
|
||||
* `FlowsUpdatesFilter#imageMessagesWithMediaGroups`
|
||||
* `FlowsUpdatesFilter#videoMessagesWithMediaGroups`
|
||||
|
||||
+8
@@ -29,3 +29,11 @@ fun <T> Flow<Iterable<T>>.flatMap(): Flow<T> = flow {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun <T, R> Flow<T>.flatMap(mapper: (T) -> Iterable<R>): Flow<R> = flow {
|
||||
collect {
|
||||
mapper(it).forEach {
|
||||
emit(it)
|
||||
}
|
||||
}
|
||||
}
|
||||
+12
@@ -75,6 +75,18 @@ inline fun <reified T: MediaGroupContent> FlowsUpdatesFilter.filterMediaGroupMes
|
||||
} ?: messageMediaGroupFlow).filterMediaGroupMessages()
|
||||
}
|
||||
|
||||
fun FlowsUpdatesFilter.sentMessages(
|
||||
scopeToIncludeChannels: CoroutineScope? = null
|
||||
): Flow<ContentMessage<MessageContent>> = filterContentMessages(scopeToIncludeChannels)
|
||||
fun FlowsUpdatesFilter.sentMessagesWithMediaGroups(
|
||||
scopeToIncludeChannels: CoroutineScope? = null
|
||||
): Flow<ContentMessage<MessageContent>> = merge(
|
||||
sentMessages(scopeToIncludeChannels),
|
||||
mediaGroupMessages(scopeToIncludeChannels).flatMap {
|
||||
it.mapNotNull { it as? ContentMessage<MessageContent> }
|
||||
}
|
||||
)
|
||||
|
||||
fun Flow<BaseSentMessageUpdate>.animationMessages() = filterContentMessages<AnimationContent>()
|
||||
fun FlowsUpdatesFilter.animationMessages(
|
||||
scopeToIncludeChannels: CoroutineScope? = null
|
||||
|
||||
Reference in new issue
Block a user