fix(danding_api): 从NoneBot2 driver.config读取token
.env 被 NoneBot2 读入 driver.config(小写键名)而非 os.environ, 改用 getattr(driver.config, "danding_api_token") 获取。 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user