package com.github.insanusmokrassar.TelegramBotAPI.extensions.utils.updates import com.github.insanusmokrassar.TelegramBotAPI.types.update.MediaGroupUpdates.* import com.github.insanusmokrassar.TelegramBotAPI.types.update.abstracts.* import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.filterIsInstance fun Flow.onlyBaseMessageUpdates(): Flow = filterIsInstance() /** * Converts flow to [Flow] of [BaseSentMessageUpdate] */ fun Flow.onlySentMessageUpdates(): Flow = filterIsInstance() /** * Converts flow to [Flow] of [BaseSentMessageUpdate] */ fun Flow.onlyEditMessageUpdates(): Flow = filterIsInstance() /** * Converts flow to [Flow] of [MediaGroupUpdate]. Please, remember that it could be either [EditMediaGroupUpdate] * or [SentMediaGroupUpdate] * * @see onlySentMediaGroupUpdates * @see onlyEditMediaGroupUpdates */ fun Flow.onlyMediaGroupsUpdates(): Flow = filterIsInstance() /** * Converts flow to [Flow] of [SentMediaGroupUpdate] */ fun Flow.onlySentMediaGroupUpdates(): Flow = filterIsInstance() /** * Converts flow to [Flow] of [EditMediaGroupUpdate] */ fun Flow.onlyEditMediaGroupUpdates(): Flow = filterIsInstance()