fix/refactor: fix GuildMember#presence getter and cleanup (#2751)

* Fix guild being a guild and not an AbstractHandler in PresenceUpdate

* update the default guild to be a Guild, and not GuildMember

* getters return null instead of undefined

* fix lint
This commit is contained in:
bdistin
2018-08-15 01:50:22 -05:00
committed by SpaceEEC
parent 75254748b1
commit 6506252054
3 changed files with 7 additions and 13 deletions

View File

@@ -35,15 +35,9 @@ class PresenceUpdateHandler extends AbstractHandler {
}); });
client.emit(Events.GUILD_MEMBER_AVAILABLE, member); client.emit(Events.GUILD_MEMBER_AVAILABLE, member);
} }
if (member) { guild.presences.add(Object.assign(data, { guild }));
if (client.listenerCount(Events.PRESENCE_UPDATE) === 0) { if (member && client.listenerCount(Events.PRESENCE_UPDATE)) {
guild.presences.add(Object.assign(data, { guild: this }));
return;
}
guild.presences.add(Object.assign(data, { guild: this }));
client.emit(Events.PRESENCE_UPDATE, oldPresence, member.presence); client.emit(Events.PRESENCE_UPDATE, oldPresence, member.presence);
} else {
guild.presences.add(Object.assign(data, { guild: this }));
} }
} }
} }

View File

@@ -124,7 +124,7 @@ class GuildMember extends Base {
user: { user: {
id: this.id, id: this.id,
}, },
guild: this, guild: this.guild,
}); });
} }

View File

@@ -21,18 +21,18 @@ class Presence {
/** /**
* The user of this presence * The user of this presence
* @type {User} * @type {?User}
*/ */
get user() { get user() {
return this.client.users.get(this.userID); return this.client.users.get(this.userID) || null;
} }
/** /**
* The member of this presence * The member of this presence
* @type {GuildMember} * @type {?GuildMember}
*/ */
get member() { get member() {
return this.guild.members.get(this.userID); return this.guild.members.get(this.userID) || null;
} }
patch(data) { patch(data) {