From b3ad996e68d7cd1be43319967516f0da27db034a Mon Sep 17 00:00:00 2001 From: YehowahLiu Date: Sun, 17 Apr 2022 02:53:48 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E4=BD=BF=E7=94=A8=E6=AD=A3?= =?UTF-8?q?=E5=88=99=E6=8F=90=E5=8F=96=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/kotlin/top/jie65535/jnr/JNudgeReply.kt | 5 +++-- src/test/kotlin/RegexTest.kt | 4 ++++ src/test/kotlin/RunMirai.kt | 2 -- 3 files changed, 7 insertions(+), 4 deletions(-) create mode 100644 src/test/kotlin/RegexTest.kt diff --git a/src/main/kotlin/top/jie65535/jnr/JNudgeReply.kt b/src/main/kotlin/top/jie65535/jnr/JNudgeReply.kt index d103b8c..3bd643e 100644 --- a/src/main/kotlin/top/jie65535/jnr/JNudgeReply.kt +++ b/src/main/kotlin/top/jie65535/jnr/JNudgeReply.kt @@ -59,13 +59,14 @@ object JNudgeReply : KotlinPlugin( @OptIn(ExperimentalCommandDescriptors::class, ConsoleExperimentalApi::class) suspend fun doReply(message: ReplyMessage, event: NudgeEvent) { + val mutePattern = Regex("(?<=#group.mute(\\\\)?:)\\d+") if(message.message.startsWith("#")) { when{ message.message == "#nudge" -> { event.from.nudge().sendTo(event.subject) } - message.message.matches(Regex("#group\\.mute(\\\\)?:\\d+")) -> { - val (_, duration) = message.message.split(":") + message.message.matches(mutePattern) -> { + val duration = mutePattern.find(message.message)?.value?.toLong()!! val member: Member = event.from as Member try { member.mute(duration.toInt()) diff --git a/src/test/kotlin/RegexTest.kt b/src/test/kotlin/RegexTest.kt new file mode 100644 index 0000000..fa84a59 --- /dev/null +++ b/src/test/kotlin/RegexTest.kt @@ -0,0 +1,4 @@ +fun main(){ + val regex = Regex("(?<=#group\\.mute(\\\\)?:)\\d+") + println(regex.find("#group.mute:12345")?.value?.toLong()) +} \ No newline at end of file diff --git a/src/test/kotlin/RunMirai.kt b/src/test/kotlin/RunMirai.kt index b5386be..5519c94 100644 --- a/src/test/kotlin/RunMirai.kt +++ b/src/test/kotlin/RunMirai.kt @@ -7,8 +7,6 @@ import top.jie65535.jnr.JNudgeReply @OptIn(ConsoleExperimentalApi::class) suspend fun main(){ - val s = "#group.mute:10" - println(s.matches(Regex("#group.mute:\\d+"))) MiraiConsoleTerminalLoader.startAsDaemon() JNudgeReply.load() JNudgeReply.enable()