mirror of
https://github.com/nonebot/nonebot2.git
synced 2026-07-25 09:42:52 +00:00
📝 migrate admonition title syntax to Docusaurus v3 bracket form
This commit is contained in:
@@ -18,7 +18,7 @@ import Messenger from "@/components/Messenger";
|
||||
|
||||
在之前的章节中,我们介绍了如何向用户发送文本消息以及[如何处理平台消息](../tutorial/message.md),现在我们来向用户发送平台特殊消息。
|
||||
|
||||
:::warning 注意
|
||||
:::warning[注意]
|
||||
在以下的示例中,我们将使用 `Console` 协议适配器来演示如何发送平台消息。在实际使用中,你需要确保你使用的**消息序列类型**与你所要发送的**平台类型**一致。
|
||||
:::
|
||||
|
||||
@@ -103,7 +103,7 @@ result = await bot.get_user_info(user_id=12345678)
|
||||
result = await bot.call_api("get_user_info", user_id=12345678)
|
||||
```
|
||||
|
||||
:::warning 注意
|
||||
:::warning[注意]
|
||||
实际可以使用的 API 以及参数取决于平台提供的接口以及协议适配器的实现,请参考协议适配器以及平台文档。
|
||||
:::
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ NoneBot 使用 [`pydantic`](https://docs.pydantic.dev/) 以及 [`python-dotenv`]
|
||||
|
||||
NoneBot 内置的配置项列表及含义可以在[内置配置项](#内置配置项)中查看。
|
||||
|
||||
:::warning 注意
|
||||
:::warning[注意]
|
||||
|
||||
NoneBot 自 2.2.0 起兼容了 Pydantic v1 与 v2 版本,以下文档中 Pydantic 相关示例均采用 v2 版本用法。
|
||||
|
||||
@@ -83,7 +83,7 @@ export CUSTOM_CONFIG='config in environment variables'
|
||||
|
||||
那最终 NoneBot 所读取的内容为环境变量中的内容,即 `config in environment variables`。
|
||||
|
||||
:::warning 注意
|
||||
:::warning[注意]
|
||||
如果一个环境变量既不是 NoneBot 的[**内置配置项**](#内置配置项),也不是任何插件所定义的[**插件配置**](#插件配置),那么 NoneBot 不会自发读取该环境变量,需要在 dotenv 配置文件中先行声明。
|
||||
:::
|
||||
|
||||
@@ -162,7 +162,7 @@ COMMON_CONFIG=common config # 这个配置项在任何环境中都会被加载
|
||||
|
||||
这样,我们在启动 NoneBot 时就会从 `.env.dev` 文件中加载剩余配置项。
|
||||
|
||||
:::tip 提示
|
||||
:::tip[提示]
|
||||
在生产环境中,可以通过设置环境变量 `ENVIRONMENT=prod` 来确保 NoneBot 读取正确的环境配置。
|
||||
:::
|
||||
|
||||
@@ -242,11 +242,11 @@ weather = on_command(
|
||||
|
||||
这种方式可以简洁、高效地读取配置项,同时也可以设置默认值或者在运行时对配置项进行合法性检查,防止由于配置项导致的插件出错等情况出现。
|
||||
|
||||
:::tip 可配置的事件响应优先级
|
||||
:::tip[可配置的事件响应优先级]
|
||||
发布插件应该为自身的事件响应器提供可配置的优先级,以便插件使用者可以自定义多个插件间的响应顺序。
|
||||
:::
|
||||
|
||||
:::tip 插件配置获取逻辑
|
||||
:::tip[插件配置获取逻辑]
|
||||
无论是否在 dotenv 文件中声明了插件配置项,使用 `get_plugin_config` 获取插件配置模型中定义的配置项时都遵循[**配置项的加载**](#配置项的加载)一节中的优先级顺序进行读取。
|
||||
:::
|
||||
|
||||
@@ -406,7 +406,7 @@ nonebot.init(port=8080)
|
||||
|
||||
NoneBot 日志输出等级,可以为 `int` 类型等级或等级名称。具体等级对照表参考 [loguru 日志等级](https://loguru.readthedocs.io/en/stable/api/logger.html#levels)。
|
||||
|
||||
:::tip 提示
|
||||
:::tip[提示]
|
||||
日志等级名称应为大写,如 `INFO`。
|
||||
:::
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ async def got_location(event: MessageEvent, location: str = ArgPlainText()):
|
||||
|
||||
在上面的代码中,我们获取了 `Console` 协议适配器的消息事件提供的发送时间 `time` 属性。
|
||||
|
||||
:::warning 注意
|
||||
:::warning[注意]
|
||||
如果**基类**就能满足你的需求,那么就**不要修改**事件参数类型注解,这样可以使你的代码更加**通用**,可以在更多平台上运行。如何根据不同平台事件类型进行不同的处理,我们将在[重载](#重载)一节中介绍。
|
||||
:::
|
||||
|
||||
@@ -63,12 +63,12 @@ async def handle_onebot(bot: OneBot):
|
||||
await bot.send_group_message(group_id=123123, message="OneBot")
|
||||
```
|
||||
|
||||
:::warning 注意
|
||||
:::warning[注意]
|
||||
重载机制对所有的参数类型注解都有效,因此,依赖注入也可以使用这个特性来对不同的返回值进行处理。
|
||||
|
||||
但 Bot、Event 和 Matcher 三者的参数类型注解具有最高检查优先级,如果三者任一类型注解不匹配,那么其他依赖注入将不会执行(如:`Depends`)。
|
||||
:::
|
||||
|
||||
:::tip 提示
|
||||
:::tip[提示]
|
||||
如何更好地编写一个跨平台的插件,我们将在[最佳实践](../best-practice/multi-adapter.mdx)中介绍。
|
||||
:::
|
||||
|
||||
@@ -35,7 +35,7 @@ async def got_location():
|
||||
|
||||
在上面的代码中,我们使用 `got` 事件响应器操作来向用户发送 `prompt` 消息,并等待用户的回复。用户的回复消息将会被作为 `location` 参数存储于事件响应器状态中。
|
||||
|
||||
:::tip 提示
|
||||
:::tip[提示]
|
||||
事件处理函数根据定义的顺序依次执行。
|
||||
:::
|
||||
|
||||
@@ -67,7 +67,7 @@ async def got_location(location: str = ArgPlainText()):
|
||||
|
||||
在上面的代码中,我们在 `got_location` 函数中定义了一个依赖注入参数 `location`,他的值将会是用户回复的消息纯文本信息。获取到用户输入的地名参数后,我们就可以进行天气查询并回复了。
|
||||
|
||||
:::tip 提示
|
||||
:::tip[提示]
|
||||
如果想要获取用户回复的消息对象 `Message` ,可以使用 `Arg` 依赖注入。
|
||||
:::
|
||||
|
||||
@@ -130,7 +130,7 @@ async def got_location(location: str = ArgPlainText()):
|
||||
|
||||
事件响应器操作可以分为两大类:**交互操作**和**流程控制操作**。我们可以通过交互操作来与用户进行交互,而流程控制操作则可以用来控制事件处理流程的执行。
|
||||
|
||||
:::tip 提示
|
||||
:::tip[提示]
|
||||
事件处理流程按照事件处理函数添加顺序执行,已经结束的事件处理函数不可能被恢复执行。
|
||||
:::
|
||||
|
||||
@@ -322,7 +322,7 @@ async def _(matcher: Matcher):
|
||||
matcher.stop_propagation()
|
||||
```
|
||||
|
||||
:::warning 注意
|
||||
:::warning[注意]
|
||||
`stop_propagation` 操作是实例方法,需要先通过依赖注入获取事件响应器实例再进行调用。
|
||||
:::
|
||||
|
||||
|
||||
Reference in New Issue
Block a user