def init(*, _env_file: Optional[str] = None, **kwargs): """ :说明: 初始化 NoneBot 以及 全局 Driver 对象。 NoneBot 将会从 .env 文件中读取环境信息,并使用相应的 env 文件配置。 你也可以传入自定义的 _env_file 来指定 NoneBot 从该文件读取配置。 :参数: * ``_env_file: Optional[str]``: 配置文件名,默认从 .env.{env_name} 中读取配置 * ``**kwargs``: 任意变量,将会存储到 Config 对象里 :返回: - ``None`` :用法: .. code-block:: python nonebot.init(database=Database(...)) """ global _driver if not _driver: logger.info("NoneBot is initializing...") env = Env() logger.opt( colors=True).info(f"Current <y><b>Env: {env.environment}</b></y>") config = Config(**kwargs, _env_file=_env_file or f".env.{env.environment}") default_filter.level = "DEBUG" if config.debug else "INFO" logger.opt(colors=True).debug( f"Loaded <y><b>Config</b></y>: {escape_tag(str(config.dict()))}") DriverClass: Type[Driver] = getattr( importlib.import_module(config.driver), "Driver") _driver = DriverClass(env, config) # register build-in adapters _driver.register_adapter("cqhttp", CQBot) # load nonebot test frontend if debug if config.debug and nonebot_test: logger.debug("Loading nonebot test frontend...") nonebot_test.init() if scheduler: _driver.on_startup(_start_scheduler)
def init(*, _env_file: Optional[str] = None, **kwargs): """ :说明: 初始化 NoneBot 以及 全局 Driver 对象。 NoneBot 将会从 .env 文件中读取环境信息,并使用相应的 env 文件配置。 你也可以传入自定义的 _env_file 来指定 NoneBot 从该文件读取配置。 :参数: * ``_env_file: Optional[str]``: 配置文件名,默认从 .env.{env_name} 中读取配置 * ``**kwargs``: 任意变量,将会存储到 Config 对象里 :返回: - `None` :用法: .. code-block:: python nonebot.init(database=Database(...)) """ global _driver env = Env() logger.debug(f"Current Env: {env.environment}") config = Config(**kwargs, _env_file=_env_file or f".env.{env.environment}") logger.setLevel(logging.DEBUG if config.debug else logging.INFO) logger.debug(f"Loaded config: {config.dict()}") DriverClass: Type[Driver] = getattr(importlib.import_module(config.driver), "Driver") _driver = DriverClass(env, config) # register build-in adapters _driver.register_adapter("cqhttp", CQBot) # load nonebot test frontend if debug if config.debug and nonebot_test: logger.debug("Loading nonebot test frontend...") nonebot_test.init()