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);
}
if (member) {
if (client.listenerCount(Events.PRESENCE_UPDATE) === 0) {
guild.presences.add(Object.assign(data, { guild: this }));
return;
}
guild.presences.add(Object.assign(data, { guild: this }));
guild.presences.add(Object.assign(data, { guild }));
if (member && client.listenerCount(Events.PRESENCE_UPDATE)) {
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: {
id: this.id,
},
guild: this,
guild: this.guild,
});
}

View File

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