melobot.mixin¶
- class melobot.mixin.LogMixin[源代码]¶
基类:
object
日志混合类
- property logger: GenericLogger¶
- class melobot.mixin.FlagMixin[源代码]¶
基类:
object
标记混合类
- flag_set(namespace: Any, flag: Any, val: Any | None = None, strict: bool = True) None [源代码]¶
设置标记
注:不同的对象并不共享 namespace,namespace 只适用于单个对象
- 参数:
namespace (Any) -- 命名空间
flag (Any) -- 标记
val (Any | None) -- 标记值
strict (bool) -- 严格模式,启用严格模式,则不允许 flag 标记已经存在
- 返回类型:
None
- flag_set_default(namespace: Any, flag: Any, default: Any) None [源代码]¶
设置标记,并在标记不存在时使用 default 初始化
注:不同的对象并不共享 namespace,namespace 只适用于单个对象
- 参数:
namespace (Any) -- 命名空间
flag (Any) -- 标记
default (Any) -- 标记不存在时的默认值
- 返回类型:
None
- flag_get(namespace: Any, flag: Any, raise_exc: bool = True, default: Any | None = None) Any [源代码]¶
获取标记值
注:不同的对象并不共享 namespace,namespace 只适用于单个对象
- 参数:
namespace (Any) -- 命名空间
flag (Any) -- 标记
raise_exc (bool) -- 为 True,则在标记不存在时引发 KeyError
default (Any | None) -- 标记不存在时的默认值,只在 raise_exc 为 False 时有效
- 返回:
标记值
- 返回类型:
Any
- flag_check(namespace: Any, flag: Any, val: Any | None = None, check_val: bool = True, use_id: bool = False) bool [源代码]¶
检查标记
注:不同的对象并不共享 namespace,namespace 只适用于单个对象
- class melobot.mixin.HookMixin[源代码]¶
基类:
Generic
[HookEnumT
]hook 混合类
继承后可注册 hook
- on(*periods: HookEnumT) Callable[[SyncOrAsyncCallable[P, None]], AsyncCallable[P, None]] [源代码]¶
注册一个 hook
- 参数:
periods (HookEnumT) -- 要绑定的 hook 类型
- 返回:
装饰器
- 返回类型:
Callable[[SyncOrAsyncCallable[~P, None]], AsyncCallable[~P, None]]