Browse Source

AddModulesAsync logic to include groups with Parent property.

pull/1399/head
LtLi0n 5 years ago
parent
commit
0416c4880f
1 changed files with 14 additions and 3 deletions
  1. +14
    -3
      src/Discord.Net.Commands/CommandService.cs

+ 14
- 3
src/Discord.Net.Commands/CommandService.cs View File

@@ -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
{ {


Loading…
Cancel
Save