feat(message): 传递matcher抛出的StopPropagation

This commit is contained in:
Muchan 2020-11-19 20:53:28 +08:00 committed by pull[bot]
parent d726b75721
commit 557054cb8b

View File

@ -149,6 +149,8 @@ async def _run_matcher(Matcher: Type[Matcher], bot: Bot, event: Event,
try: try:
logger.debug(f"Running matcher {matcher}") logger.debug(f"Running matcher {matcher}")
await matcher.run(bot, event, state) await matcher.run(bot, event, state)
except StopPropagation as e:
exception = e
except Exception as e: except Exception as e:
logger.opt(colors=True, exception=e).error( logger.opt(colors=True, exception=e).error(
f"<r><bg #f8bbd0>Running matcher {matcher} failed.</bg #f8bbd0></r>" f"<r><bg #f8bbd0>Running matcher {matcher} failed.</bg #f8bbd0></r>"
@ -166,7 +168,7 @@ async def _run_matcher(Matcher: Type[Matcher], bot: Bot, event: Event,
"<r><bg #f8bbd0>Error when running RunPostProcessors</bg #f8bbd0></r>" "<r><bg #f8bbd0>Error when running RunPostProcessors</bg #f8bbd0></r>"
) )
if matcher.block: if matcher.block or isinstance(exception, StopPropagation):
raise StopPropagation raise StopPropagation