From 22e8624f0b039d8f8a971842ff0040e40bfc6c6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=AD=B1=E5=82=91?= Date: Mon, 13 Feb 2023 22:44:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=89=88=E6=9C=AC=E5=88=B0`1?= =?UTF-8?q?.3.0`=20=E5=A2=9E=E5=8A=A0=E5=9C=A8=E9=97=B4=E9=9A=94=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E5=86=85=E6=98=AF=E5=90=A6=E6=8B=A6=E6=88=AA=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6=E9=80=89=E9=A1=B9=20=E6=9B=B4=E6=96=B0=E4=BE=9D?= =?UTF-8?q?=E8=B5=96=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle.kts | 6 +++--- .../kotlin/top/jie65535/jnr/JNRPluginConfig.kt | 5 +++++ src/main/kotlin/top/jie65535/jnr/JNudgeReply.kt | 15 ++++++++++----- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 9a3bf17..f2af2fb 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,13 +1,13 @@ plugins { - val kotlinVersion = "1.6.0" + val kotlinVersion = "1.7.10" kotlin("jvm") version kotlinVersion kotlin("plugin.serialization") version kotlinVersion - id("net.mamoe.mirai-console") version "2.12.2" + id("net.mamoe.mirai-console") version "2.14.0" } group = "top.jie65535" -version = "1.2.1" +version = "1.3.0" repositories { mavenLocal() diff --git a/src/main/kotlin/top/jie65535/jnr/JNRPluginConfig.kt b/src/main/kotlin/top/jie65535/jnr/JNRPluginConfig.kt index 1b80eb4..6db422a 100644 --- a/src/main/kotlin/top/jie65535/jnr/JNRPluginConfig.kt +++ b/src/main/kotlin/top/jie65535/jnr/JNRPluginConfig.kt @@ -47,4 +47,9 @@ object JNRPluginConfig : AutoSavePluginConfig("jnr") { */ @ValueDescription("用户私聊回复间隔(秒),0表示无限制") var userInterval: Long by value(0L) + + /** + * 是否在间隔期间依然拦截事件,与 [isIntercept] 有关 + */ + var interceptAtInterval: Boolean by value(true) } \ No newline at end of file diff --git a/src/main/kotlin/top/jie65535/jnr/JNudgeReply.kt b/src/main/kotlin/top/jie65535/jnr/JNudgeReply.kt index 9905297..9b439db 100644 --- a/src/main/kotlin/top/jie65535/jnr/JNudgeReply.kt +++ b/src/main/kotlin/top/jie65535/jnr/JNudgeReply.kt @@ -18,7 +18,7 @@ object JNudgeReply : KotlinPlugin( JvmPluginDescription( id = "me.jie65535.mirai-console-jnr-plugin", name = "J Nudge Reply", - version = "1.2.1", + version = "1.3.0", ) { author("jie65535") info("""自定义戳一戳回复插件""") @@ -61,7 +61,7 @@ object JNudgeReply : KotlinPlugin( } // 判断间隔 - if (isReply) { + val isIgnored = if (isReply) { val totalWeight = replyList.sumOf { it.weight } var w = Random.nextInt(totalWeight) for (msg in replyList) { @@ -72,18 +72,23 @@ object JNudgeReply : KotlinPlugin( w -= msg.weight } } + false } else { logger.info("正在CD中,本次已忽略") + true } // 拦截事件 - if (JNRPluginConfig.priority != EventPriority.MONITOR && JNRPluginConfig.isIntercept) { - intercept() + if (JNRPluginConfig.priority != EventPriority.MONITOR && JNRPluginConfig.isIntercept + ) { + // 在被忽略的情况下判断是否拦截 + if (!isIgnored || JNRPluginConfig.interceptAtInterval) + intercept() } } } - logger.info { "Plugin loaded" } + logger.info { "Plugin loaded. https://github.com/jie65535/mirai-console-jnr-plugin" } } private suspend fun doReply(message: ReplyMessage, event: NudgeEvent) {