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())
|
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
|
* 订阅信息推送bot
|
||||||
*/
|
*/
|
||||||
@ValueDescription("订阅信息推送bot(qq id)")
|
@ValueDescription("订阅信息推送bot(qq id)")
|
||||||
val subscribeSender: Long by value(-1L)
|
var subscribeSender: Long by value(-1L)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 检查间隔
|
* 检查间隔
|
||||||
*/
|
*/
|
||||||
@ValueDescription("检查间隔(单位:秒)")
|
@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 {
|
launch {
|
||||||
subscribeHandler.load(this)
|
subscribeHandler.load(this)
|
||||||
}
|
}
|
||||||
subscribeHandler.start()// TODO 添加可切换闲置状态的命令
|
subscribeHandler.start()
|
||||||
logger.info { "Plugin Enabled" }
|
logger.info { "Plugin Enabled" }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -224,14 +224,13 @@ class SubscribeHandler(
|
|||||||
*/
|
*/
|
||||||
private fun CoroutineScope.loop() = launch {
|
private fun CoroutineScope.loop() = launch {
|
||||||
val senderQQ = PluginConfig.subscribeSender
|
val senderQQ = PluginConfig.subscribeSender
|
||||||
val interval = PluginConfig.checkInterval
|
|
||||||
if (senderQQ < 0) {
|
if (senderQQ < 0) {
|
||||||
logger.warning("必须配置订阅信息推送bot(qq id)才可以进行订阅推送!")
|
logger.warning("必须配置订阅信息推送bot(qq id)才可以进行订阅推送!")
|
||||||
logger.warning("插件会持续收集订阅与检查mod更新,但无法进行消息推送。")
|
logger.warning("插件会持续收集订阅与检查mod更新,但无法进行消息推送。")
|
||||||
}
|
}
|
||||||
logger.info("subscription listening")
|
logger.info("subscription listening")
|
||||||
while (true) {
|
while (true) {
|
||||||
delay(1000 * interval)
|
delay(1000 * PluginConfig.checkInterval)
|
||||||
if (isIdle) continue
|
if (isIdle) continue
|
||||||
|
|
||||||
val subSet = HashMap(PluginData.subscriptionSet)
|
val subSet = HashMap(PluginData.subscriptionSet)
|
||||||
|
Loading…
Reference in New Issue
Block a user