🚨 auto fix by pre-commit hooks

This commit is contained in:
pre-commit-ci[bot] 2022-02-04 07:15:37 +00:00
parent 4e1e0e98b4
commit b0b2b1f681

View File

@ -38,9 +38,9 @@ options:
1. **事件处理**`bot` 会将协议端上报的数据转化为 `事件 `( `Event ` ),之后 `nonebot` 会根据一套既定流程来处理 `事件` 1. **事件处理**`bot` 会将协议端上报的数据转化为 `事件 `( `Event ` ),之后 `nonebot` 会根据一套既定流程来处理 `事件`
2. **调用 `API`**, 在**事件处理**的过程中,`nonebot` 可以通过 `bot` 调用协议端指定的 `API` 来获取更多数据,或者反馈响应给协议端; `nonebot` 也可以通过调用 `API` 向协议端主动请求数据或者主动推送数据。 2. **调用 `API`**, 在**事件处理**的过程中,`nonebot` 可以通过 `bot` 调用协议端指定的 `API` 来获取更多数据,或者反馈响应给协议端; `nonebot` 也可以通过调用 `API` 向协议端主动请求数据或者主动推送数据。
在**指南**模块, 我们已经叙述了[如何配置 nonebot](../tutorial/configuration.md), [如何注册协议适配器](../tutorial/register-adapter.md) [如何加载插件](../tutorial/plugin/load-plugin.md), 在这里便不再赘述。 在**指南**模块, 我们已经叙述了[如何配置 nonebot](../tutorial/configuration.md), [如何注册协议适配器](../tutorial/register-adapter.md) [如何加载插件](../tutorial/plugin/load-plugin.md), 在这里便不再赘述。
下面,我们将对 **事件处理** **调用 API** 进行说明。 下面,我们将对 **事件处理** **调用 API** 进行说明。
@ -66,18 +66,17 @@ options:
连接之前必须要注册 `adapter` 连接之前必须要注册 `adapter`
::: :::
### adapter 处理原始数据 ### adapter 处理原始数据
1. `adapter` 检查授权许可,并获取 `self-id` 作为唯一识别 id 。 1. `adapter` 检查授权许可,并获取 `self-id` 作为唯一识别 id 。
::: tip ::: tip
如果协议端通过 `websocket` 上报数据,这个步骤只会在建立连接时进行,并在之后运行 `on_bot_connect` 钩子函数;通过 `http` 方式连接时,会在协议端每次上报数据时都进行这个步骤。 如果协议端通过 `websocket` 上报数据,这个步骤只会在建立连接时进行,并在之后运行 `on_bot_connect` 钩子函数;通过 `http` 方式连接时,会在协议端每次上报数据时都进行这个步骤。
::: :::
::: warning ::: warning
`self-id` 是帐号的唯一识别 ID这意味着不能出现相同的 `self-id` `self-id` 是帐号的唯一识别 ID这意味着不能出现相同的 `self-id`
::: :::
2. 根据 `self-id` 实例化 `adapter` 相应的 `bot` 2. 根据 `self-id` 实例化 `adapter` 相应的 `bot`
@ -124,7 +123,7 @@ options:
在执行 `事件预处理hook` 后,`nonebot` 会对 `matchers``key` 升序排序并选择出当前最小优先级的 `Matcher` 在执行 `事件预处理hook` 后,`nonebot` 会对 `matchers``key` 升序排序并选择出当前最小优先级的 `Matcher`
3. **根据 Matcher 定义的 Rule, Permission 判断是否运行**,在选出 `Matcher` 后,`nonebot` 会将 `bot``Event` 传入到 `Matcher.check_rule``Matcher.check_perm` 两个函数中,两个函数分别对 Matcher 定义的 `Rule`, `Permission` 进行 check当 check 通过后,这个 `Matcher` 就会响应事件。当同一个优先级的所有 `Matcher` 均没有响应时,`nonebot` 会返回到上一个步骤,选择出下一优先级的 `Matcher` 3. **根据 Matcher 定义的 Rule, Permission 判断是否运行**,在选出 `Matcher` 后,`nonebot` 会将 `bot``Event` 传入到 `Matcher.check_rule``Matcher.check_perm` 两个函数中,两个函数分别对 Matcher 定义的 `Rule`, `Permission` 进行 check当 check 通过后,这个 `Matcher` 就会响应事件。当同一个优先级的所有 `Matcher` 均没有响应时,`nonebot` 会返回到上一个步骤,选择出下一优先级的 `Matcher`
4. **实例化 matcher 并执行运行预处理 hook**,当 `Matcher` 响应事件后,它便会实例化为 `matcher`,并执行 `运行预处理hook` 4. **实例化 matcher 并执行运行预处理 hook**,当 `Matcher` 响应事件后,它便会实例化为 `matcher`,并执行 `运行预处理hook`
@ -190,7 +189,7 @@ options:
1. 调用 `calling_api_hook` 预处理钩子。 1. 调用 `calling_api_hook` 预处理钩子。
2. `adapter` 将信息处理为原始数据,并转交 `driver` , `driver` 交给协议端处理。 2. `adapter` 将信息处理为原始数据,并转交 `driver` , `driver` 交给协议端处理。
3. `driver` 接收协议端的结果,交给`adapter` 处理之后将结果反馈给 `nonebot` 3. `driver` 接收协议端的结果,交给`adapter` 处理之后将结果反馈给 `nonebot`
@ -204,6 +203,4 @@ options:
一般来说,我们可以用 `bot.*` 来调用 `API` (\*是 `API``action` 或者 `endpoint`)。 一般来说,我们可以用 `bot.*` 来调用 `API` (\*是 `API``action` 或者 `endpoint`)。
对于发送消息而言,一方面可以调用既有的 `API` ;另一方面 `nonebot` 实现了两个便捷方法,`bot.send(event, message, **kwargs)` 方法和可以在 `handler` 中使用的 `Matcher.send(message, **kwargs)` 方法,来向事件主体发送消息。
对于发送消息而言,一方面可以调用既有的 `API` ;另一方面 `nonebot` 实现了两个便捷方法,`bot.send(event, message, **kwargs)` 方法和可以在 `handler` 中使用的 `Matcher.send(message, **kwargs)` 方法,来向事件主体发送消息。