melobot.ctx¶
- class melobot.ctx.Context[源代码]¶
基类:
Generic[T]上下文对象,本质是对
contextvars.ContextVar操作的封装继承该基类,可以实现自己的上下文对象。 任何时候不应该直接实例化该类,而是应该继承实现子类,再使用子类
- __init__(ctx_name: str, lookup_exc_cls: type[BaseException], lookup_exc_tip: str | None = None) None[源代码]¶
初始化一个上下文对象
- 参数:
ctx_name (str) -- 上下文的名称(唯一)
lookup_exc_cls (type[BaseException]) -- 当试图获取上下文值失败时,抛出的异常
lookup_exc_tip (str | None) -- 当试图获取上下文值失败时,抛出异常的附加说明
- 返回类型:
None
- try_get(default: Any | None = None) T | Any[源代码]¶
与
get()类似,但不存在上下文对象时返回默认值- 参数:
default (Any | None) -- 上下文值不存在时返回的默认值
- 返回:
上下文对象的上下文值
- 返回类型:
T | Any
- remove(token: Token[T]) None[源代码]¶
移除当前上下文中的上下文值
- 参数:
token (Token[T]) -- 添加时返回的
contextvars.Token对象- 返回类型:
None
- class melobot.ctx.EventOrigin[源代码]¶
基类:
object- adapter¶
适配器对象
- in_src¶
输入源对象
- classmethod set_origin(event: model.Event, origin: EventOrigin) None[源代码]¶
- 参数:
event (model.Event)
origin (EventOrigin)
- 返回类型:
None
- classmethod get_origin(event: model.Event) EventOrigin[源代码]¶
- 参数:
event (model.Event)
- 返回类型: