BehaviourContext

interface BehaviourContext : FlowsUpdatesFilter, RequestsExecutor, CoroutineScope

This class contains all necessary tools for work with bots and especially for buildBehaviour

See also

Functions

close
Link copied to clipboard
expect abstract fun close()
copy
Link copied to clipboard
abstract fun copy(bot: TelegramBot = this.bot, scope: CoroutineScope = this.scope, broadcastChannelsSize: Int = 100, onBufferOverflow: BufferOverflow = BufferOverflow.SUSPEND, upstreamUpdatesFlow: Flow<Update>? = null, updatesFilter: BehaviourContextAndTypeReceiver<Boolean, Update>? = null): BehaviourContext
execute
Link copied to clipboard
abstract suspend fun <T : Any> execute(request: Request<T>): T

Unsafe execution of incoming request. Can throw almost any exception. So, it is better to use something like dev.inmo.tgbotapi.extensions.utils.shortcuts.executeAsync or dev.inmo.tgbotapi.extensions.utils.shortcuts.executeUnsafe

Properties

allowedUpdates
Link copied to clipboard
open override val allowedUpdates: List<String>
allUpdatesFlow
Link copied to clipboard
abstract val allUpdatesFlow: Flow<Update>
abstract val allUpdatesWithoutMediaGroupsGroupingFlow: Flow<Update>
asUpdateReceiver
Link copied to clipboard
abstract val asUpdateReceiver: UpdateReceiver<Update>
bot
Link copied to clipboard
open val bot: TelegramBot
callbackQueriesFlow
Link copied to clipboard
abstract val callbackQueriesFlow: Flow<CallbackQueryUpdate>
channelPostMediaGroupsFlow
Link copied to clipboard
abstract val channelPostMediaGroupsFlow: Flow<ChannelPostMediaGroupUpdate>
channelPostsFlow
Link copied to clipboard
abstract val channelPostsFlow: Flow<ChannelPostUpdate>
chatJoinRequestUpdateFlow
Link copied to clipboard
abstract val chatJoinRequestUpdateFlow: Flow<ChatJoinRequestUpdate>
chatMemberUpdatesFlow
Link copied to clipboard
abstract val chatMemberUpdatesFlow: Flow<CommonChatMemberUpdatedUpdate>
chosenInlineResultsFlow
Link copied to clipboard
abstract val chosenInlineResultsFlow: Flow<ChosenInlineResultUpdate>
coroutineContext
Link copied to clipboard
abstract val coroutineContext: CoroutineContext
editedChannelPostMediaGroupsFlow
Link copied to clipboard
abstract val editedChannelPostMediaGroupsFlow: Flow<EditChannelPostMediaGroupUpdate>
editedChannelPostsFlow
Link copied to clipboard
abstract val editedChannelPostsFlow: Flow<EditChannelPostUpdate>
editedMessageMediaGroupsFlow
Link copied to clipboard
abstract val editedMessageMediaGroupsFlow: Flow<EditMessageMediaGroupUpdate>
editedMessagesFlow
Link copied to clipboard
abstract val editedMessagesFlow: Flow<EditMessageUpdate>
flowsUpdatesFilter
Link copied to clipboard
open val flowsUpdatesFilter: FlowsUpdatesFilter

This parameter will be used to subscribe on different types of update

inlineQueriesFlow
Link copied to clipboard
abstract val inlineQueriesFlow: Flow<InlineQueryUpdate>
messageMediaGroupsFlow
Link copied to clipboard
abstract val messageMediaGroupsFlow: Flow<MessageMediaGroupUpdate>
messagesFlow
Link copied to clipboard
abstract val messagesFlow: Flow<MessageUpdate>
myChatMemberUpdatesFlow
Link copied to clipboard
abstract val myChatMemberUpdatesFlow: Flow<MyChatMemberUpdatedUpdate>
pollAnswersFlow
Link copied to clipboard
abstract val pollAnswersFlow: Flow<PollAnswerUpdate>
pollsFlow
Link copied to clipboard
abstract val pollsFlow: Flow<PollUpdate>
preCheckoutQueriesFlow
Link copied to clipboard
abstract val preCheckoutQueriesFlow: Flow<PreCheckoutQueryUpdate>
scope
Link copied to clipboard
open val scope: CoroutineScope

Will be used for creating of some subscriptions inside of methods, updates listening and different other things in context of working with CoroutineScope and coroutines.

shippingQueriesFlow
Link copied to clipboard
abstract val shippingQueriesFlow: Flow<ShippingQueryUpdate>
unknownUpdatesFlow
Link copied to clipboard
abstract val unknownUpdatesFlow: Flow<UnknownUpdate>

