mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2025-12-15 06:12:53 +08:00
43 lines
1.4 KiB
Python
43 lines
1.4 KiB
Python
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
|