NoneBot.config 模块 | NoneBot
Description: 跨平台 Python 异步 QQ 机器人框架

# # NoneBot.config 模块

## # 配置

NoneBot 使用 pydantic
(opens new window) 以及 python-dotenv
(opens new window) 来读取配置。

配置项需符合特殊格式或 json 序列化格式。详情见 pydantic Field Type
(opens new window) 文档。

## # class `Env`

基类：`pydantic.env_settings.BaseSettings`

运行环境配置。大小写不敏感。

将会从 `nonebot.init 参数` > `环境变量` > `.env 环境配置文件` 的优先级读取配置。

### # `environment`

- 类型: `str`

- 默认值: `"prod"`

- 说明

  当前环境名。 NoneBot 将从 `.env.{environment}` 文件中加载配置。

## # class `Config`

基类：`nonebot.config.BaseConfig`

NoneBot 主要配置。大小写不敏感。

除了 NoneBot 的配置项外，还可以自行添加配置项到 `.env.{environment}` 文件中。 这些配置将会在 json 反序列化后一起带入 `Config` 类中。

### # `driver`

- 类型: `str`

- 默认值: `"nonebot.drivers.fastapi"`

- 说明

  NoneBot 运行所使用的 `Driver` 。继承自 `nonebot.driver.BaseDriver` 。

### # `host`

- 类型: `IPvAnyAddress`

- 默认值: `127.0.0.1`

- 说明

  NoneBot 的 HTTP 和 WebSocket 服务端监听的 IP/主机名。

### # `port`

- 类型: `int`

- 默认值: `8080`

- 说明

  NoneBot 的 HTTP 和 WebSocket 服务端监听的端口。

### # `debug`

- 类型: `bool`

- 默认值: `False`

- 说明

  是否以调试模式运行 NoneBot。

### # `api_root`

- 类型: `Dict[str, str]`

- 默认值: `{}`

- 说明

  以机器人 ID 为键，上报地址为值的字典，环境变量或文件中应使用 json 序列化。

- 示例

    API_ROOT={"123456": "http://127.0.0.1:5700"}

1

### # `api_timeout`

- 类型: `Optional[float]`

- 默认值: `30.`

- 说明

  API 请求超时时间，单位: 秒。

### # `access_token`

- 类型: `Optional[str]`

- 默认值: `None`

- 说明

  API 请求以及上报所需密钥，在请求头中携带。

- 示例

    POST /cqhttp/ HTTP/1.1
    Authorization: Bearer kSLuTF2GC2Q4q4ugm3

1
2

### # `secret`

- 类型: `Optional[str]`

- 默认值: `None`

- 说明

  HTTP POST 形式上报所需签名，在请求头中携带。

- 示例

    POST /cqhttp/ HTTP/1.1
    X-Signature: sha1=f9ddd4863ace61e64f462d41ca311e3d2c1176e2

1
2

### # `superusers`

- 类型: `Set[int]`

- 默认值: `set()`

- 说明

  机器人超级用户。

- 示例

    SUPER_USERS=[12345789]

1

### # `nickname`

- 类型: `Set[str]`

- 默认值: `set()`

- 说明

  机器人昵称。

### # `command_start`

- 类型: `Set[str]`

- 默认值: `{"/"}`

- 说明

  命令的起始标记，用于判断一条消息是不是命令。

### # `command_sep`

- 类型: `Set[str]`

- 默认值: `{"."}`

- 说明

  命令的分隔标记，用于将文本形式的命令切分为元组（实际的命令名）。

### # `session_expire_timeout`

- 类型: `timedelta`

- 默认值: `timedelta(minutes=2)`

- 说明

  等待用户回复的超时时间。

- 示例

    SESSION_EXPIRE_TIMEOUT=120  # 单位: 秒
    SESSION_EXPIRE_TIMEOUT=[DD ][HH:MM]SS[.ffffff]
    SESSION_EXPIRE_TIMEOUT=P[DD]DT[HH]H[MM]M[SS]S  # ISO 8601

1
2
3

Contents

- 配置
- class Env
  - environment
- class Config
  - driver
  - host
  - port
  - debug
  - api_root
  - api_timeout
  - access_token
  - secret
  - superusers
  - nickname
  - command_start
  - command_sep
  - session_expire_timeout