private void HandleMessage(IMessage message) { if (message == null) { return; } switch (message.Type) { //We got a update, so we will update our current presence case MessageType.PresenceUpdate: PresenceMessage pm = message as PresenceMessage; if (pm != null) { //We need to merge these presences together if (_presence == null) { _presence = pm.Presence; } else if (pm.Presence == null) { _presence = null; } else { _presence.Merge(pm.Presence); } //Update the message pm.Presence = _presence; } break; //Update our configuration case MessageType.Ready: ReadyMessage rm = message as ReadyMessage; if (rm != null) { _configuration = rm.Configuration; _user = rm.User; //Resend our presence and subscription SynchronizeState(); } break; //We got a message we dont know what to do with. default: break; } }
private void HandleMessage(IMessage message) { //if (Disposed) // throw new ObjectDisposedException("Discord IPC Client"); if (message == null) { return; } switch (message.Type) { //We got a update, so we will update our current presence case MessageType.PresenceUpdate: var pm = message as PresenceMessage; if (pm != null) { //We need to merge these presences together if (_presence == null) { _presence = pm.Presence; } else if (pm.Presence == null) { _presence = null; } else { _presence.Merge(pm.Presence); } //Update the message pm.Presence = _presence; } break; //Update our configuration case MessageType.Ready: var rm = message as ReadyMessage; if (rm != null) { _configuration = rm.Configuration; _user = rm.User; //Resend our presence and subscription SynchronizeState(); } break; //Update the request's CDN for the avatar helpers case MessageType.JoinRequest: if (Configuration != null) { //Update the User object within the join request if the current Cdn var jrm = message as JoinRequestMessage; if (jrm != null) { jrm.User.SetConfiguration(Configuration); } } break; case MessageType.Subscribe: var sub = message as SubscribeMessage; _subscription |= sub.Event; break; case MessageType.Unsubscribe: var unsub = message as UnsubscribeMessage; _subscription &= ~unsub.Event; break; //We got a message we dont know what to do with. default: break; } }