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 日志等级
。提示
日志等级名称应为大写,如
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