mirror of
				https://github.com/nonebot/nonebot2.git
				synced 2025-10-31 06:56:39 +00:00 
			
		
		
		
	🐛 fix missing update when reject or pause (fix #394)
This commit is contained in:
		| @@ -166,7 +166,8 @@ class Matcher(metaclass=MatcherMeta): | ||||
|         return repr(self) | ||||
|  | ||||
|     @classmethod | ||||
|     def new(cls, | ||||
|     def new( | ||||
|         cls, | ||||
|         type_: str = "", | ||||
|         rule: Optional[Rule] = None, | ||||
|         permission: Optional[Permission] = None, | ||||
| @@ -177,9 +178,13 @@ class Matcher(metaclass=MatcherMeta): | ||||
|         block: bool = False, | ||||
|         *, | ||||
|         module: Optional[ModuleType] = None, | ||||
|         expire_time: Optional[datetime] = None, | ||||
|         default_state: Optional[T_State] = None, | ||||
|         default_state_factory: Optional[T_StateFactory] = None, | ||||
|             expire_time: Optional[datetime] = None) -> Type["Matcher"]: | ||||
|         default_parser: Optional[T_ArgsParser] = None, | ||||
|         default_type_updater: Optional[T_TypeUpdater] = None, | ||||
|         default_permission_updater: Optional[T_PermissionUpdater] = None | ||||
|     ) -> Type["Matcher"]: | ||||
|         """ | ||||
|         :说明: | ||||
|  | ||||
| @@ -237,7 +242,13 @@ class Matcher(metaclass=MatcherMeta): | ||||
|                     default_state or {}, | ||||
|                 "_default_state_factory": | ||||
|                     staticmethod(default_state_factory) | ||||
|                     if default_state_factory else None | ||||
|                     if default_state_factory else None, | ||||
|                 "_default_parser": | ||||
|                     default_parser, | ||||
|                 "_default_type_updater": | ||||
|                     default_type_updater, | ||||
|                 "_default_permission_updater": | ||||
|                     default_permission_updater | ||||
|             }) | ||||
|  | ||||
|         matchers[priority].append(NewMatcher) | ||||
| @@ -586,7 +597,8 @@ class Matcher(metaclass=MatcherMeta): | ||||
|             else: | ||||
|                 permission = USER(event.get_session_id(), perm=self.permission) | ||||
|  | ||||
|             Matcher.new(type_, | ||||
|             Matcher.new( | ||||
|                 type_, | ||||
|                 Rule(), | ||||
|                 permission, | ||||
|                 self.handlers, | ||||
| @@ -594,9 +606,12 @@ class Matcher(metaclass=MatcherMeta): | ||||
|                 priority=0, | ||||
|                 block=True, | ||||
|                 module=self.module, | ||||
|                 expire_time=datetime.now() + bot.config.session_expire_timeout, | ||||
|                 default_state=self.state, | ||||
|                         expire_time=datetime.now() + | ||||
|                         bot.config.session_expire_timeout) | ||||
|                 default_parser=self.__class__._default_parser, | ||||
|                 default_type_updater=self.__class__._default_type_updater, | ||||
|                 default_permission_updater=self.__class__. | ||||
|                 _default_permission_updater) | ||||
|         except PausedException: | ||||
|             updater = self.__class__._default_type_updater | ||||
|             if updater: | ||||
| @@ -610,7 +625,8 @@ class Matcher(metaclass=MatcherMeta): | ||||
|             else: | ||||
|                 permission = USER(event.get_session_id(), perm=self.permission) | ||||
|  | ||||
|             Matcher.new(type_, | ||||
|             Matcher.new( | ||||
|                 type_, | ||||
|                 Rule(), | ||||
|                 permission, | ||||
|                 self.handlers, | ||||
| @@ -618,9 +634,12 @@ class Matcher(metaclass=MatcherMeta): | ||||
|                 priority=0, | ||||
|                 block=True, | ||||
|                 module=self.module, | ||||
|                 expire_time=datetime.now() + bot.config.session_expire_timeout, | ||||
|                 default_state=self.state, | ||||
|                         expire_time=datetime.now() + | ||||
|                         bot.config.session_expire_timeout) | ||||
|                 default_parser=self.__class__._default_parser, | ||||
|                 default_type_updater=self.__class__._default_type_updater, | ||||
|                 default_permission_updater=self.__class__. | ||||
|                 _default_permission_updater) | ||||
|         except FinishedException: | ||||
|             pass | ||||
|         except StopPropagation: | ||||
|   | ||||
		Reference in New Issue
	
	Block a user