4.6 KiB
sidebar_position | description |
---|---|
1 | nonebot.config 模块 |
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 | list[str | os.PathLike] | tuple[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 | list[str | os.PathLike] | tuple[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 | None) -
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 日志等级
。:::tip 提示 日志等级名称应为大写,如
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