1
0
mirror of https://github.com/InsanusMokrassar/TelegramBotAPI.git synced 2026-06-04 06:37:21 +00:00

guest message answers rework

This commit is contained in:
2026-05-30 12:49:54 +06:00
parent fdd21f3cbd
commit 1f2b3b9464
18 changed files with 166 additions and 266 deletions

View File

@@ -0,0 +1,17 @@
package dev.inmo.tgbotapi.extensions.behaviour_builder.expectations
import dev.inmo.tgbotapi.extensions.behaviour_builder.BehaviourContext
import dev.inmo.tgbotapi.extensions.utils.guestMessageUpdateOrNull
import dev.inmo.tgbotapi.requests.abstracts.Request
import dev.inmo.tgbotapi.types.message.abstracts.RequestGuestContentMessage
import kotlinx.coroutines.flow.Flow
fun BehaviourContext.waitGuestRequestMessage(
initRequest: Request<*>? = null,
errorFactory: NullableRequestBuilder<*> = { null }
): Flow<RequestGuestContentMessage<*>> = expectFlow(
initRequest,
errorFactory
) {
(it.guestMessageUpdateOrNull() ?.data).let(::listOfNotNull)
}

View File

@@ -16,7 +16,7 @@ import dev.inmo.tgbotapi.types.update.abstracts.Update
* @param [markerFactory] **Pass null to handle requests fully parallel**. Will be used to identify different "stream".
* @param scenarioReceiver Main callback which will be used to handle incoming data if [initialFilter] will pass that data
*/
fun <BC : BehaviourContext> BC.onGuestMessage(
fun <BC : BehaviourContext> BC.onGuestRequestMessage(
initialFilter: SimpleFilter<RequestGuestContentMessage<*>>? = null,
subcontextUpdatesFilter: CustomBehaviourContextAndTwoTypesReceiver<BC, Boolean, RequestGuestContentMessage<*>, Update>? = null,
markerFactory: MarkerFactory<in RequestGuestContentMessage<*>, Any>? = ByChatMessageMarkerFactory,