Inheritors

BehaviourContextWithFSM
Link copied to clipboard
DefaultBehaviourContextWithFSM
Link copied to clipboard
DefaultBehaviourContext
Link copied to clipboard

Extensions

doInSubContext
Link copied to clipboard
suspend fun <T> BehaviourContext.doInSubContext(stopOnCompletion: Boolean = true, updatesUpstreamFlow: Flow<Update> = allUpdatesFlow, scope: CoroutineScope = LinkedSupervisorScope(), behaviourContextReceiver: BehaviourContextReceiver<T>): T
expectFlow
Link copied to clipboard
suspend fun <T> BehaviourContext.expectFlow(initRequest: Request<*>? = null, count: Int? = null, errorFactory: NullableRequestBuilder<*> = { null }, cancelRequestFactory: NullableRequestBuilder<*> = { null }, cancelTrigger: suspend (Update) -> Boolean = { cancelRequestFactory(it) != null }, filter: suspend (Update) -> List<T>): Flow<T>
expectOne
Link copied to clipboard
suspend fun <T> BehaviourContext.expectOne(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, cancelRequestFactory: NullableRequestBuilder<*> = { null }, cancelTrigger: suspend (Update) -> Boolean = { cancelRequestFactory(it) != null }, filter: suspend (Update) -> T?): T
followLocation
Link copied to clipboard
suspend fun BehaviourContext.followLocation(message: ContentMessage<LiveLocationContent>, onLocation: BehaviourContextAndTypeReceiver<Unit, Location>)

Use this extension when you want to follow LiveLocation until it will became StaticLocation. This method is synchronous. You may use something like kotlinx.coroutines.launch or kotlinx.coroutines.async to run it asynchronously

oneOf
Link copied to clipboard
suspend fun <O> BehaviourContext.oneOf(deferredActions: Iterable<Deferred<O>>): O
suspend fun <O> BehaviourContext.oneOf(vararg deferredActions: Deferred<O>): O
oneOfActions
Link copied to clipboard
suspend fun <O> BehaviourContext.oneOfActions(deferredActions: Iterable<DeferredAction<*, O>>): O
suspend fun <O> BehaviourContext.oneOfActions(vararg deferredActions: DeferredAction<*, O>): O
parallel
Link copied to clipboard
suspend fun <T> BehaviourContext.parallel(action: BehaviourContextReceiver<T>): Deferred<T>
stop
Link copied to clipboard
fun BehaviourContext.stop()

This method will cancel ALL subsequent contexts, expectations and waiters

