初始化 NoneBot 以及 全局 {ref}`nonebot.drivers.Driver` 对象。 NoneBot 将会从 .env 文件中读取环境信息,并使用相应的 env 文件配置。 也可以传入自定义的 `_env_file` 来指定 NoneBot 从该文件读取配置。 参数: _env_file: 配置文件名,默认从 `.env.{env_name}` 中读取配置 kwargs: 任意变量,将会存储到 {ref}`nonebot.drivers.Driver.config` 对象里 用法: ```
(*, _env_file: DOTENV_TYPE | None = None, **kwargs: Any)
| 278 | |
| 279 | |
| 280 | def init(*, _env_file: DOTENV_TYPE | None = None, **kwargs: Any) -> None: |
| 281 | """初始化 NoneBot 以及 全局 {ref}`nonebot.drivers.Driver` 对象。 |
| 282 | |
| 283 | NoneBot 将会从 .env 文件中读取环境信息,并使用相应的 env 文件配置。 |
| 284 | |
| 285 | 也可以传入自定义的 `_env_file` 来指定 NoneBot 从该文件读取配置。 |
| 286 | |
| 287 | 参数: |
| 288 | _env_file: 配置文件名,默认从 `.env.{env_name}` 中读取配置 |
| 289 | kwargs: 任意变量,将会存储到 {ref}`nonebot.drivers.Driver.config` 对象里 |
| 290 | |
| 291 | 用法: |
| 292 | ```python |
| 293 | nonebot.init(database=Database(...)) |
| 294 | ``` |
| 295 | """ |
| 296 | global _driver |
| 297 | if not _driver: |
| 298 | logger.success("NoneBot is initializing...") |
| 299 | env = Env() |
| 300 | _env_file = _env_file or f".env.{env.environment}" |
| 301 | config = Config( |
| 302 | **kwargs, |
| 303 | _env_file=( |
| 304 | (".env", _env_file) |
| 305 | if isinstance(_env_file, (str, os.PathLike)) |
| 306 | else _env_file |
| 307 | ), |
| 308 | ) |
| 309 | |
| 310 | logger.configure( |
| 311 | extra={"nonebot_log_level": config.log_level}, patcher=_log_patcher |
| 312 | ) |
| 313 | logger.opt(colors=True).info( |
| 314 | f"Current <y><b>Env: {escape_tag(env.environment)}</b></y>" |
| 315 | ) |
| 316 | logger.opt(colors=True).debug( |
| 317 | f"Loaded <y><b>Config</b></y>: {escape_tag(str(model_dump(config)))}" |
| 318 | ) |
| 319 | |
| 320 | DriverClass = _resolve_combine_expr(config.driver) |
| 321 | _driver = DriverClass(env, config) |
| 322 | |
| 323 | |
| 324 | def run(*args: Any, **kwargs: Any) -> None: |
nothing calls this directly
no test coverage detected