alicebot.adapter.apscheduler
APScheduler 适配器。
本适配器用于实现定时任务,适配器将使用 APScheduler 实现定时任务,在设定的时间产生一个事件供插件处理。 APScheduler 使用方法请参考:APScheduler。
class APSchedulerAdapter
Bases: alicebot.adapter.Adapter
APScheduler 适配器。
Attributes
name (str)
scheduler (apscheduler.schedulers.asyncio.AsyncIOScheduler)
plugin_class_to_job (dict[type[alicebot.plugin.Plugin[typing.Any, typing.Any, typing.Any]], apscheduler.job.Job])
class Config
Bases: alicebot.config.ConfigModel
APScheduler 配置类,将在适配器被加载时被混入到机器人主配置中。
Attributes
- scheduler_config (dict[str, typing.Any]) - 调度器配置。
async method create_event(self, plugin_class)
创建 APSchedulerEvent
事件。
Arguments
- plugin_class (type[alicebot.plugin.Plugin[typing.Any, typing.Any, typing.Any]]) -
Plugin
类。
- plugin_class (type[alicebot.plugin.Plugin[typing.Any, typing.Any, typing.Any]]) -
Returns
Type: None
async method run(self)
适配器运行方法,适配器开发者必须实现该方法。
适配器运行过程中保持保持运行,当此方法结束后, AliceBot 不会自动重新启动适配器。
Returns
Type: None
async method send(self, *args, **kwargs)
APScheduler 适配器不适用发送消息。
Arguments
args (Any)
kwargs (Any)
Returns
Type: Any
async method shutdown(self)
在适配器结束运行时运行的方法,用于安全地关闭适配器。
AliceBot 在接收到系统的结束信号后先发送 cancel 请求给 run 任务。 在所有适配器都停止运行后,会依次运行并等待所有适配器的 shutdown()
方法。 当强制退出时此方法可能未被执行。
Returns
Type: None
async method startup(self)
在适配器开始运行前运行的方法,用于初始化适配器。
AliceBot 依次运行并等待所有适配器的 startup()
方法,待运行完毕后再创建 run()
任务。
Returns
Type: None
function scheduler_decorator(trigger, trigger_args, override_rule = False)
用于为插件类添加计划任务功能的装饰器。
Arguments
trigger (str) - APScheduler 触发器。
trigger_args (dict[str, typing.Any]) - APScheduler 触发器参数。
override_rule (bool) - 是否重写
rule()
方法。 若为True
,则会在rule()
方法中添加处理本插件定义的计划任务事件的逻辑。
Returns
Type: Callable[[type[~PluginT]], type[~PluginT]]