diff --git a/tgbotapi.extensions.behaviour_builder/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/behaviour_builder/expectations/WaitCallbackQuery.kt b/tgbotapi.extensions.behaviour_builder/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/behaviour_builder/expectations/WaitCallbackQuery.kt index 5676bb0054..e9e70a84c6 100644 --- a/tgbotapi.extensions.behaviour_builder/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/behaviour_builder/expectations/WaitCallbackQuery.kt +++ b/tgbotapi.extensions.behaviour_builder/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/behaviour_builder/expectations/WaitCallbackQuery.kt @@ -47,56 +47,56 @@ private suspend inline fun BehaviourContext.waitEven suspend fun BehaviourContext.waitDataCallbackQuery( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, filter: CallbackQueryMapper? = null ) = waitEvents(count, initRequest, errorFactory, filter) suspend fun BehaviourContext.waitGameShortNameCallbackQuery( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, filter: CallbackQueryMapper? = null ) = waitEvents(count, initRequest, errorFactory, filter) suspend fun BehaviourContext.waitInlineMessageIdCallbackQuery( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, filter: CallbackQueryMapper? = null ) = waitEvents(count, initRequest, errorFactory, filter) suspend fun BehaviourContext.waitInlineMessageIdDataCallbackQuery( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, filter: CallbackQueryMapper? = null ) = waitEvents(count, initRequest, errorFactory, filter) suspend fun BehaviourContext.waitInlineMessageIdGameShortNameCallbackQuery( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, filter: CallbackQueryMapper? = null ) = waitEvents(count, initRequest, errorFactory, filter) suspend fun BehaviourContext.waitMessageCallbackQuery( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, filter: CallbackQueryMapper? = null ) = waitEvents(count, initRequest, errorFactory, filter) suspend fun BehaviourContext.waitMessageDataCallbackQuery( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, filter: CallbackQueryMapper? = null ) = waitEvents(count, initRequest, errorFactory, filter) suspend fun BehaviourContext.waitMessageGameShortNameCallbackQuery( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, filter: CallbackQueryMapper? = null ) = waitEvents(count, initRequest, errorFactory, filter) suspend fun BehaviourContext.waitUnknownCallbackQuery( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, filter: CallbackQueryMapper? = null ) = waitEvents(count, initRequest, errorFactory, filter) diff --git a/tgbotapi.extensions.behaviour_builder/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/behaviour_builder/expectations/WaitContent.kt b/tgbotapi.extensions.behaviour_builder/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/behaviour_builder/expectations/WaitContent.kt index 5432251eb3..d78868e2bc 100644 --- a/tgbotapi.extensions.behaviour_builder/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/behaviour_builder/expectations/WaitContent.kt +++ b/tgbotapi.extensions.behaviour_builder/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/behaviour_builder/expectations/WaitContent.kt @@ -60,137 +60,137 @@ private suspend inline fun BehaviourContext.waitCon } suspend fun BehaviourContext.waitContact( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, filter: ContentMessageToContentMapper? = null ) = waitContent(count, initRequest, false, errorFactory, filter) suspend fun BehaviourContext.waitDice( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, filter: ContentMessageToContentMapper? = null ) = waitContent(count, initRequest, false, errorFactory, filter) suspend fun BehaviourContext.waitGame( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, filter: ContentMessageToContentMapper? = null ) = waitContent(count, initRequest, false, errorFactory, filter) suspend fun BehaviourContext.waitLocation( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, filter: ContentMessageToContentMapper? = null ) = waitContent(count, initRequest, false, errorFactory, filter) suspend fun BehaviourContext.waitPoll( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, filter: ContentMessageToContentMapper? = null ) = waitContent(count, initRequest, false, errorFactory, filter) suspend fun BehaviourContext.waitText( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, filter: ContentMessageToContentMapper? = null ) = waitContent(count, initRequest, false, errorFactory, filter) suspend fun BehaviourContext.waitVenue( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, filter: ContentMessageToContentMapper? = null ) = waitContent(count, initRequest, false, errorFactory, filter) suspend fun BehaviourContext.waitAudioMediaGroup( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, includeMediaGroups: Boolean = true, filter: ContentMessageToContentMapper? = null ) = waitContent(count, initRequest, includeMediaGroups, errorFactory, filter) suspend fun BehaviourContext.waitDocumentMediaGroup( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, includeMediaGroups: Boolean = true, filter: ContentMessageToContentMapper? = null ) = waitContent(count, initRequest, includeMediaGroups, errorFactory, filter) suspend fun BehaviourContext.waitMedia( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, includeMediaGroups: Boolean = true, filter: ContentMessageToContentMapper? = null ) = waitContent(count, initRequest, includeMediaGroups, errorFactory, filter) suspend fun BehaviourContext.waitMediaGroup( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, includeMediaGroups: Boolean = true, filter: ContentMessageToContentMapper? = null ) = waitContent(count, initRequest, includeMediaGroups, errorFactory, filter) suspend fun BehaviourContext.waitVisualMediaGroup( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, includeMediaGroups: Boolean = true, filter: ContentMessageToContentMapper? = null ) = waitContent(count, initRequest, includeMediaGroups, errorFactory, filter) suspend fun BehaviourContext.waitAnimation( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, filter: ContentMessageToContentMapper? = null ) = waitContent(count, initRequest, false, errorFactory, filter) suspend fun BehaviourContext.waitAudio( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, includeMediaGroups: Boolean = true, filter: ContentMessageToContentMapper? = null ) = waitContent(count, initRequest, includeMediaGroups, errorFactory, filter) suspend fun BehaviourContext.waitDocument( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, includeMediaGroups: Boolean = true, filter: ContentMessageToContentMapper? = null ) = waitContent(count, initRequest, includeMediaGroups, errorFactory, filter) suspend fun BehaviourContext.waitPhoto( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, includeMediaGroups: Boolean = true, filter: ContentMessageToContentMapper? = null ) = waitContent(count, initRequest, includeMediaGroups, errorFactory, filter) suspend fun BehaviourContext.waitSticker( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, filter: ContentMessageToContentMapper? = null ) = waitContent(count, initRequest, false, errorFactory, filter) suspend fun BehaviourContext.waitVideo( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, includeMediaGroups: Boolean = true, filter: ContentMessageToContentMapper? = null ) = waitContent(count, initRequest, includeMediaGroups, errorFactory, filter) suspend fun BehaviourContext.waitVideoNote( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, filter: ContentMessageToContentMapper? = null ) = waitContent(count, initRequest, false, errorFactory, filter) suspend fun BehaviourContext.waitVoice( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, filter: ContentMessageToContentMapper? = null ) = waitContent(count, initRequest, false, errorFactory, filter) suspend fun BehaviourContext.waitInvoice( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, filter: ContentMessageToContentMapper? = null ) = waitContent(count, initRequest, false, errorFactory, filter) diff --git a/tgbotapi.extensions.behaviour_builder/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/behaviour_builder/expectations/WaitEventAction.kt b/tgbotapi.extensions.behaviour_builder/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/behaviour_builder/expectations/WaitEventAction.kt index e9ee547eb7..0093fa5111 100644 --- a/tgbotapi.extensions.behaviour_builder/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/behaviour_builder/expectations/WaitEventAction.kt +++ b/tgbotapi.extensions.behaviour_builder/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/behaviour_builder/expectations/WaitEventAction.kt @@ -14,9 +14,9 @@ import kotlinx.coroutines.flow.toList typealias EventMessageToEventMapper = suspend ChatEventMessage.() -> T? private suspend fun BehaviourContext.waitEventMessages( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, mapper: suspend ChatEventMessage.() -> O? ): List = expectFlow( initRequest, @@ -33,9 +33,9 @@ private suspend inline fun BehaviourContext.waitEvents( noinline errorFactory: NullableRequestBuilder<*> = { null }, noinline filter: EventMessageToEventMapper? = null ) : List = waitEventMessages( - count, initRequest, - errorFactory + errorFactory, + count ) { if (chatEvent is T) { @Suppress("UNCHECKED_CAST") @@ -51,94 +51,94 @@ private suspend inline fun BehaviourContext.waitEvents( } suspend fun BehaviourContext.waitChannelEvents( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, filter: EventMessageToEventMapper? = null ) = waitEvents(count, initRequest, errorFactory, filter) suspend fun BehaviourContext.waitChatEvents( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, filter: EventMessageToEventMapper? = null ) = waitEvents(count, initRequest, errorFactory, filter) suspend fun BehaviourContext.waitCommonEvents( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, filter: EventMessageToEventMapper? = null ) = waitEvents(count, initRequest, errorFactory, filter) suspend fun BehaviourContext.waitGroupEvents( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, filter: EventMessageToEventMapper? = null ) = waitEvents(count, initRequest, errorFactory, filter) suspend fun BehaviourContext.waitSupergroupEvents( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, filter: EventMessageToEventMapper? = null ) = waitEvents(count, initRequest, errorFactory, filter) suspend fun BehaviourContext.waitChannelChatCreatedEvents( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, filter: EventMessageToEventMapper? = null ) = waitEvents(count, initRequest, errorFactory, filter) suspend fun BehaviourContext.waitDeleteChatPhotoEvents( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, filter: EventMessageToEventMapper? = null ) = waitEvents(count, initRequest, errorFactory, filter) suspend fun BehaviourContext.waitGroupChatCreatedEvents( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, filter: EventMessageToEventMapper? = null ) = waitEvents(count, initRequest, errorFactory, filter) suspend fun BehaviourContext.waitLeftChatMemberEvents( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, filter: EventMessageToEventMapper? = null ) = waitEvents(count, initRequest, errorFactory, filter) suspend fun BehaviourContext.waitNewChatPhotoEvents( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, filter: EventMessageToEventMapper? = null ) = waitEvents(count, initRequest, errorFactory, filter) suspend fun BehaviourContext.waitNewChatMembersEvents( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, filter: EventMessageToEventMapper? = null ) = waitEvents(count, initRequest, errorFactory, filter) suspend fun BehaviourContext.waitNewChatTitleEvents( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, filter: EventMessageToEventMapper? = null ) = waitEvents(count, initRequest, errorFactory, filter) suspend fun BehaviourContext.waitPinnedMessageEvents( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, filter: EventMessageToEventMapper? = null ) = waitEvents(count, initRequest, errorFactory, filter) suspend fun BehaviourContext.waitProximityAlertTriggeredEvents( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, filter: EventMessageToEventMapper? = null ) = waitEvents(count, initRequest, errorFactory, filter) suspend fun BehaviourContext.waitSupergroupChatCreatedEvents( - count: Int = 1, initRequest: Request<*>? = null, errorFactory: NullableRequestBuilder<*> = { null }, + count: Int = 1, filter: EventMessageToEventMapper? = null ) = waitEvents(count, initRequest, errorFactory, filter)