From 7732014cbd1a0d72654bdc350c46ad03fd0f4d65 Mon Sep 17 00:00:00 2001 From: AdoptOSS Date: Tue, 8 Jun 2021 15:42:37 +0800 Subject: [PATCH] fix: do trimming properly in `startsWith` & `endsWith`, #1282 (#1314) Co-authored-by: ArcticLampyrid --- .../kotlin/event/MessageSubscribersBuilder.kt | 10 ++++++---- .../internal/event/messageSubscribersInternal.kt | 4 ++-- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/mirai-core-api/src/commonMain/kotlin/event/MessageSubscribersBuilder.kt b/mirai-core-api/src/commonMain/kotlin/event/MessageSubscribersBuilder.kt index ac77455c0..3404d14b2 100644 --- a/mirai-core-api/src/commonMain/kotlin/event/MessageSubscribersBuilder.kt +++ b/mirai-core-api/src/commonMain/kotlin/event/MessageSubscribersBuilder.kt @@ -210,8 +210,8 @@ public open class MessageSubscribersBuilder MessageSubscribersBuilder R ): Ret { return if (trim) { - val toCheck = suffix.trim() + val toCheck = suffix.trimEnd() content({ it.trimEnd().endsWith(toCheck) }) { if (removeSuffix) this.onEvent(this.message.contentToString().removeSuffix(toCheck).trim()) else onEvent(this, this.message.contentToString().trim()) @@ -53,7 +53,7 @@ internal fun MessageSubscribersBuilder R ): Ret { return if (trim) { - val toCheck = prefix.trim() + val toCheck = prefix.trimStart() content({ it.trimStart().startsWith(toCheck) }) { if (removePrefix) this.onEvent(this.message.contentToString().substringAfter(toCheck).trim()) else onEvent(this, this.message.contentToString().trim())