fix guild member fetching edge cases (#1115)

* thx4tipprogrammixluvubye

* consistancy

* make this loop for some reason

* so impatient
This commit is contained in:
Gus Caplan
2017-01-21 10:37:28 -06:00
committed by Amish Shah
parent 3545e731c0
commit 306ea97f99
2 changed files with 22 additions and 20 deletions

View File

@@ -1,7 +1,7 @@
// ##untested##
const AbstractHandler = require('./AbstractHandler');
const Constants = require('../../../../util/Constants');
// uncomment in v12
// const Collection = require('../../../../util/Collection');
class GuildMembersChunkHandler extends AbstractHandler {
handle(packet) {
@@ -10,9 +10,13 @@ class GuildMembersChunkHandler extends AbstractHandler {
const guild = client.guilds.get(data.guild_id);
if (!guild) return;
// uncomment in v12
// const members = new Collection();
//
// for (const member of data.members) members.set(member.id, guild._addMember(member, false));
const members = data.members.map(member => guild._addMember(member, false));
guild._checkChunks();
client.emit(Constants.Events.GUILD_MEMBERS_CHUNK, members);
client.ws.lastHeartbeatAck = true;
@@ -22,7 +26,7 @@ class GuildMembersChunkHandler extends AbstractHandler {
/**
* Emitted whenever a chunk of guild members is received (all members come from the same guild)
* @event Client#guildMembersChunk
* @param {GuildMember[]} members The members in the chunk
* @param {Collection<GuildMember>} members The members in the chunk
*/
module.exports = GuildMembersChunkHandler;