onMediaContent

suspend fun <BC : BehaviourContext> BC.onMediaContent(initialFilter: CommonMessageFilter<MediaContent>? = null, subcontextUpdatesFilter: CustomBehaviourContextAndTwoTypesReceiver<BC, Boolean, MediaMessage, Update> = MessageFilterByChat, markerFactory: MarkerFactory<in MediaMessage, Any> = ByChatMessageMarkerFactory, scenarioReceiver: CustomBehaviourContextAndTypeReceiver<BC, Unit, MediaMessage>): Job

Parameters

initialFilter

This filter will be called to remove unnecessary data BEFORE scenarioReceiver call

subcontextUpdatesFilter
markerFactory

Will be used to identify different "stream". scenarioReceiver will be called synchronously in one "stream". Output of markerFactory will be used as a key for "stream"

scenarioReceiver

Main callback which will be used to handle incoming data if initialFilter will pass that data