Skip to content

Commit 365df9b

Browse files
authored
Update core.py
Signed-off-by: plun1331 <[email protected]>
1 parent 5610dd8 commit 365df9b

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

discord/commands/core.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -688,7 +688,8 @@ def __init__(self, func: Callable, *args, **kwargs) -> None:
688688

689689
self.attached_to_group: bool = False
690690

691-
self.options: list[Option] = kwargs.get("options", [])
691+
self._options_kwargs = kwargs.get("options", [])
692+
self.options: list[Option] = []
692693
self._validate_parameters()
693694

694695
try:
@@ -703,11 +704,13 @@ def __init__(self, func: Callable, *args, **kwargs) -> None:
703704
self._after_invoke = None
704705

705706
def _validate_parameters(self):
707+
print(self.options, self._options_kwargs)
706708
params = self._get_signature_parameters()
707-
if kwop := self.options:
709+
if kwop := self._options_kwargs:
708710
self.options = self._match_option_param_names(params, kwop)
709711
else:
710712
self.options = self._parse_options(params)
713+
print(self.options, self._options_kwargs)
711714

712715
def _check_required_params(self, params):
713716
params = iter(params.items())
@@ -727,6 +730,8 @@ def _check_required_params(self, params):
727730
def _parse_options(self, params, *, check_params: bool = True) -> list[Option]:
728731
if check_params:
729732
params = self._check_required_params(params)
733+
else:
734+
params = iter(params.items())
730735

731736
final_options = []
732737
for p_name, p_obj in params:
@@ -790,6 +795,7 @@ def _parse_options(self, params, *, check_params: bool = True) -> list[Option]:
790795
return final_options
791796

792797
def _match_option_param_names(self, params, options):
798+
options = list(options)
793799
params = self._check_required_params(params)
794800

795801
check_annotations: list[Callable[[Option, type], bool]] = [
@@ -855,8 +861,7 @@ def cog(self, value):
855861
or value is None
856862
and old_cog is not None
857863
):
858-
params = self._get_signature_parameters()
859-
self.options = self._parse_options(params)
864+
self._validate_parameters()
860865

861866
@property
862867
def is_subcommand(self) -> bool:

0 commit comments

Comments
 (0)