MCPcopy
hub / github.com/nonebot/nonebot2 / init

Function init

nonebot/__init__.py:280–321  ·  view source on GitHub ↗

初始化 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)

Source from the content-addressed store, hash-verified

278
279
280def 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
324def run(*args: Any, **kwargs: Any) -> None:

Callers

nothing calls this directly

Calls 5

EnvClass · 0.90
ConfigClass · 0.90
escape_tagFunction · 0.90
model_dumpFunction · 0.90
_resolve_combine_exprFunction · 0.85

Tested by

no test coverage detected