@@ -81,6 +81,27 @@ def _add_hybrid_command(self, callback: Callable):
81
81
return
82
82
83
83
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
+
84
105
prefixed_transform = slash_to_prefixed (cmd )
85
106
86
107
if self .use_slash_command_msg :
@@ -91,7 +112,7 @@ def _add_hybrid_command(self, callback: Callable):
91
112
if not (base := self .client .prefixed .commands .get (str (cmd .name ))):
92
113
base = base_subcommand_generator (
93
114
str (cmd .name ),
94
- list (_values_wrapper (cmd .name .to_locale_dict ())) + cmd . aliases ,
115
+ list (_values_wrapper (cmd .name .to_locale_dict ())),
95
116
str (cmd .name ),
96
117
group = False ,
97
118
)
@@ -102,7 +123,7 @@ def _add_hybrid_command(self, callback: Callable):
102
123
if not (group := base .subcommands .get (str (cmd .group_name ))):
103
124
group = base_subcommand_generator (
104
125
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 ())),
106
127
str (cmd .group_name ),
107
128
group = True ,
108
129
)
0 commit comments