# com.github.insanusmokrassar.TelegramBotAPI.extensions.api.updates - docs

docs / com.github.insanusmokrassar.TelegramBotAPI.extensions.api.updates

## Package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.updates

### Functions

(common)

#### startGettingFlowsUpdates

This method will create a new one FlowsUpdatesFilter. This method could be unsafe due to the fact that it will start getting updates IMMEDIATELY. That means that your bot will be able to skip some of them until you will call kotlinx.coroutines.flow.Flow.collect on one of FlowsUpdatesFilter flows. To avoid it, you can pass flowUpdatesPreset lambda - it will be called BEFORE starting updates getting

`fun RequestsExecutor.startGettingFlowsUpdates(timeoutSeconds: Seconds = 30, scope: CoroutineScope = CoroutineScope(Dispatchers.Default), exceptionsHandler: (suspend (Exception) -> Unit)? = null, flowsUpdatesFilterUpdatesKeeperCount: Int = 64, flowUpdatesPreset: FlowsUpdatesFilter.() -> Unit = {}): FlowsUpdatesFilter`

(common)

#### startGettingOfUpdates

`fun RequestsExecutor.startGettingOfUpdates(timeoutSeconds: Seconds = 30, scope: CoroutineScope = CoroutineScope(Dispatchers.Default), exceptionsHandler: (suspend (Exception) -> Unit)? = null, allowedUpdates: List<String>? = null, updatesReceiver: UpdateReceiver<Update>): Job`
`fun RequestsExecutor.startGettingOfUpdates(updatesFilter: UpdatesFilter, timeoutSeconds: Seconds = 30, exceptionsHandler: (suspend (Exception) -> Unit)? = null, scope: CoroutineScope = CoroutineScope(Dispatchers.Default)): Job`
`fun RequestsExecutor.startGettingOfUpdates(messageCallback: UpdateReceiver<MessageUpdate>? = null, messageMediaGroupCallback: UpdateReceiver<MessageMediaGroupUpdate>? = null, editedMessageCallback: UpdateReceiver<EditMessageUpdate>? = null, editedMessageMediaGroupCallback: UpdateReceiver<EditMessageMediaGroupUpdate>? = null, channelPostCallback: UpdateReceiver<ChannelPostUpdate>? = null, channelPostMediaGroupCallback: UpdateReceiver<ChannelPostMediaGroupUpdate>? = null, editedChannelPostCallback: UpdateReceiver<EditChannelPostUpdate>? = null, editedChannelPostMediaGroupCallback: UpdateReceiver<EditChannelPostMediaGroupUpdate>? = null, chosenInlineResultCallback: UpdateReceiver<ChosenInlineResultUpdate>? = null, inlineQueryCallback: UpdateReceiver<InlineQueryUpdate>? = null, callbackQueryCallback: UpdateReceiver<CallbackQueryUpdate>? = null, shippingQueryCallback: UpdateReceiver<ShippingQueryUpdate>? = null, preCheckoutQueryCallback: UpdateReceiver<PreCheckoutQueryUpdate>? = null, pollCallback: UpdateReceiver<PollUpdate>? = null, pollAnswerCallback: UpdateReceiver<PollAnswerUpdate>? = null, timeoutSeconds: Seconds = 30, exceptionsHandler: (suspend (Exception) -> Unit)? = null, scope: CoroutineScope = GlobalScope): Job`
`fun RequestsExecutor.startGettingOfUpdates(messageCallback: UpdateReceiver<MessageUpdate>? = null, mediaGroupCallback: UpdateReceiver<MediaGroupUpdate>? = null, editedMessageCallback: UpdateReceiver<EditMessageUpdate>? = null, channelPostCallback: UpdateReceiver<ChannelPostUpdate>? = null, editedChannelPostCallback: UpdateReceiver<EditChannelPostUpdate>? = null, chosenInlineResultCallback: UpdateReceiver<ChosenInlineResultUpdate>? = null, inlineQueryCallback: UpdateReceiver<InlineQueryUpdate>? = null, callbackQueryCallback: UpdateReceiver<CallbackQueryUpdate>? = null, shippingQueryCallback: UpdateReceiver<ShippingQueryUpdate>? = null, preCheckoutQueryCallback: UpdateReceiver<PreCheckoutQueryUpdate>? = null, pollCallback: UpdateReceiver<PollUpdate>? = null, pollAnswerCallback: UpdateReceiver<PollAnswerUpdate>? = null, timeoutSeconds: Seconds = 30, exceptionsHandler: (suspend (Exception) -> Unit)? = null, scope: CoroutineScope = CoroutineScope(Dispatchers.Default)): Job`