@@ -1,5 +1,6 @@ | |||||
using System.Diagnostics; | using System.Diagnostics; | ||||
using Model = Discord.API.User; | using Model = Discord.API.User; | ||||
using PresenceModel = Discord.API.Presence; | |||||
namespace Discord.WebSocket | namespace Discord.WebSocket | ||||
{ | { | ||||
@@ -47,6 +48,11 @@ namespace Discord.WebSocket | |||||
} | } | ||||
} | } | ||||
internal void Update(ClientState state, PresenceModel model) | |||||
{ | |||||
Presence = SocketPresence.Create(model); | |||||
} | |||||
internal new SocketGlobalUser Clone() => MemberwiseClone() as SocketGlobalUser; | internal new SocketGlobalUser Clone() => MemberwiseClone() as SocketGlobalUser; | ||||
} | } | ||||
} | } |
@@ -99,12 +99,13 @@ namespace Discord.WebSocket | |||||
if (model.Roles.IsSpecified) | if (model.Roles.IsSpecified) | ||||
UpdateRoles(model.Roles.Value); | UpdateRoles(model.Roles.Value); | ||||
} | } | ||||
internal override void Update(ClientState state, PresenceModel model) | |||||
=> Update(state, model, true); | |||||
internal void Update(ClientState state, PresenceModel model, bool updatePresence) | internal void Update(ClientState state, PresenceModel model, bool updatePresence) | ||||
{ | { | ||||
if (updatePresence) | if (updatePresence) | ||||
base.Update(state, model); | |||||
{ | |||||
Presence = SocketPresence.Create(model); | |||||
GlobalUser.Update(state, model); | |||||
} | |||||
if (model.Nick.IsSpecified) | if (model.Nick.IsSpecified) | ||||
Nickname = model.Nick.Value; | Nickname = model.Nick.Value; | ||||
if (model.Roles.IsSpecified) | if (model.Roles.IsSpecified) | ||||
@@ -2,7 +2,6 @@ | |||||
using System; | using System; | ||||
using System.Threading.Tasks; | using System.Threading.Tasks; | ||||
using Model = Discord.API.User; | using Model = Discord.API.User; | ||||
using PresenceModel = Discord.API.Presence; | |||||
namespace Discord.WebSocket | namespace Discord.WebSocket | ||||
{ | { | ||||
@@ -55,11 +54,6 @@ namespace Discord.WebSocket | |||||
} | } | ||||
return hasChanges; | return hasChanges; | ||||
} | } | ||||
internal virtual void Update(ClientState state, PresenceModel model) | |||||
{ | |||||
Presence = SocketPresence.Create(model); | |||||
//Update(state, model.User); | |||||
} | |||||
public Task<RestDMChannel> CreateDMChannelAsync(RequestOptions options = null) | public Task<RestDMChannel> CreateDMChannelAsync(RequestOptions options = null) | ||||
=> UserHelper.CreateDMChannelAsync(this, Discord, options); | => UserHelper.CreateDMChannelAsync(this, Discord, options); | ||||