fix(ClientUser#setStatus): resetting activity

The method would pass in null if no activity was passed, so this takes the current client presence instead of deleting it.
This commit is contained in:
Lewdcario
2018-01-24 15:09:40 -06:00
parent a832b56469
commit 7e0e457334

View File

@@ -38,7 +38,7 @@ class ClientPresenceStore extends PresenceStore {
since: since != null ? since : null, // eslint-disable-line eqeqeq
status: status || this.clientPresence.status,
game: activity ? {
type: typeof activity.type === 'number' ? activity.type : ActivityTypes.indexOf(activity.type),
type: activity.type,
name: activity.name,
url: activity.url,
details: activity.details || undefined,
@@ -54,9 +54,14 @@ class ClientPresenceStore extends PresenceStore {
application_id: applicationID || undefined,
secrets: activity.secrets || undefined,
instance: activity.instance || undefined,
} : null,
} : this.clientPresence.activity,
};
if (packet.game) {
packet.game.type = typeof packet.game.type === 'number' ?
packet.game.type : ActivityTypes.indexOf(packet.game.type)
}
this.clientPresence.patch(packet);
this.client.ws.send({ op: OPCodes.STATUS_UPDATE, d: packet });
return this.clientPresence;