diff --git a/src/Discord.Net.Commands/Info/ParameterInfo.cs b/src/Discord.Net.Commands/Info/ParameterInfo.cs index b435b301a..7090ff59d 100644 --- a/src/Discord.Net.Commands/Info/ParameterInfo.cs +++ b/src/Discord.Net.Commands/Info/ParameterInfo.cs @@ -90,7 +90,10 @@ namespace Discord.Commands public async Task ParseAsync(ICommandContext context, string input, IServiceProvider services = null) { services = services ?? EmptyServiceProvider.Instance; - return await _reader.ReadAsync(context, input, services).ConfigureAwait(false); + var readerResult = await _reader.ReadAsync(context, input, services).ConfigureAwait(false); + return (!readerResult.IsSuccess && IsOptional) + ? TypeReaderResult.FromSuccess(DefaultValue) + : readerResult; } public override string ToString() => Name;