melobot.plugin¶
插件层组件¶
- class melobot.plugin.PluginPlanner[源代码]¶
基类:
object
插件管理器类
用于声明一个插件,并为插件添加功能
- __init__(version: str, flows: list[Flow] | None = None, shares: list[SyncShare | AsyncShare] | None = None, funcs: list[Callable] | None = None, *, info: PluginInfo | None = None) None [源代码]¶
插件管理器初始化
- on(*periods: PluginLifeSpan) Callable[[AsyncCallable[P, None]], AsyncCallable[P, None]] [源代码]¶
注册一个 hook
- 参数:
periods (PluginLifeSpan) -- 要绑定的 hook 类型
- 返回:
装饰器
- 返回类型:
Callable[[AsyncCallable[~P, None]], AsyncCallable[~P, None]]
- use(obj: T) T [源代码]¶
装饰器
绑定一个组件(流,共享对象,导出函数),标记插件创建后使用该组件。
- 参数:
obj (T) -- 可用的组件
- 返回:
被绑定的组件本身
- 返回类型:
T
基类:
Generic
[T
],Locatable
,AttrsReprable
异步共享对象
初始化异步共享对象
- 参数:
name (str) -- 异步共享对象的名称
reflector (AsyncCallable[(), T] | None) -- 获取共享值的异步可调用方法
callabck (AsyncCallable[(~T,), None] | None) -- 修改共享值的异步可调用方法
static (bool) -- 是否使用静态模式
- 返回类型:
None
绑定获取共享值的异步方法的装饰器,如果未在初始化时绑定
- 参数:
func (AsyncCallable[(), T]) -- 被绑定的异步可调用方法
- 返回:
func 原值
- 返回类型:
AsyncCallable[(), T]
绑定修改共享值的异步方法的装饰器,如果未在初始化时绑定
- 参数:
func (AsyncCallable[(~T,), None]) -- 被绑定的异步可调用方法
- 返回:
func 原值
- 返回类型:
AsyncCallable[(~T,), None]
获取异步共享值
- 返回:
异步共享值
- 返回类型:
T
设置异步共享值
- 参数:
val (T) -- 新的异步共享值
- 返回类型:
None