BehaviourContext

interface BehaviourContext : FlowsUpdatesFilter, RequestsExecutor, CoroutineScope

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

See also

Functions

Link copied to clipboard
expect abstract fun close()
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
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

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

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

Link copied to clipboard
abstract val inlineQueriesFlow: Flow<InlineQueryUpdate>
Link copied to clipboard
abstract val messageMediaGroupsFlow: Flow<MessageMediaGroupUpdate>
Link copied to clipboard
abstract val messagesFlow: Flow<MessageUpdate>
Link copied to clipboard
abstract val myChatMemberUpdatesFlow: Flow<MyChatMemberUpdatedUpdate>
Link copied to clipboard
abstract val pollAnswersFlow: Flow<PollAnswerUpdate>
Link copied to clipboard
abstract val pollsFlow: Flow<PollUpdate>
Link copied to clipboard
abstract val preCheckoutQueriesFlow: Flow<PreCheckoutQueryUpdate>
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.

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

Inheritors

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Extensions

Link copied to clipboard
suspend fun <T> BehaviourContext.doInSubContext(stopOnCompletion: Boolean = true, updatesUpstreamFlow: Flow<Update> = allUpdatesFlow, scope: CoroutineScope = LinkedSupervisorScope(), behaviourContextReceiver: BehaviourContextReceiver<T>): T
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>
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
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

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

This method will cancel ALL subsequent contexts, expectations and waiters

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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Link copied to clipboard
suspend fun BehaviourContext.waitDocumentsGroup(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: MediaGroupFilter<DocumentMediaGroupContent>? = null): List<List<DocumentMediaGroupContent>>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Link copied to clipboard
suspend fun BehaviourContext.waitMediaGroup(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: MediaGroupFilter<MediaGroupContent>? = null): List<List<MediaGroupContent>>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Link copied to clipboard
suspend fun BehaviourContext.waitPhotoGallery(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: MediaGroupFilter<PhotoContent>? = null): List<List<PhotoContent>>
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>
Link copied to clipboard
suspend fun BehaviourContext.waitPlaylist(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: MediaGroupFilter<AudioMediaGroupContent>? = null): List<List<AudioMediaGroupContent>>
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>
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

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

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>
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>
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>
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>
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

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

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>
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>
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>
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>
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>
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>
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>
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>
Link copied to clipboard
suspend fun BehaviourContext.waitUserLoggedInEvents(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: SimpleFilter<ChatEventMessage<UserLoggedIn>>? = null, mapper: EventMessageToEventMapper<UserLoggedIn>? = null): List<UserLoggedIn>
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>
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>
Link copied to clipboard
suspend fun BehaviourContext.waitVideoGallery(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: MediaGroupFilter<VideoContent>? = null): List<List<VideoContent>>
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>
Link copied to clipboard
suspend fun BehaviourContext.waitVisualGallery(initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, count: Int = 1, filter: MediaGroupFilter<VisualMediaGroupContent>? = null): List<List<VisualMediaGroupContent>>
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>
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>
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>
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>
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>
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>