mirror of
https://github.com/nonebot/nonebot2.git
synced 2025-07-16 19:11:00 +00:00
⚗️ add got receive overload #142
This commit is contained in:
@ -294,18 +294,27 @@ class Matcher(metaclass=MatcherMeta):
|
||||
* 无
|
||||
"""
|
||||
|
||||
async def _receive(bot: "Bot", event: "Event",
|
||||
state: T_State) -> NoReturn:
|
||||
async def _receive(bot: "Bot", event: "Event") -> NoReturn:
|
||||
raise PausedException
|
||||
|
||||
cls.process_handler(_receive)
|
||||
|
||||
if cls.handlers:
|
||||
# 已有前置handlers则接受一条新的消息,否则视为接收初始消息
|
||||
cls.append_handler(_receive)
|
||||
|
||||
def _decorator(func: T_Handler) -> T_Handler:
|
||||
cls.process_handler(func)
|
||||
if not cls.handlers or cls.handlers[-1] is not func:
|
||||
cls.append_handler(func)
|
||||
|
||||
_receive.__params__.update({
|
||||
"bot":
|
||||
func.__params__["bot"],
|
||||
"event":
|
||||
func.__params__["event"] or _receive.__params__["event"]
|
||||
})
|
||||
|
||||
return func
|
||||
|
||||
return _decorator
|
||||
@ -368,6 +377,25 @@ class Matcher(metaclass=MatcherMeta):
|
||||
|
||||
cls.append_handler(wrapper)
|
||||
|
||||
wrapper.__params__.update({
|
||||
"bot":
|
||||
func.__params__["bot"],
|
||||
"event":
|
||||
func.__params__["event"] or wrapper.__params__["event"]
|
||||
})
|
||||
_key_getter.__params__.update({
|
||||
"bot":
|
||||
func.__params__["bot"],
|
||||
"event":
|
||||
func.__params__["event"] or wrapper.__params__["event"]
|
||||
})
|
||||
_key_parser.__params__.update({
|
||||
"bot":
|
||||
func.__params__["bot"],
|
||||
"event":
|
||||
func.__params__["event"] or wrapper.__params__["event"]
|
||||
})
|
||||
|
||||
return func
|
||||
|
||||
return _decorator
|
||||
|
Reference in New Issue
Block a user