Fix #776 (guildMemberAdd firing for existing members)

This commit is contained in:
Amish Shah
2016-10-24 15:57:07 +01:00
parent d42ac98339
commit 6093dac554
2 changed files with 4 additions and 1 deletions

View File

@@ -679,6 +679,7 @@ class Guild {
}
_addMember(guildUser, emitEvent = true) {
const existing = this.members.has(guildUser.user.id);
if (!(guildUser.user instanceof User)) guildUser.user = this.client.dataManager.newUser(guildUser.user);
guildUser.joined_at = guildUser.joined_at || 0;
@@ -702,7 +703,7 @@ class Guild {
* @param {Guild} guild The guild that the user has joined
* @param {GuildMember} member The member that has joined
*/
if (this.client.ws.status === Constants.Status.READY && emitEvent) {
if (this.client.ws.status === Constants.Status.READY && emitEvent && !existing) {
this.client.emit(Constants.Events.GUILD_MEMBER_ADD, this, member);
}

View File

@@ -20,6 +20,8 @@ client.on('userUpdate', (o, n) => {
console.log(o.username, n.username);
});
client.on('guildMemberAdd', (g, m) => console.log(`${m.user.username} joined ${g.name}`));
client.on('channelCreate', channel => {
console.log(`made ${channel.name}`);
});