waitAnimation
Link copied to clipboard
suspend fun BehaviourContext.waitAnimation(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<CommonMessage<AnimationContent>>? = null, mapper: CommonMessageToContentMapper<AnimationContent>? = null): List<AnimationContent>
waitAnyInlineQuery
Link copied to clipboard
suspend fun BehaviourContext.waitAnyInlineQuery(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<InlineQuery>? = null, mapper: InlineQueryMapper<InlineQuery>? = null): List<InlineQuery>
waitAnyMediaGroupContent
Link copied to clipboard
suspend fun BehaviourContext.waitAnyMediaGroupContent(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, includeMediaGroups: Boolean = true, filter: SimpleFilter<CommonMessage<MediaGroupContent>>? = null, mapper: CommonMessageToContentMapper<MediaGroupContent>? = null): List<MediaGroupContent>
waitAnyPassportMessages
Link copied to clipboard
suspend fun BehaviourContext.waitAnyPassportMessages(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<PassportMessage>? = null, mapper: PassportMessageMapper? = null): List<PassportData>
waitAudio
Link copied to clipboard
suspend fun BehaviourContext.waitAudio(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, includeMediaGroups: Boolean = false, filter: SimpleFilter<CommonMessage<AudioContent>>? = null, mapper: CommonMessageToContentMapper<AudioContent>? = null): List<AudioContent>
waitAudioMediaGroupContent
Link copied to clipboard
suspend fun BehaviourContext.waitAudioMediaGroupContent(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, includeMediaGroups: Boolean = true, filter: SimpleFilter<CommonMessage<AudioMediaGroupContent>>? = null, mapper: CommonMessageToContentMapper<AudioMediaGroupContent>? = null): List<AudioMediaGroupContent>
waitBaseChosenInlineResult
Link copied to clipboard
suspend fun BehaviourContext.waitBaseChosenInlineResult(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<BaseChosenInlineResult>? = null, mapper: PollMapper<BaseChosenInlineResult>? = null): List<BaseChosenInlineResult>
waitBaseInlineQuery
Link copied to clipboard
suspend fun BehaviourContext.waitBaseInlineQuery(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<BaseInlineQuery>? = null, mapper: InlineQueryMapper<BaseInlineQuery>? = null): List<BaseInlineQuery>
waitChannelChatCreatedEvents
Link copied to clipboard
suspend fun BehaviourContext.waitChannelChatCreatedEvents(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<ChatEventMessage<ChannelChatCreated>>? = null, mapper: EventMessageToEventMapper<ChannelChatCreated>? = null): List<ChannelChatCreated>
waitChannelEvents
Link copied to clipboard
suspend fun BehaviourContext.waitChannelEvents(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<ChatEventMessage<ChannelEvent>>? = null, mapper: EventMessageToEventMapper<ChannelEvent>? = null): List<ChannelEvent>
waitChatEvents
Link copied to clipboard
suspend fun BehaviourContext.waitChatEvents(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<ChatEventMessage<ChatEvent>>? = null, mapper: EventMessageToEventMapper<ChatEvent>? = null): List<ChatEvent>
waitChatJoinRequests
Link copied to clipboard
suspend fun BehaviourContext.waitChatJoinRequests(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<ChatJoinRequest>? = null, mapper: ChatJoinRequestsMapper? = null): List<ChatJoinRequest>
waitChatMemberUpdated
Link copied to clipboard
suspend fun BehaviourContext.waitChatMemberUpdated(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<ChatMemberUpdatedUpdate>? = null, mapper: ChatMemberUpdatedMapper<ChatMemberUpdated>? = null): List<ChatMemberUpdated>
waitChosenInlineResult
Link copied to clipboard
suspend fun BehaviourContext.waitChosenInlineResult(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<ChosenInlineResult>? = null, mapper: ChosenInlineResultMapper<ChosenInlineResult>? = null): List<ChosenInlineResult>
waitCommonChatMemberUpdated
Link copied to clipboard
suspend fun BehaviourContext.waitCommonChatMemberUpdated(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<CommonChatMemberUpdatedUpdate>? = null, mapper: ChatMemberUpdatedMapper<ChatMemberUpdated>? = null): List<ChatMemberUpdated>
waitCommonEvents
Link copied to clipboard
suspend fun BehaviourContext.waitCommonEvents(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<ChatEventMessage<CommonEvent>>? = null, mapper: EventMessageToEventMapper<CommonEvent>? = null): List<CommonEvent>
waitContact
Link copied to clipboard
suspend fun BehaviourContext.waitContact(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<CommonMessage<ContactContent>>? = null, mapper: CommonMessageToContentMapper<ContactContent>? = null): List<ContactContent>
waitContentMessage
Link copied to clipboard
suspend fun BehaviourContext.waitContentMessage(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, includeMediaGroups: Boolean = true, filter: SimpleFilter<CommonMessage<MessageContent>>? = null, mapper: CommonMessageToContentMapper<MessageContent>? = null): List<MessageContent>
waitDataCallbackQuery
Link copied to clipboard
suspend fun BehaviourContext.waitDataCallbackQuery(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<DataCallbackQuery>? = null, mapper: CallbackQueryMapper<DataCallbackQuery>? = null): List<DataCallbackQuery>
waitDeleteChatPhotoEvents
Link copied to clipboard
suspend fun BehaviourContext.waitDeleteChatPhotoEvents(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<ChatEventMessage<DeleteChatPhoto>>? = null, mapper: EventMessageToEventMapper<DeleteChatPhoto>? = null): List<DeleteChatPhoto>
waitDice
Link copied to clipboard
suspend fun BehaviourContext.waitDice(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<CommonMessage<DiceContent>>? = null, mapper: CommonMessageToContentMapper<DiceContent>? = null): List<DiceContent>
waitDocument
Link copied to clipboard
suspend fun BehaviourContext.waitDocument(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, includeMediaGroups: Boolean = false, filter: SimpleFilter<CommonMessage<DocumentContent>>? = null, mapper: CommonMessageToContentMapper<DocumentContent>? = null): List<DocumentContent>
waitDocumentMediaGroupContent
Link copied to clipboard
suspend fun BehaviourContext.waitDocumentMediaGroupContent(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, includeMediaGroups: Boolean = true, filter: SimpleFilter<CommonMessage<DocumentMediaGroupContent>>? = null, mapper: CommonMessageToContentMapper<DocumentMediaGroupContent>? = null): List<DocumentMediaGroupContent>
waitDocumentsGroup
Link copied to clipboard
suspend fun BehaviourContext.waitDocumentsGroup(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: MediaGroupFilter<DocumentMediaGroupContent>? = null): List<List<DocumentMediaGroupContent>>
waitEditedAnimation
Link copied to clipboard
suspend fun BehaviourContext.waitEditedAnimation(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<CommonMessage<AnimationContent>>? = null, mapper: CommonMessageToContentMapper<AnimationContent>? = null): List<AnimationContent>
waitEditedAnyMediaGroupContent
Link copied to clipboard
suspend fun BehaviourContext.waitEditedAnyMediaGroupContent(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, includeMediaGroups: Boolean = true, filter: SimpleFilter<CommonMessage<MediaGroupContent>>? = null, mapper: CommonMessageToContentMapper<MediaGroupContent>? = null): List<MediaGroupContent>
waitEditedAudio
Link copied to clipboard
suspend fun BehaviourContext.waitEditedAudio(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, includeMediaGroups: Boolean = false, filter: SimpleFilter<CommonMessage<AudioContent>>? = null, mapper: CommonMessageToContentMapper<AudioContent>? = null): List<AudioContent>
waitEditedAudioMediaGroupContent
Link copied to clipboard
suspend fun BehaviourContext.waitEditedAudioMediaGroupContent(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, includeMediaGroups: Boolean = true, filter: SimpleFilter<CommonMessage<AudioMediaGroupContent>>? = null, mapper: CommonMessageToContentMapper<AudioMediaGroupContent>? = null): List<AudioMediaGroupContent>
waitEditedContact
Link copied to clipboard
suspend fun BehaviourContext.waitEditedContact(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<CommonMessage<ContactContent>>? = null, mapper: CommonMessageToContentMapper<ContactContent>? = null): List<ContactContent>
waitEditedContentMessage
Link copied to clipboard
suspend fun BehaviourContext.waitEditedContentMessage(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, includeMediaGroups: Boolean = true, filter: SimpleFilter<CommonMessage<MessageContent>>? = null, mapper: CommonMessageToContentMapper<MessageContent>? = null): List<MessageContent>
waitEditedDice
Link copied to clipboard
suspend fun BehaviourContext.waitEditedDice(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<CommonMessage<DiceContent>>? = null, mapper: CommonMessageToContentMapper<DiceContent>? = null): List<DiceContent>
waitEditedDocument
Link copied to clipboard
suspend fun BehaviourContext.waitEditedDocument(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, includeMediaGroups: Boolean = false, filter: SimpleFilter<CommonMessage<DocumentContent>>? = null, mapper: CommonMessageToContentMapper<DocumentContent>? = null): List<DocumentContent>
waitEditedDocumentMediaGroupContent
Link copied to clipboard
suspend fun BehaviourContext.waitEditedDocumentMediaGroupContent(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, includeMediaGroups: Boolean = true, filter: SimpleFilter<CommonMessage<DocumentMediaGroupContent>>? = null, mapper: CommonMessageToContentMapper<DocumentMediaGroupContent>? = null): List<DocumentMediaGroupContent>
waitEditedGame
Link copied to clipboard
suspend fun BehaviourContext.waitEditedGame(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<CommonMessage<GameContent>>? = null, mapper: CommonMessageToContentMapper<GameContent>? = null): List<GameContent>
waitEditedInvoice
Link copied to clipboard
suspend fun BehaviourContext.waitEditedInvoice(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<CommonMessage<InvoiceContent>>? = null, mapper: CommonMessageToContentMapper<InvoiceContent>? = null): List<InvoiceContent>
waitEditedLiveLocation
Link copied to clipboard
suspend fun BehaviourContext.waitEditedLiveLocation(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<CommonMessage<LiveLocationContent>>? = null, mapper: CommonMessageToContentMapper<LiveLocationContent>? = null): List<LiveLocationContent>
waitEditedLocation
Link copied to clipboard
suspend fun BehaviourContext.waitEditedLocation(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<CommonMessage<LocationContent>>? = null, mapper: CommonMessageToContentMapper<LocationContent>? = null): List<LocationContent>
waitEditedMedia
Link copied to clipboard
suspend fun BehaviourContext.waitEditedMedia(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, includeMediaGroups: Boolean = false, filter: SimpleFilter<CommonMessage<MediaContent>>? = null, mapper: CommonMessageToContentMapper<MediaContent>? = null): List<MediaContent>
waitEditedPhoto
Link copied to clipboard
suspend fun BehaviourContext.waitEditedPhoto(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, includeMediaGroups: Boolean = false, filter: SimpleFilter<CommonMessage<PhotoContent>>? = null, mapper: CommonMessageToContentMapper<PhotoContent>? = null): List<PhotoContent>
waitEditedStaticLocation
Link copied to clipboard
suspend fun BehaviourContext.waitEditedStaticLocation(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<CommonMessage<StaticLocationContent>>? = null, mapper: CommonMessageToContentMapper<StaticLocationContent>? = null): List<StaticLocationContent>
waitEditedSticker
Link copied to clipboard
suspend fun BehaviourContext.waitEditedSticker(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<CommonMessage<StickerContent>>? = null, mapper: CommonMessageToContentMapper<StickerContent>? = null): List<StickerContent>
waitEditedText
Link copied to clipboard
suspend fun BehaviourContext.waitEditedText(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<CommonMessage<TextContent>>? = null, mapper: CommonMessageToContentMapper<TextContent>? = null): List<TextContent>
waitEditedVenue
Link copied to clipboard
suspend fun BehaviourContext.waitEditedVenue(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<CommonMessage<VenueContent>>? = null, mapper: CommonMessageToContentMapper<VenueContent>? = null): List<VenueContent>
waitEditedVideo
Link copied to clipboard
suspend fun BehaviourContext.waitEditedVideo(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, includeMediaGroups: Boolean = false, filter: SimpleFilter<CommonMessage<VideoContent>>? = null, mapper: CommonMessageToContentMapper<VideoContent>? = null): List<VideoContent>
waitEditedVideoNote
Link copied to clipboard
suspend fun BehaviourContext.waitEditedVideoNote(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<CommonMessage<VideoNoteContent>>? = null, mapper: CommonMessageToContentMapper<VideoNoteContent>? = null): List<VideoNoteContent>
waitEditedVisualMediaGroupContent
Link copied to clipboard
suspend fun BehaviourContext.waitEditedVisualMediaGroupContent(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, includeMediaGroups: Boolean = true, filter: SimpleFilter<CommonMessage<VisualMediaGroupContent>>? = null, mapper: CommonMessageToContentMapper<VisualMediaGroupContent>? = null): List<VisualMediaGroupContent>
waitEditedVoice
Link copied to clipboard
suspend fun BehaviourContext.waitEditedVoice(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<CommonMessage<VoiceContent>>? = null, mapper: CommonMessageToContentMapper<VoiceContent>? = null): List<VoiceContent>
waitGame
Link copied to clipboard
suspend fun BehaviourContext.waitGame(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<CommonMessage<GameContent>>? = null, mapper: CommonMessageToContentMapper<GameContent>? = null): List<GameContent>
waitGameShortNameCallbackQuery
Link copied to clipboard
suspend fun BehaviourContext.waitGameShortNameCallbackQuery(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<GameShortNameCallbackQuery>? = null, mapper: CallbackQueryMapper<GameShortNameCallbackQuery>? = null): List<GameShortNameCallbackQuery>
waitGroupChatCreatedEvents
Link copied to clipboard
suspend fun BehaviourContext.waitGroupChatCreatedEvents(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<ChatEventMessage<GroupChatCreated>>? = null, mapper: EventMessageToEventMapper<GroupChatCreated>? = null): List<GroupChatCreated>
waitGroupEvents
Link copied to clipboard
suspend fun BehaviourContext.waitGroupEvents(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<ChatEventMessage<GroupEvent>>? = null, mapper: EventMessageToEventMapper<GroupEvent>? = null): List<GroupEvent>
waitInlineMessageIdCallbackQuery
Link copied to clipboard
suspend fun BehaviourContext.waitInlineMessageIdCallbackQuery(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<InlineMessageIdCallbackQuery>? = null, mapper: CallbackQueryMapper<InlineMessageIdCallbackQuery>? = null): List<InlineMessageIdCallbackQuery>
waitInlineMessageIdDataCallbackQuery
Link copied to clipboard
suspend fun BehaviourContext.waitInlineMessageIdDataCallbackQuery(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<InlineMessageIdDataCallbackQuery>? = null, mapper: CallbackQueryMapper<InlineMessageIdDataCallbackQuery>? = null): List<InlineMessageIdDataCallbackQuery>
waitInvoice
Link copied to clipboard
suspend fun BehaviourContext.waitInvoice(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<CommonMessage<InvoiceContent>>? = null, mapper: CommonMessageToContentMapper<InvoiceContent>? = null): List<InvoiceContent>
waitLeftChatMemberEvents
Link copied to clipboard
suspend fun BehaviourContext.waitLeftChatMemberEvents(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<ChatEventMessage<LeftChatMember>>? = null, mapper: EventMessageToEventMapper<LeftChatMember>? = null): List<LeftChatMember>
waitLiveLocation
Link copied to clipboard
suspend fun BehaviourContext.waitLiveLocation(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<CommonMessage<LiveLocationContent>>? = null, mapper: CommonMessageToContentMapper<LiveLocationContent>? = null): List<LiveLocationContent>
waitLocation
Link copied to clipboard
suspend fun BehaviourContext.waitLocation(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<CommonMessage<LocationContent>>? = null, mapper: CommonMessageToContentMapper<LocationContent>? = null): List<LocationContent>
waitLocationChosenInlineResult
Link copied to clipboard
suspend fun BehaviourContext.waitLocationChosenInlineResult(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<LocationChosenInlineResult>? = null, mapper: PollMapper<LocationChosenInlineResult>? = null): List<LocationChosenInlineResult>
waitLocationInlineQuery
Link copied to clipboard
suspend fun BehaviourContext.waitLocationInlineQuery(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<LocationInlineQuery>? = null, mapper: InlineQueryMapper<LocationInlineQuery>? = null): List<LocationInlineQuery>
waitMedia
Link copied to clipboard
suspend fun BehaviourContext.waitMedia(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, includeMediaGroups: Boolean = false, filter: SimpleFilter<CommonMessage<MediaContent>>? = null, mapper: CommonMessageToContentMapper<MediaContent>? = null): List<MediaContent>
waitMediaGroup
Link copied to clipboard
suspend fun BehaviourContext.waitMediaGroup(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: MediaGroupFilter<MediaGroupContent>? = null): List<List<MediaGroupContent>>
waitMessageAutoDeleteTimerChangedEvents
Link copied to clipboard
suspend fun BehaviourContext.waitMessageAutoDeleteTimerChangedEvents(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<ChatEventMessage<MessageAutoDeleteTimerChanged>>? = null, mapper: EventMessageToEventMapper<MessageAutoDeleteTimerChanged>? = null): List<MessageAutoDeleteTimerChanged>
waitMessageCallbackQuery
Link copied to clipboard
suspend fun BehaviourContext.waitMessageCallbackQuery(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<MessageCallbackQuery>? = null, mapper: CallbackQueryMapper<MessageCallbackQuery>? = null): List<MessageCallbackQuery>
waitMessageDataCallbackQuery
Link copied to clipboard
suspend fun BehaviourContext.waitMessageDataCallbackQuery(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<MessageDataCallbackQuery>? = null, mapper: CallbackQueryMapper<MessageDataCallbackQuery>? = null): List<MessageDataCallbackQuery>
waitMessageGameShortNameCallbackQuery
Link copied to clipboard
suspend fun BehaviourContext.waitMessageGameShortNameCallbackQuery(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<MessageGameShortNameCallbackQuery>? = null, mapper: CallbackQueryMapper<MessageGameShortNameCallbackQuery>? = null): List<MessageGameShortNameCallbackQuery>
waitMyChatMemberUpdated
Link copied to clipboard
suspend fun BehaviourContext.waitMyChatMemberUpdated(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<MyChatMemberUpdatedUpdate>? = null, mapper: ChatMemberUpdatedMapper<ChatMemberUpdated>? = null): List<ChatMemberUpdated>
waitNewChatMembersEvents
Link copied to clipboard
suspend fun BehaviourContext.waitNewChatMembersEvents(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<ChatEventMessage<NewChatMembers>>? = null, mapper: EventMessageToEventMapper<NewChatMembers>? = null): List<NewChatMembers>
waitNewChatPhotoEvents
Link copied to clipboard
suspend fun BehaviourContext.waitNewChatPhotoEvents(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<ChatEventMessage<NewChatPhoto>>? = null, mapper: EventMessageToEventMapper<NewChatPhoto>? = null): List<NewChatPhoto>
waitNewChatTitleEvents
Link copied to clipboard
suspend fun BehaviourContext.waitNewChatTitleEvents(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<ChatEventMessage<NewChatTitle>>? = null, mapper: EventMessageToEventMapper<NewChatTitle>? = null): List<NewChatTitle>
waitPassportMessages
Link copied to clipboard
suspend fun <O> BehaviourContext.waitPassportMessages(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<PassportMessage>? = null, mapper: suspend PassportMessage.() -> O?): List<O>
waitPassportMessagesWith
Link copied to clipboard
inline suspend fun <T : EncryptedPassportElement> BehaviourContext.waitPassportMessagesWith(count: Int = 1, initRequest: Request<*>? = null, noinline errorFactory: NullableRequestBuilder<*> = { null }, noinline filter: SimpleFilter<PassportMessage>? = null, noinline mapper: PassportMessageMapper? = null): List<PassportData>
waitPhoto
Link copied to clipboard
suspend fun BehaviourContext.waitPhoto(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, includeMediaGroups: Boolean = false, filter: SimpleFilter<CommonMessage<PhotoContent>>? = null, mapper: CommonMessageToContentMapper<PhotoContent>? = null): List<PhotoContent>
waitPhotoGallery
Link copied to clipboard
suspend fun BehaviourContext.waitPhotoGallery(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: MediaGroupFilter<PhotoContent>? = null): List<List<PhotoContent>>
waitPinnedMessageEvents
Link copied to clipboard
suspend fun BehaviourContext.waitPinnedMessageEvents(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<ChatEventMessage<PinnedMessage>>? = null, mapper: EventMessageToEventMapper<PinnedMessage>? = null): List<PinnedMessage>
waitPlaylist
Link copied to clipboard
suspend fun BehaviourContext.waitPlaylist(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: MediaGroupFilter<AudioMediaGroupContent>? = null): List<List<AudioMediaGroupContent>>
waitPoll
Link copied to clipboard
suspend fun BehaviourContext.waitPoll(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<CommonMessage<PollContent>>? = null, mapper: CommonMessageToContentMapper<PollContent>? = null): List<PollContent>
waitPollAnswers
Link copied to clipboard
suspend fun BehaviourContext.waitPollAnswers(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<PollAnswer>? = null, mapper: PollAnswerMapper? = null): List<PollAnswer>

