diff --git a/src/Discord.Net.Commands/Readers/EnumTypeReader.cs b/src/Discord.Net.Commands/Readers/EnumTypeReader.cs index dca845704..cd8b73896 100644 --- a/src/Discord.Net.Commands/Readers/EnumTypeReader.cs +++ b/src/Discord.Net.Commands/Readers/EnumTypeReader.cs @@ -32,10 +32,12 @@ namespace Discord.Commands var byNameBuilder = ImmutableDictionary.CreateBuilder(); var byValueBuilder = ImmutableDictionary.CreateBuilder(); - foreach (var v in Enum.GetValues(_enumType)) + foreach (var v in Enum.GetNames(_enumType)) { - byNameBuilder.Add(v.ToString().ToLower(), v); - byValueBuilder.Add((T)v, v); + byNameBuilder.Add(v.ToLower(), v); + var parsedValue = (T)Enum.Parse(_enumType, v); + if (!byValueBuilder.ContainsKey(parsedValue)) + byValueBuilder.Add(parsedValue, v); } _enumsByName = byNameBuilder.ToImmutable();