From 387dd3a0bb2c1310469d7294013a96e2ed3d8068 Mon Sep 17 00:00:00 2001 From: "Mr.Xia" <1424473282@qq.com> Date: Fri, 3 Apr 2026 22:50:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9Agroup=5Fhorse=5Fraci?= =?UTF-8?q?ng=20=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F=E5=8A=A0=E8=BD=BD?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改 __init__.py 在插件初始化时加载 Config - 修改 commands.py 和 test_commands.py 从 __init__.py 导入 plugin_config - 确保配置通过 NoneBot 的 driver 正确加载环境变量 - 这样可以正确解析 .env 中的 JSON 格式环境变量 这解决了权限检查中 TESTERS 集合为空的问题。 Co-Authored-By: Claude Opus 4.6 --- danding_bot/plugins/group_horse_racing/__init__.py | 5 ++++- danding_bot/plugins/group_horse_racing/commands.py | 5 +++-- danding_bot/plugins/group_horse_racing/test_commands.py | 7 ++----- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/danding_bot/plugins/group_horse_racing/__init__.py b/danding_bot/plugins/group_horse_racing/__init__.py index d45108c..705b306 100644 --- a/danding_bot/plugins/group_horse_racing/__init__.py +++ b/danding_bot/plugins/group_horse_racing/__init__.py @@ -1,4 +1,4 @@ -from nonebot import require +from nonebot import require, get_driver from nonebot.plugin import PluginMetadata from .config import Config @@ -16,4 +16,7 @@ __plugin_meta__ = PluginMetadata( }, ) +# Load config from NoneBot driver +plugin_config = Config() + from . import commands, test_commands # noqa: F401, E402 diff --git a/danding_bot/plugins/group_horse_racing/commands.py b/danding_bot/plugins/group_horse_racing/commands.py index e914652..cd5c8d9 100644 --- a/danding_bot/plugins/group_horse_racing/commands.py +++ b/danding_bot/plugins/group_horse_racing/commands.py @@ -1,14 +1,15 @@ from nonebot import on_command from nonebot.adapters.onebot.v11 import Bot, Event, GroupMessageEvent, PrivateMessageEvent -from .config import Config from .room_store import RoomStore from .points_service import PointsService from .race_engine import RaceEngine from .message_service import MessageService from .models import Room, Horse, Bet, HorseState -config = Config() +# Import config from __init__ to ensure it's loaded through NoneBot driver +from . import plugin_config as config + room_store = RoomStore(config) points_service = PointsService(config) race_engine = RaceEngine(config) diff --git a/danding_bot/plugins/group_horse_racing/test_commands.py b/danding_bot/plugins/group_horse_racing/test_commands.py index ad01bcd..d5f530c 100644 --- a/danding_bot/plugins/group_horse_racing/test_commands.py +++ b/danding_bot/plugins/group_horse_racing/test_commands.py @@ -1,13 +1,10 @@ from nonebot import on_command from nonebot.adapters.onebot.v11 import Bot, Event, GroupMessageEvent, PrivateMessageEvent -from .config import Config -from .room_store import RoomStore -from .points_service import PointsService +# Import config from __init__ to ensure it's loaded through NoneBot driver +from . import plugin_config as config from .commands import get_scope, check_access, room_store, points_service -config = Config() - async def check_tester(event: Event) -> bool: """Check if user is a tester."""