From ee619a33a97fb7afbc62cb64731c1b47c6188b47 Mon Sep 17 00:00:00 2001 From: nonebot Date: Wed, 17 Nov 2021 12:38:35 +0000 Subject: [PATCH] :memo: update api docs --- docs/api/dependencies.md | 28 ++++++++++++++ docs/api/drivers/README.md | 15 ++++++++ docs/api/handler.md | 77 +++++++++++++++++--------------------- docs/api/typing.md | 11 +----- docs/api/utils.md | 4 +- 5 files changed, 81 insertions(+), 54 deletions(-) create mode 100644 docs/api/dependencies.md diff --git a/docs/api/dependencies.md b/docs/api/dependencies.md new file mode 100644 index 00000000..d88aabaa --- /dev/null +++ b/docs/api/dependencies.md @@ -0,0 +1,28 @@ +--- +contentSidebar: true +sidebarDepth: 0 +--- + +# NoneBot.handler 模块 + +## 依赖注入处理模块 + +该模块实现了依赖注入的定义与处理。 + + +## `Depends(dependency=None, *, use_cache=True)` + + +* **说明** + + 参数依赖注入装饰器 + + + +* **参数** + + + * `dependency: Optional[Callable[..., Any]] = None`: 依赖函数。默认为参数的类型注释。 + + + * `use_cache: bool = True`: 是否使用缓存。默认为 `True`。 diff --git a/docs/api/drivers/README.md b/docs/api/drivers/README.md index 9f8ee3ee..d67b9bd8 100644 --- a/docs/api/drivers/README.md +++ b/docs/api/drivers/README.md @@ -62,6 +62,21 @@ Driver 基类。 +### `dependency_overrides` + + +* **类型** + + `Dict[Callable[..., Any], Callable[..., Any]]` + + + +* **说明** + + Depends 函数的替换表 + + + ### `__init__(env, config)` diff --git a/docs/api/handler.md b/docs/api/handler.md index dc2ab74f..977cbccb 100644 --- a/docs/api/handler.md +++ b/docs/api/handler.md @@ -14,12 +14,35 @@ sidebarDepth: 0 基类:`object` -事件处理函数类 +事件处理器类。支持依赖注入。 -### `__init__(func)` +### `__init__(func, *, name=None, dependencies=None, allow_types=None, dependency_overrides_provider=None)` + + +* **说明** + + 装饰一个函数为事件处理器。 + + + +* **参数** + + + * `func: T_Handler`: 事件处理函数。 + + + * `name: Optional[str]`: 事件处理器名称。默认为函数名。 + + + * `dependencies: Optional[List[DependsWrapper]]`: 额外的非参数依赖注入。 + + + * `allow_types: Optional[List[Type[Param]]]`: 允许的参数类型。 + + + * `dependency_overrides_provider: Optional[Any]`: 依赖注入覆盖提供者。 -装饰事件处理函数以便根据动态参数运行 ### `func` @@ -37,75 +60,45 @@ sidebarDepth: 0 -### `signature` +### `name` * **类型** - `inspect.Signature` + `str` * **说明** - 事件处理函数签名 + 事件处理函数名 -### _property_ `bot_type` +### `allow_types` * **类型** - `Union[Type["Bot"], inspect.Parameter.empty]` + `List[Type[Param]]` * **说明** - 事件处理函数接受的 Bot 对象类型 + 事件处理器允许的参数类型 -### _property_ `event_type` +### `dependencies` * **类型** - `Optional[Union[Type[Event], inspect.Parameter.empty]]` + `List[DependsWrapper]` * **说明** - 事件处理函数接受的 event 类型 / 不需要 event 参数 - - - -### _property_ `state_type` - - -* **类型** - - `Optional[Union[T_State, inspect.Parameter.empty]]` - - - -* **说明** - - 事件处理函数是否接受 state 参数 - - - -### _property_ `matcher_type` - - -* **类型** - - `Optional[Union[Type["Matcher"], inspect.Parameter.empty]]` - - - -* **说明** - - 事件处理函数是否接受 matcher 参数 + 事件处理器的额外依赖 diff --git a/docs/api/typing.md b/docs/api/typing.md index 6d339e12..a5597e8d 100644 --- a/docs/api/typing.md +++ b/docs/api/typing.md @@ -212,16 +212,7 @@ sidebarDepth: 0 * **类型** - * `Callable[[Bot, Event, T_State], Union[Awaitable[None], Awaitable[NoReturn]]]` - - - * `Callable[[Bot, Event], Union[Awaitable[None], Awaitable[NoReturn]]]` - - - * `Callable[[Bot, T_State], Union[Awaitable[None], Awaitable[NoReturn]]]` - - - * `Callable[[Bot], Union[Awaitable[None], Awaitable[NoReturn]]]` + * `Callable[..., Union[Awaitable[None], Awaitable[NoReturn]]]` diff --git a/docs/api/utils.md b/docs/api/utils.md index 8584f390..54aa11cb 100644 --- a/docs/api/utils.md +++ b/docs/api/utils.md @@ -41,14 +41,14 @@ sidebarDepth: 0 * **参数** - * `func: Callable[..., Any]`: 被装饰的同步函数 + * `func: Callable[P, R]`: 被装饰的同步函数 * **返回** - * `Callable[..., Awaitable[Any]]` + * `Callable[P, Awaitable[R]]`