add flowsUdatesFilter

This commit is contained in:
InsanusMokrassar 2020-05-15 18:17:55 +06:00
parent 336b830b0b
commit e856dc4754
3 changed files with 37 additions and 1 deletions

View File

@ -63,6 +63,7 @@
* Updates utils were added
* New extensions `startListenWebhooks`, `setWebhookInfoAndStartListenWebhooks` and `includeWebhookHandlingInRoute` was added
* New extension `CoroutineScope#updateHandlerWithMediaGroupsAdaptation` was added
* New extension `flowsUpdatesFilter` was added
* `TelegramBotAPI-all`:
* Project was created

View File

@ -76,7 +76,17 @@ updates retrieving:
* Long Polling
Both of them you could use in your project using [TelegramBotAPI](../TelegramBotAPI/README.md), but here there are
several useful extensions for both of them:
several useful extensions for both of them.
Anyway, in both of ways it will be useful to know that it is possible to create `UpdateReceiver` object using function
`flowsUpdatesFilter`:
```kotlin
val internalChannelsSizes = 128
flowsUpdatesFilter(internalChannelsSizes/* default is 64 */) {
/* ... */
}
```
#### Long polling

View File

@ -0,0 +1,25 @@
package com.github.insanusmokrassar.TelegramBotAPI.extensions.utils.updates
import com.github.insanusmokrassar.TelegramBotAPI.updateshandlers.FlowsUpdatesFilter
/**
* Non-suspendable function for easy-to-use creating of [FlowsUpdatesFilter] and applying the block to it
*/
fun flowsUpdatesFilter(
internalChannelsSizes: Int = 64,
block: FlowsUpdatesFilter.() -> Unit
): FlowsUpdatesFilter = FlowsUpdatesFilter(internalChannelsSizes).apply(block)
/**
* Suspend variation for [flowsUpdatesFilter] function
*
* @see flowsUpdatesFilter
*/
suspend fun flowsUpdatesFilter(
internalChannelsSizes: Int = 64,
block: suspend FlowsUpdatesFilter.() -> Unit
): FlowsUpdatesFilter {
val filter = FlowsUpdatesFilter(internalChannelsSizes)
filter.block()
return filter
}