|
|
@@ -37,13 +37,21 @@ namespace Discord.Commands |
|
|
|
Summary = builder.Summary; |
|
|
|
Remarks = builder.Remarks; |
|
|
|
|
|
|
|
RunMode = builder.RunMode; |
|
|
|
RunMode = (builder.RunMode == RunMode.Default ? service._defaultRunMode : builder.RunMode); |
|
|
|
Priority = builder.Priority; |
|
|
|
|
|
|
|
if (module.Aliases.Count != 0) |
|
|
|
Aliases = module.Aliases.Permutate(builder.Aliases, (first, second) => first + " " + second).ToImmutableArray(); |
|
|
|
else |
|
|
|
|
|
|
|
// both command and module provide aliases |
|
|
|
if (module.Aliases.Count > 0 && builder.Aliases.Count > 0) |
|
|
|
Aliases = module.Aliases.Permutate(builder.Aliases, (first, second) => second != null ? first + " " + second : first).ToImmutableArray(); |
|
|
|
// only module provides aliases |
|
|
|
else if (module.Aliases.Count > 0) |
|
|
|
Aliases = module.Aliases.ToImmutableArray(); |
|
|
|
// only command provides aliases |
|
|
|
else if (builder.Aliases.Count > 0) |
|
|
|
Aliases = builder.Aliases.ToImmutableArray(); |
|
|
|
// neither provide aliases |
|
|
|
else |
|
|
|
throw new InvalidOperationException("Cannot build a command without any aliases"); |
|
|
|
|
|
|
|
Preconditions = builder.Preconditions.ToImmutableArray(); |
|
|
|
|
|
|
|