diff --git a/utils/decorators/admins.py b/utils/decorators/admins.py index d3aad2c6..417c75b7 100644 --- a/utils/decorators/admins.py +++ b/utils/decorators/admins.py @@ -8,9 +8,12 @@ from utils.apps.inject import inject def bot_admins_rights_check(func: Callable) -> Callable: """BOT ADMIN 权限检查""" - @wraps(func) @inject - async def decorator(*args, bot_admin_service: BotAdminService, **kwargs): + def get_bot_admin_service(bot_admin_service: BotAdminService = None): + return bot_admin_service + + @wraps(func) + async def decorator(*args, **kwargs): if len(args) == 3: # self update context _, update, context = args @@ -19,6 +22,7 @@ def bot_admins_rights_check(func: Callable) -> Callable: update, context = args else: return await func(*args, **kwargs) + bot_admin_service = get_bot_admin_service() if bot_admin_service is None: raise RuntimeError("bot_admin_service is None") admin_list = await bot_admin_service.get_admin_list()