diff --git a/danding_bot/plugins/danding_api/utils.py b/danding_bot/plugins/danding_api/utils.py index 171cecb..96a2d59 100644 --- a/danding_bot/plugins/danding_api/utils.py +++ b/danding_bot/plugins/danding_api/utils.py @@ -1,28 +1,18 @@ import os import asyncio import aiohttp -from nonebot import get_plugin_config +from nonebot import get_plugin_config, get_driver from .config import Config from nonebot import logger plugin_config = get_plugin_config(Config) -# get_plugin_config 不一定读取环境变量,手动兜底 +# NoneBot2 把 .env 读入 driver.config 而非 os.environ,手动兜底 +_driver_config = get_driver().config if not plugin_config.Token: - plugin_config.Token = ( - os.environ.get("DANDING_API_TOKEN") - or os.environ.get("danding_api_token") - or os.environ.get("TOKEN") - or os.environ.get("token") - or "" - ) - logger.debug(f"Token loaded from env: '{plugin_config.Token}'") - # 列出所有 DANDING 相关的环境变量 - for k, v in os.environ.items(): - if "DANDING" in k.upper() or "TOKEN" in k.upper(): - logger.debug(f"ENV: {k}={v}") + plugin_config.Token = getattr(_driver_config, "danding_api_token", "") or os.environ.get("DANDING_API_TOKEN", "") if not plugin_config.EMAIL_PASSWORD: - plugin_config.EMAIL_PASSWORD = os.environ.get("DANDING_EMAIL_PASSWORD", "") + plugin_config.EMAIL_PASSWORD = getattr(_driver_config, "danding_email_password", "") or os.environ.get("DANDING_EMAIL_PASSWORD", "") router:dict = { "在线人数":"bot_online_count", "添加卡密":"bot_add_kami",