onDataCallbackQuery

suspend fun <BC : BehaviourContext> BC.onDataCallbackQuery(initialFilter: SimpleFilter<DataCallbackQuery>? = null, subcontextUpdatesFilter: CustomBehaviourContextAndTwoTypesReceiver<BC, Boolean, DataCallbackQuery, Update>? = CallbackQueryFilterByUser, markerFactory: MarkerFactory<in DataCallbackQuery, Any> = ByUserCallbackQueryMarkerFactory, scenarioReceiver: CustomBehaviourContextAndTypeReceiver<BC, Unit, DataCallbackQuery>): Job

Parameters

initialFilter

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

subcontextUpdatesFilter

This filter will be applied to each update inside of scenarioReceiver. For example, this filter will be used if you will call dev.inmo.tgbotapi.extensions.behaviour_builder.expectations.waitContentMessage. Use dev.inmo.tgbotapi.extensions.behaviour_builder.BehaviourContextAndTwoTypesReceiver function to create your own. Use dev.inmo.tgbotapi.extensions.behaviour_builder.utils.plus or dev.inmo.tgbotapi.extensions.behaviour_builder.utils.times to combinate several filters

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


suspend fun <BC : BehaviourContext> BC.onDataCallbackQuery(dataRegex: Regex, initialFilter: SimpleFilter<DataCallbackQuery>? = null, subcontextUpdatesFilter: CustomBehaviourContextAndTwoTypesReceiver<BC, Boolean, DataCallbackQuery, Update>? = CallbackQueryFilterByUser, markerFactory: MarkerFactory<in DataCallbackQuery, Any> = ByUserCallbackQueryMarkerFactory, scenarioReceiver: CustomBehaviourContextAndTypeReceiver<BC, Unit, DataCallbackQuery>): Job

Parameters

dataRegex
initialFilter

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

subcontextUpdatesFilter

This filter will be applied to each update inside of scenarioReceiver. For example, this filter will be used if you will call dev.inmo.tgbotapi.extensions.behaviour_builder.expectations.waitContentMessage. Use dev.inmo.tgbotapi.extensions.behaviour_builder.BehaviourContextAndTwoTypesReceiver function to create your own. Use dev.inmo.tgbotapi.extensions.behaviour_builder.utils.plus or dev.inmo.tgbotapi.extensions.behaviour_builder.utils.times to combinate several filters

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


suspend fun <BC : BehaviourContext> BC.onDataCallbackQuery(data: String, initialFilter: SimpleFilter<DataCallbackQuery>? = null, subcontextUpdatesFilter: CustomBehaviourContextAndTwoTypesReceiver<BC, Boolean, DataCallbackQuery, Update>? = CallbackQueryFilterByUser, markerFactory: MarkerFactory<in DataCallbackQuery, Any> = ByUserCallbackQueryMarkerFactory, scenarioReceiver: CustomBehaviourContextAndTypeReceiver<BC, Unit, DataCallbackQuery>): Job

Parameters

data

Will be converted to Regex via its constructor and pass it to upstream onDataCallbackQuery

initialFilter

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

subcontextUpdatesFilter

This filter will be applied to each update inside of scenarioReceiver. For example, this filter will be used if you will call dev.inmo.tgbotapi.extensions.behaviour_builder.expectations.waitContentMessage. Use dev.inmo.tgbotapi.extensions.behaviour_builder.BehaviourContextAndTwoTypesReceiver function to create your own. Use dev.inmo.tgbotapi.extensions.behaviour_builder.utils.plus or dev.inmo.tgbotapi.extensions.behaviour_builder.utils.times to combinate several filters

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