from nonebot.adapters.cqhttp import Bot, Event from nonebot.typing import T_State from utils.manager import group_manager, plugins2settings_manager from utils.utils import get_message_text from services.log import logger cmd = [] def switch_rule(bot: Bot, event: Event, state: T_State) -> bool: """ 检测文本是否是关闭功能命令 :param bot: pass :param event: pass :param state: pass """ try: if not cmd: cmd.append('关闭全部被动') cmd.append('开启全部被动') _data = group_manager.get_task_data() for key in _data: cmd.append(f"开启{_data[key]}") cmd.append(f"关闭{_data[key]}") cmd.append(f"开启 {_data[key]}") cmd.append(f"关闭 {_data[key]}") _data = plugins2settings_manager.get_data() for key in _data: try: for x in _data[key]["cmd"]: cmd.append(f"开启{x}") cmd.append(f"关闭{x}") cmd.append(f"开启 {x}") cmd.append(f"关闭 {x}") except KeyError: pass msg = get_message_text(event.json()).split() msg = msg[0] if msg else "" return msg in cmd except Exception as e: logger.error(f"检测是否为功能开关命令发生错误 {type(e)}: {e}") return False