Version: Next

nonebot.dependencies

本模块模块实现了依赖注入的定义与处理。

abstract class Param(default=PydanticUndefined, **kwargs)

  • 说明

    依赖注入的基本单元 —— 参数。

    继承自 pydantic.fields.FieldInfo,用于描述参数信息(不包括参数名)。

  • 参数

    • default (Any)

    • **kwargs (Any)

class Dependent(*, call, pre_checkers=None, params=None, parameterless=None, allow_types=None)

  • 说明

    依赖注入容器

  • 参数

    • call ((Any, **Any) -> (~ R) | (Any, **Any) -> Awaitable[(~ R)]): 依赖注入的可调用对象,可以是任何 Callable 对象

    • pre_checkers (list[Param] | None): 依赖注入解析前的参数检查

    • params (list[pydantic.fields.ModelField] | None): 具名参数列表

    • parameterless (list[Param] | None): 匿名参数列表

    • allow_types (list[Type[Param]] | None): 允许的参数类型

method append_parameterless(self, value)

  • 参数

    • value (Any)
  • 返回

    • None

classmethod parse(cls, *, call, parameterless=None, allow_types=None)

  • 参数

    • call ((Any, **Any) -> (~ R) | (Any, **Any) -> Awaitable[(~ R)])

    • parameterless (list[Any] | None)

    • allow_types (list[Type[Param]] | None)

  • 返回

    • Dependent[R]

method parse_param(self, name, param)

  • 参数

    • name (str)

    • param (inspect.Parameter)

  • 返回

method parse_parameterless(self, value)

  • 参数

    • value (Any)
  • 返回

method prepend_parameterless(self, value)

  • 参数

    • value (Any)
  • 返回

    • None

async method solve(self, **params)

  • 参数

    • **params (Any)
  • 返回

    • dict[str, Any]