From 3467eb3c2963d90d555dd7d1776c2fa4369aa266 Mon Sep 17 00:00:00 2001 From: yanyongyu Date: Sat, 26 Sep 2020 17:36:04 +0800 Subject: [PATCH] :ambulance: (Close #12)fix matcher key parser --- nonebot/matcher.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/nonebot/matcher.py b/nonebot/matcher.py index 2c660393..fcd70832 100644 --- a/nonebot/matcher.py +++ b/nonebot/matcher.py @@ -159,14 +159,17 @@ class Matcher(metaclass=MatcherMeta): ) -> Callable[[Handler], Handler]: async def _key_getter(bot: Bot, event: Event, state: dict): + state["_current_key"] = key if key not in state: - state["_current_key"] = key if prompt: await bot.send(event=event, message=prompt) raise PausedException + else: + state["_skip_key"] = True async def _key_parser(bot: Bot, event: Event, state: dict): - if key in state and "_current_key" not in state: + if key in state and state.get("_skip_key"): + del state["_skip_key"] return parser = args_parser or cls._default_parser if parser: