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

This commit is contained in:
Muchan 2020-11-19 20:53:28 +08:00
parent 0c39b06355
commit 8b3af9fb47

View File

@ -149,6 +149,8 @@ async def _run_matcher(Matcher: Type[Matcher], bot: Bot, event: Event,
try:
logger.debug(f"Running matcher {matcher}")
await matcher.run(bot, event, state)
except StopPropagation as e:
exception = e
except Exception as e:
logger.opt(colors=True, exception=e).error(
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>"
)
if matcher.block:
if matcher.block or isinstance(exception, StopPropagation):
raise StopPropagation