[commands] Fix hybrid command wrapped instances being out of sync

This commit is contained in:
Rapptz
2023-09-30 14:27:51 -04:00
parent f617d01eee
commit 5c5ccc4e82
3 changed files with 32 additions and 0 deletions

View File

@ -362,6 +362,8 @@ class Cog(metaclass=CogMeta):
if isinstance(app_command, app_commands.Group):
for child in app_command.walk_commands():
app_command_refs[child.qualified_name] = child
if hasattr(child, '__commands_is_hybrid_app_command__') and child.qualified_name in lookup:
child.wrapped = lookup[child.qualified_name] # type: ignore
if self.__cog_app_commands_group__:
children.append(app_command) # type: ignore # Somehow it thinks it can be None here

View File

@ -297,6 +297,8 @@ def replace_parameters(
class HybridAppCommand(discord.app_commands.Command[CogT, P, T]):
__commands_is_hybrid_app_command__: ClassVar[bool] = True
def __init__(
self,
wrapped: Union[HybridCommand[CogT, ..., T], HybridGroup[CogT, ..., T]],