diff --git a/src/Discord.Net.WebSocket/DiscordSocketClient.cs b/src/Discord.Net.WebSocket/DiscordSocketClient.cs index 9ef827778..bd4bec4cc 100644 --- a/src/Discord.Net.WebSocket/DiscordSocketClient.cs +++ b/src/Discord.Net.WebSocket/DiscordSocketClient.cs @@ -1954,7 +1954,7 @@ namespace Discord.WebSocket } } - var before = user.Presence.Clone(); + var before = user.Presence?.Clone(); user.Update(State, data.User); user.Update(data); await TimedInvokeAsync(_presenceUpdated, nameof(PresenceUpdated), user, before, user.Presence).ConfigureAwait(false); diff --git a/src/Discord.Net.WebSocket/Entities/Users/SocketUser.cs b/src/Discord.Net.WebSocket/Entities/Users/SocketUser.cs index 627cb6eb7..3a920c926 100644 --- a/src/Discord.Net.WebSocket/Entities/Users/SocketUser.cs +++ b/src/Discord.Net.WebSocket/Entities/Users/SocketUser.cs @@ -56,6 +56,7 @@ namespace Discord.WebSocket internal SocketUser(DiscordSocketClient discord, ulong id) : base(discord, id) { + Presence = new SocketPresence(); } internal virtual bool Update(ClientState state, Model model) {