diff --git a/src/Discord.Net.Commands/Info/ModuleInfo.cs b/src/Discord.Net.Commands/Info/ModuleInfo.cs index 40a434592..4253b0bee 100644 --- a/src/Discord.Net.Commands/Info/ModuleInfo.cs +++ b/src/Discord.Net.Commands/Info/ModuleInfo.cs @@ -40,16 +40,17 @@ namespace Discord.Commands private static IEnumerable BuildAliases(ModuleBuilder builder, CommandService service) { var result = builder.Aliases.ToList(); - var builderStack = new Stack(); + var builderQueue = new Queue(); var parent = builder; while ((parent = parent.Parent) != null) - builderStack.Push(parent); + builderQueue.Enqueue(parent); - while (builderStack.Count > 0) + while (builderQueue.Count > 0) { - var level = builderStack.Pop(); - result = result.Permutate(level.Aliases, (first, second) => + var level = builderQueue.Dequeue(); + // permute in reverse because we want to *prefix* our aliases + result = level.Aliases.Permutate(result, (first, second) => { if (first == "") return second;