This wait will be triggered only for stopped polls and polls, which are sent by the bot

waitPollUpdates
Link copied to clipboard
suspend fun BehaviourContext.waitPollUpdates(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<Poll>? = null, mapper: PollMapper<Poll>? = null): List<Poll>

This wait will be triggered only for stopped polls and polls, which are sent by the bot

waitPreCheckoutQueries
Link copied to clipboard
suspend fun BehaviourContext.waitPreCheckoutQueries(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<PreCheckoutQuery>? = null, mapper: PreCheckoutQueryMapper? = null): List<PreCheckoutQuery>
waitPrivateEvents
Link copied to clipboard
suspend fun BehaviourContext.waitPrivateEvents(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<ChatEventMessage<PrivateEvent>>? = null, mapper: EventMessageToEventMapper<PrivateEvent>? = null): List<PrivateEvent>
waitProximityAlertTriggeredEvents
Link copied to clipboard
suspend fun BehaviourContext.waitProximityAlertTriggeredEvents(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<ChatEventMessage<ProximityAlertTriggered>>? = null, mapper: EventMessageToEventMapper<ProximityAlertTriggered>? = null): List<ProximityAlertTriggered>
waitPublicChatEvents
Link copied to clipboard
suspend fun BehaviourContext.waitPublicChatEvents(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<ChatEventMessage<PublicChatEvent>>? = null, mapper: EventMessageToEventMapper<PublicChatEvent>? = null): List<PublicChatEvent>
waitQuizPollUpdates
Link copied to clipboard
suspend fun BehaviourContext.waitQuizPollUpdates(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<QuizPoll>? = null, mapper: PollMapper<QuizPoll>? = null): List<QuizPoll>

