diff --git a/src/Discord.Net.Core/Entities/Guilds/PermissionTarget.cs b/src/Discord.Net.Core/Entities/Guilds/PermissionTarget.cs
index f0faaefb8..3b3e496ef 100644
--- a/src/Discord.Net.Core/Entities/Guilds/PermissionTarget.cs
+++ b/src/Discord.Net.Core/Entities/Guilds/PermissionTarget.cs
@@ -2,11 +2,12 @@
namespace Discord
{
+ [ModelStringEnum]
public enum PermissionTarget
{
[ModelEnumValue("role")]
Role,
- [ModelEnumValue("user")]
+ [ModelEnumValue("member")]
User
}
}
diff --git a/src/Discord.Net.Core/Entities/Permissions/Overwrite.cs b/src/Discord.Net.Core/Entities/Permissions/Overwrite.cs
index 3531d6147..b43302e52 100644
--- a/src/Discord.Net.Core/Entities/Permissions/Overwrite.cs
+++ b/src/Discord.Net.Core/Entities/Permissions/Overwrite.cs
@@ -7,7 +7,6 @@ namespace Discord
/// Gets the unique identifier for the object this overwrite is targeting.
public ulong TargetId { get; }
/// Gets the type of object this overwrite is targeting.
- [ModelStringEnum]
public PermissionTarget TargetType { get; }
/// Gets the permissions associated with this overwrite entry.
public OverwritePermissions Permissions { get; }
diff --git a/src/Discord.Net.Core/Entities/Users/UserStatus.cs b/src/Discord.Net.Core/Entities/Users/UserStatus.cs
index 5f9ce9df5..318ec478d 100644
--- a/src/Discord.Net.Core/Entities/Users/UserStatus.cs
+++ b/src/Discord.Net.Core/Entities/Users/UserStatus.cs
@@ -2,6 +2,7 @@
namespace Discord
{
+ [ModelStringEnum]
public enum UserStatus
{
Offline,
diff --git a/src/Discord.Net.Rest/API/Common/Presence.cs b/src/Discord.Net.Rest/API/Common/Presence.cs
index c6c7d3436..68dae302a 100644
--- a/src/Discord.Net.Rest/API/Common/Presence.cs
+++ b/src/Discord.Net.Rest/API/Common/Presence.cs
@@ -10,7 +10,6 @@ namespace Discord.API
[ModelProperty("guild_id")]
public Optional GuildId { get; set; }
[ModelProperty("status")]
- [ModelStringEnum]
public UserStatus Status { get; set; }
[ModelProperty("game")]
public Game Game { get; set; }
diff --git a/src/Discord.Net.Serialization/Attributes/ModelStringEnumAttribute.cs b/src/Discord.Net.Serialization/Attributes/ModelStringEnumAttribute.cs
index 9c88a23ae..e5a141ff1 100644
--- a/src/Discord.Net.Serialization/Attributes/ModelStringEnumAttribute.cs
+++ b/src/Discord.Net.Serialization/Attributes/ModelStringEnumAttribute.cs
@@ -2,7 +2,7 @@
namespace Discord.Serialization
{
- [AttributeUsage(AttributeTargets.Property, AllowMultiple = false)]
+ [AttributeUsage(AttributeTargets.Enum, AllowMultiple = false)]
public class ModelStringEnumAttribute : Attribute
{
}
diff --git a/src/Discord.Net.Serialization/Json/DefaultJsonSerializer.cs b/src/Discord.Net.Serialization/Json/DefaultJsonSerializer.cs
index f31c7cb04..3e6606d27 100644
--- a/src/Discord.Net.Serialization/Json/DefaultJsonSerializer.cs
+++ b/src/Discord.Net.Serialization/Json/DefaultJsonSerializer.cs
@@ -52,7 +52,7 @@ namespace Discord.Serialization.Json
AddGenericConverter(typeof(Converters.ArrayPropertyConverter<>), //Arrays
(type, prop) => type.IsArray, innerType => innerType.GetElementType());
AddGenericConverter(typeof(Converters.StringEnumPropertyConverter<>), //Enums : string
- (type, prop) => type.IsEnum && prop.GetCustomAttribute() != null);
+ (type, prop) => type.IsEnum && type.GetCustomAttribute() != null);
AddGenericConverter(typeof(Converters.Int64EnumPropertyConverter<>), //Enums : sbyte/short/int/long
(type, prop) => type.IsEnum && IsSignedEnum(Enum.GetUnderlyingType(type.AsType())));
AddGenericConverter(typeof(Converters.UInt64EnumPropertyConverter<>), //Enums: byte/ushort/uint/ulong