diff --git a/CHANGELOG.md b/CHANGELOG.md index a982ff5fa5..59783cda06 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # TelegramBotAPI changelog +## 2.2.2 + +* `Utils`: + * `buildEntities` now is inline +* `Behaviour Builder`: + * Fixes in `CallbackQuery` triggers + ## 2.2.1 * `Versions`: diff --git a/gradle.properties b/gradle.properties index 86d1162a45..6271ea497e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,4 +6,4 @@ kotlin.incremental=true kotlin.incremental.js=true library_group=dev.inmo -library_version=2.2.1 +library_version=2.2.2 diff --git a/tgbotapi.behaviour_builder/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/behaviour_builder/triggers_handling/CallbackQueryTriggers.kt b/tgbotapi.behaviour_builder/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/behaviour_builder/triggers_handling/CallbackQueryTriggers.kt index 45f7ee95fa..49326ae88f 100644 --- a/tgbotapi.behaviour_builder/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/behaviour_builder/triggers_handling/CallbackQueryTriggers.kt +++ b/tgbotapi.behaviour_builder/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/behaviour_builder/triggers_handling/CallbackQueryTriggers.kt @@ -6,10 +6,9 @@ import dev.inmo.micro_utils.coroutines.launchSafelyWithoutExceptions import dev.inmo.micro_utils.coroutines.runCatchingSafely import dev.inmo.tgbotapi.extensions.behaviour_builder.* import dev.inmo.tgbotapi.extensions.behaviour_builder.filters.CallbackQueryFilterByUser -import dev.inmo.tgbotapi.extensions.behaviour_builder.utils.SimpleFilter +import dev.inmo.tgbotapi.extensions.behaviour_builder.utils.* import dev.inmo.tgbotapi.extensions.behaviour_builder.utils.marker_factories.ByUserCallbackQueryMarkerFactory import dev.inmo.tgbotapi.extensions.behaviour_builder.utils.marker_factories.MarkerFactory -import dev.inmo.tgbotapi.extensions.behaviour_builder.utils.plus import dev.inmo.tgbotapi.extensions.utils.asCallbackQueryUpdate import dev.inmo.tgbotapi.types.queries.callback.* import dev.inmo.tgbotapi.types.update.abstracts.Update @@ -111,7 +110,7 @@ suspend fun BC.onDataCallbackQuery( markerFactory: MarkerFactory = ByUserCallbackQueryMarkerFactory, scenarioReceiver: CustomBehaviourContextAndTypeReceiver ) = onDataCallbackQuery( - initialFilter = initialFilter + { + initialFilter = initialFilter * { it.data.matches(dataRegex) }, subcontextUpdatesFilter, @@ -239,7 +238,7 @@ suspend fun BC.onInlineMessageIdDataCallbackQuery( markerFactory: MarkerFactory = ByUserCallbackQueryMarkerFactory, scenarioReceiver: CustomBehaviourContextAndTypeReceiver ) = onInlineMessageIdDataCallbackQuery( - initialFilter = initialFilter + { + initialFilter = initialFilter * { it.data.matches(dataRegex) }, subcontextUpdatesFilter, @@ -367,7 +366,7 @@ suspend fun BC.onMessageDataCallbackQuery( markerFactory: MarkerFactory = ByUserCallbackQueryMarkerFactory, scenarioReceiver: CustomBehaviourContextAndTypeReceiver ) = onMessageDataCallbackQuery( - initialFilter = initialFilter + { + initialFilter = initialFilter * { it.data.matches(dataRegex) }, subcontextUpdatesFilter, diff --git a/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/formatting/EntitiesBuilder.kt b/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/formatting/EntitiesBuilder.kt index 6fa296a680..9a4494c8c9 100644 --- a/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/formatting/EntitiesBuilder.kt +++ b/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/formatting/EntitiesBuilder.kt @@ -5,19 +5,20 @@ package dev.inmo.tgbotapi.extensions.utils.formatting import dev.inmo.micro_utils.common.joinTo import dev.inmo.tgbotapi.types.message.textsources.* import dev.inmo.tgbotapi.types.chat.User +import dev.inmo.tgbotapi.utils.RiskFeature typealias EntitiesBuilderBody = EntitiesBuilder.() -> Unit val newLine = regular("\n") -fun buildEntities(separator: TextSource? = null, init: EntitiesBuilderBody): TextSourcesList = EntitiesBuilder(separator).apply(init).build() -fun buildEntities(separator: String, init: EntitiesBuilderBody) = buildEntities(regular(separator), init) +inline fun buildEntities(separator: TextSource? = null, init: EntitiesBuilderBody): TextSourcesList = EntitiesBuilder(separator).apply(init).build() +inline fun buildEntities(separator: String, init: EntitiesBuilderBody) = buildEntities(regular(separator), init) /** * This builder can be used to provide building of [TextSource]s [List] * * @see buildEntities */ -class EntitiesBuilder internal constructor( +class EntitiesBuilder @RiskFeature constructor( val separator: TextSource? = null ) { private val entitiesList: MutableTextSourcesList = mutableListOf()