mirror of
https://github.com/nonebot/nonebot2.git
synced 2024-11-28 07:50:16 +08:00
📝 update docs
This commit is contained in:
parent
f8d0b691ec
commit
8443c01303
@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
home: true
|
home: true
|
||||||
heroImage: /logo.png
|
heroImage: /logo.png
|
||||||
tagline: An asynchronous QQ bot framework.
|
tagline: An asynchronous bot framework.
|
||||||
actionText: 开始使用
|
actionText: 开始使用
|
||||||
actionLink: guide/
|
actionLink: guide/
|
||||||
features:
|
features:
|
||||||
|
@ -13,19 +13,30 @@
|
|||||||
NoneBot 在启动时将会从系统环境变量或者 `.env` 文件中寻找变量 `ENVIRONMENT` (大小写不敏感),默认值为 `prod`。
|
NoneBot 在启动时将会从系统环境变量或者 `.env` 文件中寻找变量 `ENVIRONMENT` (大小写不敏感),默认值为 `prod`。
|
||||||
这将引导 NoneBot 从系统环境变量或者 `.env.{ENVIRONMENT}` 文件中进一步加载具体配置。
|
这将引导 NoneBot 从系统环境变量或者 `.env.{ENVIRONMENT}` 文件中进一步加载具体配置。
|
||||||
|
|
||||||
现在,我们在 `.env` 文件中写入当前环境信息
|
现在,我们在 `.env` 文件中写入当前环境信息:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# .env
|
# .env
|
||||||
ENVIRONMENT=dev
|
ENVIRONMENT=dev
|
||||||
```
|
```
|
||||||
|
|
||||||
|
如你所想,之后 NoneBot 就会从 `.env.dev` 文件中加载环境变量。
|
||||||
|
|
||||||
## .env.\* 文件
|
## .env.\* 文件
|
||||||
|
|
||||||
详细配置文件,使用 [pydantic](https://pydantic-docs.helpmanual.io/) 加载配置。在 NoneBot 初始化时可以指定忽略 `.env` 中的环境信息转而加载某个配置文件: `nonebot.init(_env_file=".env.dev")`。
|
NoneBot 使用 [pydantic](https://pydantic-docs.helpmanual.io/) 进行配置管理,会从 `.env.{ENVIRONMENT}` 文件中获悉环境配置。
|
||||||
|
|
||||||
|
可以在 NoneBot 初始化时指定加载某个环境配置文件: `nonebot.init(_env_file=".env.dev")`,这将忽略你在 `.env` 中设置的环境信息。
|
||||||
|
|
||||||
:::warning 提示
|
:::warning 提示
|
||||||
由于 `pydantic` 使用 JSON 加载配置项,请确保配置项值为 JSON 能够解析的数据。如果 JSON 解析失败将作为字符串处理。
|
由于 `pydantic` 使用 JSON 解析配置项,请确保配置项值为 JSON 格式的数据。如:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
list=["123456789", "987654321", 1]
|
||||||
|
test={"hello": "world"}
|
||||||
|
```
|
||||||
|
|
||||||
|
如果配置项值解析失败将作为字符串处理。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
示例及说明:
|
示例及说明:
|
||||||
|
@ -43,7 +43,7 @@ async def get_weather(city: str):
|
|||||||
|
|
||||||
## [事件响应器](../api/matcher.md)
|
## [事件响应器](../api/matcher.md)
|
||||||
|
|
||||||
```python{4}
|
```python{5}
|
||||||
from nonebot import on_command
|
from nonebot import on_command
|
||||||
from nonebot.rule import to_me
|
from nonebot.rule import to_me
|
||||||
from nonebot.permission import Permission
|
from nonebot.permission import Permission
|
||||||
@ -87,12 +87,11 @@ weather = on_command("天气", rule=to_me(), permission=Permission(), priority=5
|
|||||||
事件响应器的优先级代表事件响应器的执行顺序,同一优先级的事件响应器会 **同时执行!**,优先级数字**越小**越先响应!优先级请从 `1` 开始排序!
|
事件响应器的优先级代表事件响应器的执行顺序,同一优先级的事件响应器会 **同时执行!**,优先级数字**越小**越先响应!优先级请从 `1` 开始排序!
|
||||||
|
|
||||||
:::tip 提示
|
:::tip 提示
|
||||||
使用 `nonebot-test` 可以看到当前所有事件响应器的执行流程,有助理解事件响应流程!
|
使用 `nonebot-plugin-test` 可以在网页端查看当前所有事件响应器的执行流程,有助理解事件响应流程!
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
pip install nonebot2[test]
|
nb plugin install nonebot_plugin_test
|
||||||
```
|
```
|
||||||
|
|
||||||
:::
|
:::
|
||||||
|
|
||||||
### 阻断 block
|
### 阻断 block
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
# 创建一个完整的项目
|
# 创建一个完整的项目
|
||||||
|
|
||||||
上一章中我们已经运行了一个最小的 NoneBot 实例,在这一章,我们将从零开始一个完整的项目。
|
上一章中我们已经运行了一个简单的 NoneBot 实例,在这一章,我们将从零开始一个完整的项目。
|
||||||
|
|
||||||
## 目录结构
|
## 目录结构
|
||||||
|
|
||||||
首先,我们可以使用 `nb-cli` 或者自行创建完整的项目目录:
|
可以使用 `nb-cli` 或者自行创建完整的项目目录:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
nb create
|
nb create
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
# 结语
|
# 结语
|
||||||
|
|
||||||
至此,相信你已经能够写出一个基础的插件了,更多的用法将会在 进阶 部分进行介绍,这里给出几个小提示:
|
至此,相信你已经能够写出一个基础的插件了。这里给出几个小提示:
|
||||||
|
|
||||||
- 请千万注意事件处理器的优先级设定
|
- 请千万注意事件处理器的优先级设定
|
||||||
- 在匹配规则中请勿使用耗时极长的函数
|
- 在匹配规则中请勿使用耗时极长的函数
|
||||||
- 同一个用户可以**跨群**(**私聊**)继续他的事件处理(除非做出权限限制,将在后续介绍)
|
- 同一个用户可以**跨群**(**私聊**)继续他的事件处理(除非做出权限限制,将在后续介绍)
|
||||||
|
|
||||||
如果你还不能满足,前往 [进阶](../advanced/README.md) 获得更多的功能信息。
|
如果「指南」还不能满足你,前往 [进阶](../advanced/README.md) 查看更多的功能信息。
|
||||||
|
@ -32,7 +32,8 @@ if __name__ == "__main__":
|
|||||||
在上方 `bot.py` 中,这几行高亮代码将依次:
|
在上方 `bot.py` 中,这几行高亮代码将依次:
|
||||||
|
|
||||||
1. 使用默认配置初始化 NoneBot
|
1. 使用默认配置初始化 NoneBot
|
||||||
2. 加载 NoneBot 内置的 CQHTTP 协议适配组件
|
2. 加载 NoneBot 内置的 CQHTTP 协议适配组件
|
||||||
|
`register_adapter` 的第一个参数我们传入了一个字符串,该字符串将会在后文 [配置 QQ 协议端](#配置-qq-协议端) 时使用。
|
||||||
3. 加载 NoneBot 内置的插件
|
3. 加载 NoneBot 内置的插件
|
||||||
4. 在地址 `127.0.0.1:8080` 运行 NoneBot
|
4. 在地址 `127.0.0.1:8080` 运行 NoneBot
|
||||||
|
|
||||||
@ -80,7 +81,7 @@ QQ 协议端举例:
|
|||||||
|
|
||||||
```json{2,3,35-36,42}
|
```json{2,3,35-36,42}
|
||||||
{
|
{
|
||||||
"uin": 你的QQ号,
|
"uin": "你的QQ号",
|
||||||
"password": "你的密码",
|
"password": "你的密码",
|
||||||
"encrypt_password": false,
|
"encrypt_password": false,
|
||||||
"password_encrypted": "",
|
"password_encrypted": "",
|
||||||
@ -133,7 +134,9 @@ QQ 协议端举例:
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
其中 `ws://127.0.0.1:8080/cqhttp/ws` 中的 `127.0.0.1` 和 `8080` 应分别对应 nonebot 配置的 HOST 和 PORT
|
其中 `ws://127.0.0.1:8080/cqhttp/ws` 中的 `127.0.0.1` 和 `8080` 应分别对应 nonebot 配置的 HOST 和 PORT。
|
||||||
|
|
||||||
|
`cqhttp` 是前述 `register_adapter` 时传入的第一个参数,代表设置的 `CQHTTPBot` 适配器的路径,你可以对不同的适配器设置不同路径以作区别。
|
||||||
|
|
||||||
## 历史性的第一次对话
|
## 历史性的第一次对话
|
||||||
|
|
||||||
|
@ -17,8 +17,8 @@ pip uninstall nonebot
|
|||||||
|
|
||||||
### 通过脚手架安装(推荐安装方式)
|
### 通过脚手架安装(推荐安装方式)
|
||||||
|
|
||||||
1. (推荐)使用你喜欢的 Python 环境管理工具(如`poetry`)创建新的虚拟环境。
|
1. (推荐)使用你喜欢的 Python 环境管理工具(如 `poetry`)创建新的虚拟环境。
|
||||||
2. 使用 `pip` (或其他) 安装 NoneBot 脚手架。
|
2. 使用 `pip` (或其他包管理工具) 安装 nb-cli,nonebot2 作为其依赖会一起被安装。
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
pip install nb-cli
|
pip install nb-cli
|
||||||
@ -33,16 +33,15 @@ pip uninstall nonebot
|
|||||||
### 不使用脚手架(纯净安装)
|
### 不使用脚手架(纯净安装)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# 在使用poetry的情况下
|
|
||||||
poetry add nonebot2
|
|
||||||
# 在使用pip的情况下
|
|
||||||
pip install nonebot2
|
pip install nonebot2
|
||||||
|
# 也可以通过 poetry 安装
|
||||||
|
poetry add nonebot2
|
||||||
```
|
```
|
||||||
|
|
||||||
如果你需要使用最新的(可能**尚未发布**的)特性,可以直接从 GitHub 仓库安装:
|
如果你需要使用最新的(可能**尚未发布**的)特性,可以直接从 GitHub 仓库安装:
|
||||||
|
|
||||||
:::warning 注意
|
:::warning 注意
|
||||||
直接从Github仓库中安装意味着你将使用最新提交的代码,它们并没有进行充分的稳定性测试
|
直接从 Github 仓库中安装意味着你将使用最新提交的代码,它们并没有进行充分的稳定性测试
|
||||||
在任何情况下请不要将其应用于生产环境!
|
在任何情况下请不要将其应用于生产环境!
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
@ -48,7 +48,7 @@ if __name__ == "__main__":
|
|||||||
:::
|
:::
|
||||||
|
|
||||||
:::warning 提示
|
:::warning 提示
|
||||||
**插件不能存在相同名称!**
|
**不能存在相同名称的插件!**
|
||||||
:::
|
:::
|
||||||
|
|
||||||
:::danger 警告
|
:::danger 警告
|
||||||
|
Loading…
Reference in New Issue
Block a user