Version: 2.0.0-beta.5

nonebot.config

本模块定义了 NoneBot 本身运行所需的配置项。

NoneBot 使用 pydantic 以及 python-dotenv 来读取配置。

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

class Env(_env_file='<object object>', _env_file_encoding=None, _env_nested_delimiter=None, _secrets_dir=None, *, environment='prod', **values)

  • 说明

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

    将会从 环境变量 > .env 环境配置文件 的优先级读取环境信息。

  • 参数

    • _env_file (str | os.PathLike | NoneType)

    • _env_file_encoding (str | None)

    • _env_nested_delimiter (str | None)

    • _secrets_dir (str | os.PathLike | NoneType)

    • environment (str)

    • **values (Any)

class-var environment

  • 类型: str

  • 说明

    当前环境名。

    NoneBot 将从 .env.{environment} 文件中加载配置。

class Config(_env_file='<object object>', _env_file_encoding=None, _env_nested_delimiter=None, _secrets_dir=None, *, driver='~fastapi', host=IPv4Address('127.0.0.1'), port=8080, log_level='INFO', api_timeout=30.0, superusers=set(), nickname=set(), command_start={'/'}, command_sep={'.'}, session_expire_timeout=datetime.timedelta(seconds=120), **values)

  • 说明

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

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

    配置方法参考: 配置

  • 参数

    • _env_file (str | os.PathLike | NoneType)

    • _env_file_encoding (str | None)

    • _env_nested_delimiter (str | None)

    • _secrets_dir (str | os.PathLike | NoneType)

    • driver (str)

    • host (pydantic.networks.IPvAnyAddress)

    • port (int)

    • log_level (int | str)

    • api_timeout (float)

    • superusers (set[str])

    • nickname (set[str])

    • command_start (set[str])

    • command_sep (set[str])

    • session_expire_timeout (datetime.timedelta)

    • **values (Any)

class-var driver

  • 类型: str

  • 说明

    NoneBot 运行所使用的 Driver 。继承自 Driver

    配置格式为 <module>[:<Driver>][+<module>[:<Mixin>]]*

    ~nonebot.drivers. 的缩写。

class-var host

  • 类型: pydantic.networks.IPvAnyAddress

  • 说明: NoneBot ReverseDriver 服务端监听的 IP/主机名。

class-var port

  • 类型: int

  • 说明: NoneBot ReverseDriver 服务端监听的端口。

class-var log_level

  • 类型: int | str

  • 说明

    NoneBot 日志输出等级,可以为 int 类型等级或等级名称

    参考 loguru 日志等级

    提示

    日志等级名称应为大写,如 INFO

  • 用法

    LOG_LEVEL=25
    LOG_LEVEL=INFO

class-var api_timeout

  • 类型: float | None

  • 说明: API 请求超时时间,单位: 秒。

class-var superusers

  • 类型: set[str]

  • 说明: 机器人超级用户。

  • 用法

    SUPERUSERS=["12345789"]

class-var nickname

  • 类型: set[str]

  • 说明: 机器人昵称。

class-var command_start

  • 类型: set[str]

  • 说明: 命令的起始标记,用于判断一条消息是不是命令。

  • 用法

    COMMAND_START=["/", ""]

class-var command_sep

  • 类型: set[str]

  • 说明: 命令的分隔标记,用于将文本形式的命令切分为元组(实际的命令名)。

  • 用法

    COMMAND_SEP=["."]

class-var session_expire_timeout

  • 类型: datetime.timedelta

  • 说明: 等待用户回复的超时时间。

  • 用法

    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