diff --git a/tgbotapi.behaviour_builder/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/behaviour_builder/expectations/WaitMention.kt b/tgbotapi.behaviour_builder/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/behaviour_builder/expectations/WaitMention.kt deleted file mode 100644 index 2aecf53855..0000000000 --- a/tgbotapi.behaviour_builder/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/behaviour_builder/expectations/WaitMention.kt +++ /dev/null @@ -1,35 +0,0 @@ -package dev.inmo.tgbotapi.extensions.behaviour_builder.expectations - -import dev.inmo.tgbotapi.extensions.behaviour_builder.BehaviourContext -import dev.inmo.tgbotapi.requests.abstracts.Request -import dev.inmo.tgbotapi.requests.bot.GetMe -import dev.inmo.tgbotapi.types.ChatId -import dev.inmo.tgbotapi.types.Username -import dev.inmo.tgbotapi.types.chat.User -import dev.inmo.tgbotapi.types.message.content.MessageContent -import kotlinx.coroutines.flow.* - -suspend fun BehaviourContext.waitMentionContents( - chatId: ChatId? = null, - username: Username? = null, - initRequest: Request<*>? = null, - includeMediaGroups: Boolean = true, - errorFactory: NullableRequestBuilder<*> = { null } -): Flow = waitMentionMessages(chatId, username, initRequest, includeMediaGroups, errorFactory).map { it.content } - -suspend fun BehaviourContext.waitMentionContents( - user: User, - initRequest: Request<*>? = null, - includeMediaGroups: Boolean = true, - errorFactory: NullableRequestBuilder<*> = { null } -): Flow = waitMentionContents(user.id, user.username, initRequest, includeMediaGroups, errorFactory) - -/** - * This expectation will get bot info and then - * Currently it is expected that the bot username will not be changed in runtime - */ -suspend fun BehaviourContext.waitBotMentions( - initRequest: Request<*>? = null, - includeMediaGroups: Boolean = true, - errorFactory: NullableRequestBuilder<*> = { null } -): Flow = waitMentionContents(execute(GetMe), initRequest, includeMediaGroups, errorFactory) diff --git a/tgbotapi.behaviour_builder/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/behaviour_builder/expectations/WaitMentionMessage.kt b/tgbotapi.behaviour_builder/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/behaviour_builder/expectations/WaitMentionMessage.kt deleted file mode 100644 index 6c4fd23407..0000000000 --- a/tgbotapi.behaviour_builder/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/behaviour_builder/expectations/WaitMentionMessage.kt +++ /dev/null @@ -1,48 +0,0 @@ -package dev.inmo.tgbotapi.extensions.behaviour_builder.expectations - -import dev.inmo.tgbotapi.abstracts.TextedInput -import dev.inmo.tgbotapi.extensions.behaviour_builder.BehaviourContext -import dev.inmo.tgbotapi.requests.abstracts.Request -import dev.inmo.tgbotapi.requests.bot.GetMe -import dev.inmo.tgbotapi.types.ChatId -import dev.inmo.tgbotapi.types.Username -import dev.inmo.tgbotapi.types.chat.User -import dev.inmo.tgbotapi.types.message.abstracts.CommonMessage -import dev.inmo.tgbotapi.types.message.content.MessageContent -import dev.inmo.tgbotapi.types.message.textsources.MentionTextSource -import dev.inmo.tgbotapi.types.message.textsources.TextMentionTextSource -import kotlinx.coroutines.flow.* - -suspend fun BehaviourContext.waitMentionMessages( - chatId: ChatId? = null, - username: Username? = null, - initRequest: Request<*>? = null, - includeMediaGroups: Boolean = true, - errorFactory: NullableRequestBuilder<*> = { null } -): Flow> { - return waitContentMessage(initRequest, includeMediaGroups, errorFactory).filter { - val content = (it.content as? TextedInput) ?: return@filter false - - content.textSources.any { - (it is MentionTextSource && (username == null || it.username == username)) - || (it is TextMentionTextSource && (chatId == null || it.user.id == chatId)) - } - } -} - -suspend fun BehaviourContext.waitMentionMessages( - user: User, - initRequest: Request<*>? = null, - includeMediaGroups: Boolean = true, - errorFactory: NullableRequestBuilder<*> = { null } -): Flow> = waitMentionMessages(user.id, user.username, initRequest, includeMediaGroups, errorFactory) - -/** - * This expectation will get bot info and then - * Currently it is expected that the bot username will not be changed in runtime - */ -suspend fun BehaviourContext.waitBotMentionMessages( - initRequest: Request<*>? = null, - includeMediaGroups: Boolean = true, - errorFactory: NullableRequestBuilder<*> = { null } -): Flow> = waitMentionMessages(execute(GetMe), initRequest, includeMediaGroups, errorFactory)