diff --git a/src/Discord.Net.Commands/CommandParser.cs b/src/Discord.Net.Commands/CommandParser.cs index 52d1ba114..323b719ca 100644 --- a/src/Discord.Net.Commands/CommandParser.cs +++ b/src/Discord.Net.Commands/CommandParser.cs @@ -147,12 +147,18 @@ namespace Discord.Commands } } - if (argList.Count < command.MinArgs) + for (int i = argList.Count; i < command._parameters.Length; i++) { - /*if (command._parameters[command._parameters.Length - 1].Type == ParameterType.Unparsed) - argList.Add(""); - else*/ - return CommandErrorType.BadArgCount; + var param = command._parameters[i]; + switch (param.Type) + { + case ParameterType.Required: + return CommandErrorType.BadArgCount; + case ParameterType.Optional: + case ParameterType.Unparsed: + argList.Add(""); + break; + } } args = argList.ToArray();