mirror of
https://github.com/nonebot/nonebot2.git
synced 2025-07-29 01:01:24 +00:00
🚑 (Close #12)fix matcher key parser
This commit is contained in:
@ -159,14 +159,17 @@ class Matcher(metaclass=MatcherMeta):
|
|||||||
) -> Callable[[Handler], Handler]:
|
) -> Callable[[Handler], Handler]:
|
||||||
|
|
||||||
async def _key_getter(bot: Bot, event: Event, state: dict):
|
async def _key_getter(bot: Bot, event: Event, state: dict):
|
||||||
if key not in state:
|
|
||||||
state["_current_key"] = key
|
state["_current_key"] = key
|
||||||
|
if key not in state:
|
||||||
if prompt:
|
if prompt:
|
||||||
await bot.send(event=event, message=prompt)
|
await bot.send(event=event, message=prompt)
|
||||||
raise PausedException
|
raise PausedException
|
||||||
|
else:
|
||||||
|
state["_skip_key"] = True
|
||||||
|
|
||||||
async def _key_parser(bot: Bot, event: Event, state: dict):
|
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
|
return
|
||||||
parser = args_parser or cls._default_parser
|
parser = args_parser or cls._default_parser
|
||||||
if parser:
|
if parser:
|
||||||
|
Reference in New Issue
Block a user