mirror of
https://github.com/nonebot/nonebot2.git
synced 2024-11-24 09:05:04 +08:00
Keep send_kwargs
through get()
and argument filter
This commit is contained in:
parent
1fd740d223
commit
ae35c2e08a
@ -260,7 +260,8 @@ class SwitchException(Exception):
|
||||
|
||||
|
||||
class CommandSession(BaseSession):
|
||||
__slots__ = ('cmd', 'current_key', 'current_arg_filters',
|
||||
__slots__ = ('cmd',
|
||||
'current_key', 'current_arg_filters', '_current_send_kwargs',
|
||||
'current_arg', '_current_arg_text', '_current_arg_images',
|
||||
'_state', '_last_interaction', '_running')
|
||||
|
||||
@ -275,6 +276,8 @@ class CommandSession(BaseSession):
|
||||
# initialize current argument filters
|
||||
self.current_arg_filters: Optional[List[ArgFilter_T]] = None
|
||||
|
||||
self._current_send_kwargs: Dict[str, Any] = {}
|
||||
|
||||
# initialize current argument
|
||||
self.current_arg: str = '' # with potential CQ codes
|
||||
self._current_arg_text = None
|
||||
@ -392,8 +395,7 @@ class CommandSession(BaseSession):
|
||||
|
||||
self.current_key = key
|
||||
self.current_arg_filters = arg_filters
|
||||
# TODO: self.current_send_kwargs
|
||||
# ask the user for more information
|
||||
self._current_send_kwargs = kwargs
|
||||
self.pause(prompt, **kwargs)
|
||||
|
||||
def get_optional(self, key: str,
|
||||
|
@ -44,7 +44,8 @@ async def run_arg_filters(session: 'CommandSession',
|
||||
failure_message = render_expression(
|
||||
session.bot.config.DEFAULT_VALIDATION_FAILURE_EXPRESSION
|
||||
)
|
||||
session.pause(failure_message)
|
||||
# noinspection PyProtectedMember
|
||||
session.pause(failure_message, **session._current_send_kwargs)
|
||||
|
||||
# passed all filters
|
||||
session.state[session.current_key] = arg
|
||||
|
Loading…
Reference in New Issue
Block a user