diff --git a/zhenxun/builtin_plugins/hooks/chkdsk_hook.py b/zhenxun/builtin_plugins/hooks/chkdsk_hook.py index a279d9d0..df23e48e 100644 --- a/zhenxun/builtin_plugins/hooks/chkdsk_hook.py +++ b/zhenxun/builtin_plugins/hooks/chkdsk_hook.py @@ -61,6 +61,9 @@ _blmt = BanCheckLimiter( malicious_ban_count, ) +# TODO: 恶意出发命令检测过滤 +_ignore = ["parse_bilibili"] + # 恶意触发命令检测 @run_preprocessor @@ -70,7 +73,7 @@ async def _(matcher: Matcher, bot: Bot, session: EventSession, state: T_State): module = plugin.module_name if metadata := plugin.metadata: extra = metadata.extra - if extra.get("plugin_type") == PluginType.HIDDEN: + if extra.get("plugin_type") == PluginType.HIDDEN or module not in _ignore: return user_id = session.id1 group_id = session.id3 or session.id2 diff --git a/zhenxun/plugins/fudu.py b/zhenxun/plugins/fudu.py index 1b05b983..ffb1057d 100644 --- a/zhenxun/plugins/fudu.py +++ b/zhenxun/plugins/fudu.py @@ -91,6 +91,9 @@ class Fudu: _manage = Fudu() +base_config = Config.get("fudu") + + _matcher = on_message(rule=ensure_group, priority=999) @@ -124,11 +127,11 @@ async def _(message: UniMsg, event: Event, session: EventSession): _manage.clear(group_id) _manage.append(group_id, add_msg) if _manage.size(group_id) > 2: - if random.random() < Config.get_config( - "fudu", "FUDU_PROBABILITY" + if random.random() < base_config.get( + "FUDU_PROBABILITY" ) and not _manage.is_repeater(group_id): if random.random() < 0.2: - if plain_text.endswith("打断施法!"): + if plain_text.startswith("打断施法"): await Text("打断" + plain_text).finish() else: await Text("打断施法!").finish()