mirror of
https://github.com/mamoe/mirai.git
synced 2025-02-10 16:56:28 +08:00
Co-authored-by: ArcticLampyrid <arcticlampyrid@outlook.com>
This commit is contained in:
parent
ad3bd4cc0d
commit
7732014cbd
@ -210,8 +210,8 @@ public open class MessageSubscribersBuilder<M : MessageEvent, out Ret, R : RR, R
|
|||||||
/** 如果消息的前缀是 [prefix] */
|
/** 如果消息的前缀是 [prefix] */
|
||||||
@MessageDsl
|
@MessageDsl
|
||||||
public fun startsWith(prefix: String, trim: Boolean = true): ListeningFilter {
|
public fun startsWith(prefix: String, trim: Boolean = true): ListeningFilter {
|
||||||
val toCheck = if (trim) prefix.trim() else prefix
|
val toCheck = if (trim) prefix.trimStart() else prefix
|
||||||
return content { (if (trim) it.trim() else it).startsWith(toCheck) }
|
return content { (if (trim) it.trimStart() else it).startsWith(toCheck) }
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 如果消息的前缀是 [prefix] */
|
/** 如果消息的前缀是 [prefix] */
|
||||||
@ -224,8 +224,10 @@ public open class MessageSubscribersBuilder<M : MessageEvent, out Ret, R : RR, R
|
|||||||
/** 如果消息的结尾是 [suffix] */
|
/** 如果消息的结尾是 [suffix] */
|
||||||
@MessageDsl
|
@MessageDsl
|
||||||
@JvmOverloads // for binary compatibility
|
@JvmOverloads // for binary compatibility
|
||||||
public fun endsWith(suffix: String, trim: Boolean = true): ListeningFilter =
|
public fun endsWith(suffix: String, trim: Boolean = true): ListeningFilter {
|
||||||
content { if (trim) it.trimEnd().endsWith(suffix) else it.endsWith(suffix) }
|
val toCheck = if (trim) suffix.trimEnd() else suffix
|
||||||
|
return content { (if (trim) it.trimEnd() else it).endsWith(toCheck) }
|
||||||
|
}
|
||||||
|
|
||||||
/** 如果消息的结尾是 [suffix] */
|
/** 如果消息的结尾是 [suffix] */
|
||||||
@MessageDsl
|
@MessageDsl
|
||||||
|
@ -33,7 +33,7 @@ internal fun <M : MessageEvent, Ret, R : RR, RR> MessageSubscribersBuilder<M, Re
|
|||||||
onEvent: @MessageDsl suspend M.(String) -> R
|
onEvent: @MessageDsl suspend M.(String) -> R
|
||||||
): Ret {
|
): Ret {
|
||||||
return if (trim) {
|
return if (trim) {
|
||||||
val toCheck = suffix.trim()
|
val toCheck = suffix.trimEnd()
|
||||||
content({ it.trimEnd().endsWith(toCheck) }) {
|
content({ it.trimEnd().endsWith(toCheck) }) {
|
||||||
if (removeSuffix) this.onEvent(this.message.contentToString().removeSuffix(toCheck).trim())
|
if (removeSuffix) this.onEvent(this.message.contentToString().removeSuffix(toCheck).trim())
|
||||||
else onEvent(this, this.message.contentToString().trim())
|
else onEvent(this, this.message.contentToString().trim())
|
||||||
@ -53,7 +53,7 @@ internal fun <M : MessageEvent, Ret, R : RR, RR> MessageSubscribersBuilder<M, Re
|
|||||||
onEvent: @MessageDsl suspend M.(String) -> R
|
onEvent: @MessageDsl suspend M.(String) -> R
|
||||||
): Ret {
|
): Ret {
|
||||||
return if (trim) {
|
return if (trim) {
|
||||||
val toCheck = prefix.trim()
|
val toCheck = prefix.trimStart()
|
||||||
content({ it.trimStart().startsWith(toCheck) }) {
|
content({ it.trimStart().startsWith(toCheck) }) {
|
||||||
if (removePrefix) this.onEvent(this.message.contentToString().substringAfter(toCheck).trim())
|
if (removePrefix) this.onEvent(this.message.contentToString().substringAfter(toCheck).trim())
|
||||||
else onEvent(this, this.message.contentToString().trim())
|
else onEvent(this, this.message.contentToString().trim())
|
||||||
|
Loading…
Reference in New Issue
Block a user