mirror of
https://github.com/jie65535/mirai-console-jcf-plugin.git
synced 2025-06-02 17:39:15 +08:00
添加可切换闲置状态的命令
This commit is contained in:
parent
21bcedcb17
commit
b2090cc09b
@ -20,4 +20,43 @@ object PluginCommands : CompositeCommand(PluginMain, "jcf") {
|
||||
}
|
||||
sendMessage(msg.toString())
|
||||
}
|
||||
}
|
||||
|
||||
@SubCommand
|
||||
@Description("设置订阅信息推送bot(qq id)")
|
||||
suspend fun CommandSender.setSubsSender(sender: Long) {
|
||||
PluginConfig.subscribeSender = sender
|
||||
sendMessage("OK! ")
|
||||
}
|
||||
|
||||
@SubCommand
|
||||
@Description("设置检查间隔(单位:秒)")
|
||||
suspend fun CommandSender.setCheckInterval(second: Long) {
|
||||
PluginConfig.checkInterval = second
|
||||
sendMessage("OK! 将在下次检查结束后应用")
|
||||
}
|
||||
|
||||
@SubCommand
|
||||
@Description("查看订阅处理的状态")
|
||||
suspend fun CommandSender.subStat() {
|
||||
val subs = PluginMain.subscribeHandler
|
||||
if (subs.isIdle) {
|
||||
sendMessage("订阅器闲置中")
|
||||
} else {
|
||||
sendMessage("订阅处理正常运行中")
|
||||
}
|
||||
}
|
||||
|
||||
@SubCommand
|
||||
@Description("使订阅器闲置")
|
||||
suspend fun CommandSender.idleSubs() {
|
||||
PluginMain.subscribeHandler.idle()
|
||||
sendMessage("OK,已闲置")
|
||||
}
|
||||
|
||||
@SubCommand
|
||||
@Description("使订阅器恢复运行")
|
||||
suspend fun CommandSender.runSubs() {
|
||||
PluginMain.subscribeHandler.start()
|
||||
sendMessage("OK,已恢复订阅处理")
|
||||
}
|
||||
}
|
||||
|
@ -25,11 +25,11 @@ object PluginConfig : AutoSavePluginConfig("JCurseforgeConfig") {
|
||||
* 订阅信息推送bot
|
||||
*/
|
||||
@ValueDescription("订阅信息推送bot(qq id)")
|
||||
val subscribeSender: Long by value(-1L)
|
||||
var subscribeSender: Long by value(-1L)
|
||||
|
||||
/**
|
||||
* 检查间隔
|
||||
*/
|
||||
@ValueDescription("检查间隔(单位:秒)")
|
||||
val checkInterval: Long by value(60 * 60 * 4L)
|
||||
var checkInterval: Long by value(60 * 60 * 4L)
|
||||
}
|
||||
|
@ -43,7 +43,7 @@ object PluginMain: KotlinPlugin(
|
||||
launch {
|
||||
subscribeHandler.load(this)
|
||||
}
|
||||
subscribeHandler.start()// TODO 添加可切换闲置状态的命令
|
||||
subscribeHandler.start()
|
||||
logger.info { "Plugin Enabled" }
|
||||
}
|
||||
}
|
||||
|
@ -224,14 +224,13 @@ class SubscribeHandler(
|
||||
*/
|
||||
private fun CoroutineScope.loop() = launch {
|
||||
val senderQQ = PluginConfig.subscribeSender
|
||||
val interval = PluginConfig.checkInterval
|
||||
if (senderQQ < 0) {
|
||||
logger.warning("必须配置订阅信息推送bot(qq id)才可以进行订阅推送!")
|
||||
logger.warning("插件会持续收集订阅与检查mod更新,但无法进行消息推送。")
|
||||
}
|
||||
logger.info("subscription listening")
|
||||
while (true) {
|
||||
delay(1000 * interval)
|
||||
delay(1000 * PluginConfig.checkInterval)
|
||||
if (isIdle) continue
|
||||
|
||||
val subSet = HashMap(PluginData.subscriptionSet)
|
||||
|
Loading…
Reference in New Issue
Block a user