@@ -81,6 +81,27 @@ def _add_hybrid_command(self, callback: Callable):
8181 return
8282
8383 cmd = callback
84+
85+ if not cmd .callback or cmd ._dummy_base :
86+ if cmd .group_name :
87+ if not (group := self .client .prefixed .get_command (f"{ cmd .name } { cmd .group_name } " )):
88+ group = base_subcommand_generator (
89+ str (cmd .group_name ),
90+ list (_values_wrapper (cmd .group_name .to_locale_dict ())) + cmd .aliases ,
91+ str (cmd .group_name ),
92+ group = True ,
93+ )
94+ self .client .prefixed .commands [str (cmd .name )].add_command (group )
95+ elif not (base := self .client .prefixed .commands .get (str (cmd .name ))):
96+ base = base_subcommand_generator (
97+ str (cmd .name ),
98+ list (_values_wrapper (cmd .name .to_locale_dict ())) + cmd .aliases ,
99+ str (cmd .name ),
100+ group = False ,
101+ )
102+ self .client .prefixed .add_command (base )
103+ return
104+
84105 prefixed_transform = slash_to_prefixed (cmd )
85106
86107 if self .use_slash_command_msg :
@@ -91,7 +112,7 @@ def _add_hybrid_command(self, callback: Callable):
91112 if not (base := self .client .prefixed .commands .get (str (cmd .name ))):
92113 base = base_subcommand_generator (
93114 str (cmd .name ),
94- list (_values_wrapper (cmd .name .to_locale_dict ())) + cmd . aliases ,
115+ list (_values_wrapper (cmd .name .to_locale_dict ())),
95116 str (cmd .name ),
96117 group = False ,
97118 )
@@ -102,7 +123,7 @@ def _add_hybrid_command(self, callback: Callable):
102123 if not (group := base .subcommands .get (str (cmd .group_name ))):
103124 group = base_subcommand_generator (
104125 str (cmd .group_name ),
105- list (_values_wrapper (cmd .group_name .to_locale_dict ())) + cmd . aliases ,
126+ list (_values_wrapper (cmd .group_name .to_locale_dict ())),
106127 str (cmd .group_name ),
107128 group = True ,
108129 )
0 commit comments