This wait will be triggered only for stopped polls and polls, which are sent by the bot

waitRegularPollUpdates
Link copied to clipboard
suspend fun BehaviourContext.waitRegularPollUpdates(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<RegularPoll>? = null, mapper: PollMapper<RegularPoll>? = null): List<RegularPoll>

This wait will be triggered only for stopped polls and polls, which are sent by the bot

waitShippingQueries
Link copied to clipboard
suspend fun BehaviourContext.waitShippingQueries(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<ShippingQuery>? = null, mapper: ShippingQueryMapper? = null): List<ShippingQuery>
waitStaticLocation
Link copied to clipboard
suspend fun BehaviourContext.waitStaticLocation(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<CommonMessage<StaticLocationContent>>? = null, mapper: CommonMessageToContentMapper<StaticLocationContent>? = null): List<StaticLocationContent>
waitSticker
Link copied to clipboard
suspend fun BehaviourContext.waitSticker(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<CommonMessage<StickerContent>>? = null, mapper: CommonMessageToContentMapper<StickerContent>? = null): List<StickerContent>
waitSuccessfulPaymentEvents
Link copied to clipboard
suspend fun BehaviourContext.waitSuccessfulPaymentEvents(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<ChatEventMessage<SuccessfulPaymentEvent>>? = null, mapper: EventMessageToEventMapper<SuccessfulPaymentEvent>? = null): List<SuccessfulPaymentEvent>
waitSupergroupChatCreatedEvents
Link copied to clipboard
suspend fun BehaviourContext.waitSupergroupChatCreatedEvents(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<ChatEventMessage<SupergroupChatCreated>>? = null, mapper: EventMessageToEventMapper<SupergroupChatCreated>? = null): List<SupergroupChatCreated>
waitSupergroupEvents
Link copied to clipboard
suspend fun BehaviourContext.waitSupergroupEvents(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<ChatEventMessage<SupergroupEvent>>? = null, mapper: EventMessageToEventMapper<SupergroupEvent>? = null): List<SupergroupEvent>
waitText
Link copied to clipboard
suspend fun BehaviourContext.waitText(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<CommonMessage<TextContent>>? = null, mapper: CommonMessageToContentMapper<TextContent>? = null): List<TextContent>
waitUnknownCallbackQuery
Link copied to clipboard
suspend fun BehaviourContext.waitUnknownCallbackQuery(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<UnknownCallbackQueryType>? = null, mapper: CallbackQueryMapper<UnknownCallbackQueryType>? = null): List<UnknownCallbackQueryType>
waitVenue
Link copied to clipboard
suspend fun BehaviourContext.waitVenue(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<CommonMessage<VenueContent>>? = null, mapper: CommonMessageToContentMapper<VenueContent>? = null): List<VenueContent>
waitVideo
Link copied to clipboard
suspend fun BehaviourContext.waitVideo(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, includeMediaGroups: Boolean = false, filter: SimpleFilter<CommonMessage<VideoContent>>? = null, mapper: CommonMessageToContentMapper<VideoContent>? = null): List<VideoContent>
waitVideoGallery
Link copied to clipboard
suspend fun BehaviourContext.waitVideoGallery(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: MediaGroupFilter<VideoContent>? = null): List<List<VideoContent>>
waitVideoNote
Link copied to clipboard
suspend fun BehaviourContext.waitVideoNote(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<CommonMessage<VideoNoteContent>>? = null, mapper: CommonMessageToContentMapper<VideoNoteContent>? = null): List<VideoNoteContent>
waitVisualGallery
Link copied to clipboard
suspend fun BehaviourContext.waitVisualGallery(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: MediaGroupFilter<VisualMediaGroupContent>? = null): List<List<VisualMediaGroupContent>>
waitVisualMediaGroupContent
Link copied to clipboard
suspend fun BehaviourContext.waitVisualMediaGroupContent(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, includeMediaGroups: Boolean = true, filter: SimpleFilter<CommonMessage<VisualMediaGroupContent>>? = null, mapper: CommonMessageToContentMapper<VisualMediaGroupContent>? = null): List<VisualMediaGroupContent>
waitVoice
Link copied to clipboard
suspend fun BehaviourContext.waitVoice(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<CommonMessage<VoiceContent>>? = null, mapper: CommonMessageToContentMapper<VoiceContent>? = null): List<VoiceContent>
waitVoiceChatEndedEvents
Link copied to clipboard
suspend fun BehaviourContext.waitVoiceChatEndedEvents(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<ChatEventMessage<VoiceChatEnded>>? = null, mapper: EventMessageToEventMapper<VoiceChatEnded>? = null): List<VoiceChatEnded>
waitVoiceChatEvents
Link copied to clipboard
suspend fun BehaviourContext.waitVoiceChatEvents(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<ChatEventMessage<VoiceChatEvent>>? = null, mapper: EventMessageToEventMapper<VoiceChatEvent>? = null): List<VoiceChatEvent>
waitVoiceChatParticipantsInvitedEvents
Link copied to clipboard
suspend fun BehaviourContext.waitVoiceChatParticipantsInvitedEvents(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<ChatEventMessage<VoiceChatParticipantsInvited>>? = null, mapper: EventMessageToEventMapper<VoiceChatParticipantsInvited>? = null): List<VoiceChatParticipantsInvited>
waitVoiceChatStartedEvents
Link copied to clipboard
suspend fun BehaviourContext.waitVoiceChatStartedEvents(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<ChatEventMessage<VoiceChatStarted>>? = null, mapper: EventMessageToEventMapper<VoiceChatStarted>? = null): List<VoiceChatStarted>