From 1ab763e157a2484165a302fc1aa81b0404c2ecde Mon Sep 17 00:00:00 2001 From: FiniteReality Date: Wed, 31 Aug 2016 13:51:09 +0100 Subject: [PATCH] Allow parameterless commands to build correctly Resolves #253 --- src/Discord.Net.Commands/Command.cs | 10 +++++++++- src/Discord.Net.Commands/Module.cs | 8 ++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/Discord.Net.Commands/Command.cs b/src/Discord.Net.Commands/Command.cs index 61eff4877..9df0bcc9d 100644 --- a/src/Discord.Net.Commands/Command.cs +++ b/src/Discord.Net.Commands/Command.cs @@ -38,7 +38,15 @@ namespace Discord.Commands _instance = instance; Name = source.Name; - Text = groupPrefix + attribute.Text; + + if (attribute.Text == null) + Text = groupPrefix; + + if (groupPrefix != "") + groupPrefix += " "; + + if (attribute.Text != null) + Text = groupPrefix + attribute.Text; var aliasesBuilder = ImmutableArray.CreateBuilder(); diff --git a/src/Discord.Net.Commands/Module.cs b/src/Discord.Net.Commands/Module.cs index 0624e6ef3..eff1f9787 100644 --- a/src/Discord.Net.Commands/Module.cs +++ b/src/Discord.Net.Commands/Module.cs @@ -48,8 +48,6 @@ namespace Discord.Commands private void SearchClass(TypeInfo parentType, object instance, List commands, string groupPrefix, IDependencyMap dependencyMap) { - if (groupPrefix != "") - groupPrefix += " "; foreach (var method in parentType.DeclaredMethods) { var cmdAttr = method.GetCustomAttribute(); @@ -63,9 +61,15 @@ namespace Discord.Commands { string nextGroupPrefix; if (groupAttrib.Prefix != null) + { + if (groupPrefix != "") + groupPrefix += " "; nextGroupPrefix = groupPrefix + groupAttrib.Prefix ?? type.Name; + } else + { nextGroupPrefix = groupPrefix; + } SearchClass(type, ReflectionUtils.CreateObject(type, Service, dependencyMap), commands, nextGroupPrefix, dependencyMap); } }