From 1004cf20592faa79a34ad9f63b96e67804a6cef3 Mon Sep 17 00:00:00 2001 From: Rapptz Date: Tue, 12 Apr 2022 06:15:56 -0400 Subject: [PATCH] [commands] Unconditionally replace default if it's set Handles degenerate `x: int = commands.param(default=10)` case --- discord/ext/commands/hybrid.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/discord/ext/commands/hybrid.py b/discord/ext/commands/hybrid.py index e554796a6..2af1893cf 100644 --- a/discord/ext/commands/hybrid.py +++ b/discord/ext/commands/hybrid.py @@ -163,8 +163,9 @@ def replace_parameters(parameters: Dict[str, Parameter], signature: inspect.Sign elif callable(parameter.converter) and not inspect.isclass(parameter.converter): param = param.replace(annotation=make_callable_transformer(parameter.converter)) - if parameter.default is not parameter.empty and callable(parameter.default): - param = param.replace(default=_CallableDefault(parameter.default)) + if parameter.default is not parameter.empty: + default = _CallableDefault(parameter.default) if callable(parameter.default) else parameter.default + param = param.replace(default=default) if isinstance(param.default, Parameter): # If we're here, then then it hasn't been handled yet so it should be removed completely