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()