diff --git a/src/Discord.Net.Core/Entities/Invites/TargetUserType.cs b/src/Discord.Net.Core/Entities/Invites/TargetUserType.cs
index 5c7d10bc3..01ad325a7 100644
--- a/src/Discord.Net.Core/Entities/Invites/TargetUserType.cs
+++ b/src/Discord.Net.Core/Entities/Invites/TargetUserType.cs
@@ -2,6 +2,8 @@ namespace Discord
{
public enum TargetUserType
{
+ /// The invite target user type is not defined.
+ NotDefined = 0,
/// The invite is for a Go Live stream.
Stream = 1
}
diff --git a/src/Discord.Net.WebSocket/DiscordSocketClient.cs b/src/Discord.Net.WebSocket/DiscordSocketClient.cs
index 3ecfdde66..5ebaa80e7 100644
--- a/src/Discord.Net.WebSocket/DiscordSocketClient.cs
+++ b/src/Discord.Net.WebSocket/DiscordSocketClient.cs
@@ -1650,16 +1650,12 @@ namespace Discord.WebSocket
return;
}
- SocketGuildUser inviter = null;
- if (data.Inviter.IsSpecified)
- {
- inviter = guild.GetUser(data.Inviter.Value.Id);
- if (inviter == null)
- inviter = guild.AddOrUpdateUser(data.Inviter.Value);
- }
+ SocketGuildUser inviter = data.Inviter.IsSpecified
+ ? (guild.GetUser(data.Inviter.Value.Id) ?? guild.AddOrUpdateUser(data.Inviter.Value))
+ : null;
- SocketUser target = data.TargetUser.IsSpecified
- ? (guild.GetUser(data.TargetUser.Value.Id) ?? SocketUnknownUser.Create(this, State, data.TargetUser.Value))
+ SocketUser target = data.TargetUser.IsSpecified
+ ? (guild.GetUser(data.TargetUser.Value.Id) ?? (SocketUser)SocketUnknownUser.Create(this, State, data.TargetUser.Value))
: null;
var invite = SocketInvite.Create(this, guild, channel, inviter, target, data);
diff --git a/src/Discord.Net.WebSocket/Entities/Invites/SocketInvite.cs b/src/Discord.Net.WebSocket/Entities/Invites/SocketInvite.cs
index 0bc471b0e..d3b3bd58c 100644
--- a/src/Discord.Net.WebSocket/Entities/Invites/SocketInvite.cs
+++ b/src/Discord.Net.WebSocket/Entities/Invites/SocketInvite.cs
@@ -85,9 +85,9 @@ namespace Discord.WebSocket
///
public SocketUser TargetUser { get; private set; }
///
- /// Gets the type of the user targeted by this invite if available.
+ /// Gets the type of the user targeted by this invite.
///
- public TargetUserType? TargetUserType { get; private set; }
+ public TargetUserType TargetUserType { get; private set; }
///
public string Code => Id;
@@ -117,7 +117,7 @@ namespace Discord.WebSocket
MaxUses = model.MaxUses;
Uses = model.Uses;
_createdAtTicks = model.CreatedAt.UtcTicks;
- TargetUserType = model.TargetUserType.IsSpecified ? model.TargetUserType.Value : default(TargetUserType?);
+ TargetUserType = model.TargetUserType.IsSpecified ? model.TargetUserType.Value : TargetUserType.NotDefined;
}
///