diff --git a/README.md b/README.md index 84bc412..14d2720 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ MiraiConsolePlugin 自定义戳一戳回复消息 /jnr add [weight] # 添加回复消息(权重默认为1) /jnr add [weight] # 添加简单回复消息(权重默认为1) /jnr clear # 清空回复消息列表 -/jnr list # 列出当前回复消息列表 +/jnr list [page] [pageSize] # 列出当前回复消息列表,参数可翻页 /jnr remove # 删除指定索引的回复消息 /jnr reload # 重载配置 ``` diff --git a/build.gradle.kts b/build.gradle.kts index 7754caa..9a3bf17 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -7,7 +7,7 @@ plugins { } group = "top.jie65535" -version = "1.2.0" +version = "1.2.1" repositories { mavenLocal() diff --git a/src/main/kotlin/top/jie65535/jnr/JNRCommand.kt b/src/main/kotlin/top/jie65535/jnr/JNRCommand.kt index 49ba217..0cf712e 100644 --- a/src/main/kotlin/top/jie65535/jnr/JNRCommand.kt +++ b/src/main/kotlin/top/jie65535/jnr/JNRCommand.kt @@ -15,6 +15,7 @@ import net.mamoe.mirai.message.data.PlainText import net.mamoe.mirai.message.data.buildForwardMessage import net.mamoe.mirai.message.data.isContentBlank import top.jie65535.jnr.JNudgeReply.reload +import kotlin.math.min object JNRCommand : CompositeCommand( JNudgeReply, "jnr", @@ -84,7 +85,7 @@ object JNRCommand : CompositeCommand( @SubCommand @Description("列出当前回复消息列表") - suspend fun CommandSender.list() { + suspend fun CommandSender.list(page: Int = 0, pageSize: Int = 50) { val list = JNRPluginConfig.replyMessageList if (list.isEmpty()) { sendMessage("当前列表为空") @@ -97,11 +98,20 @@ object JNRCommand : CompositeCommand( sendMessage(sb.toString()) }, { if (list.size > 1) { - sendMessage(buildForwardMessage(subject) { - for (i in list.indices) { - bot named "[$i] (${list[i].weight})" says list[i].message.deserializeMiraiCode() - } - }) + val begin = page * pageSize + val end = min(list.size, (page + 1) * pageSize) + if (begin < 0 || end <= begin) { + sendMessage("翻页参数错误") + } else { + sendMessage(buildForwardMessage(subject) { + for (i in begin until end) { + bot named "[$i] (${list[i].weight})" says list[i].message.deserializeMiraiCode() + } + if (end < list.size) { + bot says "当前显示 $begin~$end 共 ${list.size}" + } + }) + } } else { sendMessage(list[0].message.deserializeMiraiCode()) } diff --git a/src/main/kotlin/top/jie65535/jnr/JNudgeReply.kt b/src/main/kotlin/top/jie65535/jnr/JNudgeReply.kt index 8be64df..9905297 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.0", + version = "1.2.1", ) { author("jie65535") info("""自定义戳一戳回复插件""")