🚧 add event parser

This commit is contained in:
yanyongyu
2020-12-09 19:57:49 +08:00
parent 2c97902f4e
commit 783efeaf0e
7 changed files with 202 additions and 118 deletions

View File

@ -203,7 +203,8 @@ class Matcher(metaclass=MatcherMeta):
- ``bool``: 是否满足匹配规则
"""
return (event.type == (cls.type or event.type) and
event_type = event.get_type()
return (event_type == (cls.type or event_type) and
await cls.rule(bot, event, state))
@classmethod
@ -303,7 +304,7 @@ class Matcher(metaclass=MatcherMeta):
if parser:
await parser(bot, event, state)
else:
state[state["_current_key"]] = str(event.message)
state[state["_current_key"]] = str(event.get_message())
cls.handlers.append(_key_getter)
cls.handlers.append(_key_parser)
@ -427,7 +428,8 @@ class Matcher(metaclass=MatcherMeta):
Matcher.new(
self.type,
Rule(),
USER(event.user_id, perm=self.permission), # type:ignore
USER(event.get_session_id(),
perm=self.permission), # type:ignore
self.handlers,
temp=True,
priority=0,
@ -439,7 +441,8 @@ class Matcher(metaclass=MatcherMeta):
Matcher.new(
self.type,
Rule(),
USER(event.user_id, perm=self.permission), # type:ignore
USER(event.get_session_id(),
perm=self.permission), # type:ignore
self.handlers,
temp=True,
priority=0,