| @@ -228,15 +228,26 @@ namespace Discord.Commands | |||||
| try | try | ||||
| { | { | ||||
| var types = await ModuleClassBuilder.SearchAsync(assembly, this).ConfigureAwait(false); | var types = await ModuleClassBuilder.SearchAsync(assembly, this).ConfigureAwait(false); | ||||
| var moduleDefs = await ModuleClassBuilder.BuildAsync(types, this, services).ConfigureAwait(false); | |||||
| var standardModuleDefs = await ModuleClassBuilder.BuildAsync(types.Item1, this, services).ConfigureAwait(false); | |||||
| foreach (var info in moduleDefs) | |||||
| foreach (var info in standardModuleDefs) | |||||
| { | { | ||||
| _typedModuleDefs[info.Key] = info.Value; | _typedModuleDefs[info.Key] = info.Value; | ||||
| LoadModuleInternal(info.Value); | LoadModuleInternal(info.Value); | ||||
| } | } | ||||
| return moduleDefs.Select(x => x.Value).ToImmutableArray(); | |||||
| var outsideParentGroupModuleDefs = await ModuleClassBuilder.BuildAsync(types.Item2.Keys, this, services, standardModuleDefs).ConfigureAwait(false); | |||||
| foreach (var info in outsideParentGroupModuleDefs) | |||||
| { | |||||
| _typedModuleDefs[info.Key] = info.Value; | |||||
| LoadModuleInternal(info.Value); | |||||
| } | |||||
| var moduleDefs = new List<ModuleInfo>(standardModuleDefs.Values); | |||||
| moduleDefs.AddRange(outsideParentGroupModuleDefs.Values); | |||||
| return moduleDefs.ToImmutableArray(); | |||||
| } | } | ||||
| finally | finally | ||||
| { | { | ||||