跳到主要内容

定时或者在启动的时候做一些操作

任务种类

//cron表达式任务
com.blr19c.falowp.bot.system.plugin.Plugin.Task.cronScheduling
//周期任务
com.blr19c.falowp.bot.system.plugin.Plugin.Task.periodicScheduling
//程序完全启动时执行一次
com.blr19c.falowp.bot.system.plugin.Plugin.Task.applicationInitScheduling

使用教程

import com.blr19c.falowp.bot.system.Log
import com.blr19c.falowp.bot.system.api.SendMessage
import com.blr19c.falowp.bot.system.plugin.Plugin
import com.blr19c.falowp.bot.system.plugin.Plugin.Task.applicationInitScheduling
import com.blr19c.falowp.bot.system.plugin.Plugin.Task.cronScheduling
import com.blr19c.falowp.bot.system.plugin.Plugin.Task.periodicScheduling
import kotlin.time.Duration.Companion.seconds

@Plugin(name = "test")
class Test : Log {

//每天23点执行一次
private val test1 = cronScheduling("0 0 23 * * ?") {
//和message有区别,因为没有消息来源所以需要手动指定发给谁
this.addReceive(listOf("qq|id"))
this.sendPrivate(SendMessage.builder("你好").build())
}

//每隔10秒执行一次
private val test2 = periodicScheduling(10.seconds) {

}

//在程序完全启动之后执行
private val test3 = applicationInitScheduling {

}

init {
test1.register()
test2.register()
test3.register()
}
}
提示

默认的所有任务都支持闲时(在闲时下所有任务都会停止执行) 如果你需要在闲时下能够执行的任务,那么你需要在声明任务的时候添加 useGreeting = false

闲时时间范围: 参考 使用教程-配置文件