diff --git a/utils/robot_cmd/robot_command.py b/utils/robot_cmd/robot_command.py index 2230a83..a29c747 100644 --- a/utils/robot_cmd/robot_command.py +++ b/utils/robot_cmd/robot_command.py @@ -334,17 +334,31 @@ class GroupBotManager: @staticmethod def get_admin_list() -> List[str]: """获取管理员列表 - + 返回系统管理员的微信ID列表 """ - # 从配置文件中获取管理员列表 - pwd = os.path.dirname(os.path.abspath(__file__)) - with open(f"{pwd}/config.yaml", "rb") as fp: - yconfig = yaml.safe_load(fp) - wx_config = yconfig.get("wx_config", {}) - config_admin_list = wx_config.get("admin") # self.config.get("admin_list", []) + try: + # 获取项目根目录 + pwd = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + config_path = os.path.join(pwd, "config.yaml") - return config_admin_list + # 检查配置文件是否存在 + if not os.path.exists(config_path): + logger.warning(f"配置文件不存在: {config_path}") + return [] + + with open(config_path, "rb") as fp: + yconfig = yaml.safe_load(fp) + wx_config = yconfig.get("wx_config", {}) + config_admin_list = wx_config.get("admin", []) + + if not config_admin_list: + logger.warning("未配置管理员列表") + + return config_admin_list if config_admin_list else [] + except Exception as e: + logger.error(f"读取管理员列表失败: {e}") + return [] # 示例命令