mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-10 16:43:31 +01:00
GuildMembersChunk packet handler hotfix (#1125)
* GuildMembersChunk packet handler hotfix * Add limit, resolve properly if a query is used * Document new GuildMemberChunk param
This commit is contained in:
@@ -17,7 +17,7 @@ class GuildMembersChunkHandler extends AbstractHandler {
|
||||
|
||||
const members = data.members.map(member => guild._addMember(member, false));
|
||||
|
||||
client.emit(Constants.Events.GUILD_MEMBERS_CHUNK, members);
|
||||
client.emit(Constants.Events.GUILD_MEMBERS_CHUNK, members, guild);
|
||||
|
||||
client.ws.lastHeartbeatAck = true;
|
||||
}
|
||||
@@ -27,6 +27,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 {Collection<GuildMember>} members The members in the chunk
|
||||
* @param {Guild} guild The guild related to the member chunk
|
||||
*/
|
||||
|
||||
module.exports = GuildMembersChunkHandler;
|
||||
|
||||
@@ -347,9 +347,10 @@ class Guild {
|
||||
* Fetches all the members in the guild, even if they are offline. If the guild has less than 250 members,
|
||||
* this should not be necessary.
|
||||
* @param {string} [query=''] Limit fetch to members with similar usernames
|
||||
* @param {number} [limit=0] Maximum number of members to request
|
||||
* @returns {Promise<Guild>}
|
||||
*/
|
||||
fetchMembers(query = '') {
|
||||
fetchMembers(query = '', limit = 0) {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (this.memberCount === this.members.size) {
|
||||
// uncomment in v12
|
||||
@@ -362,12 +363,12 @@ class Guild {
|
||||
d: {
|
||||
guild_id: this.id,
|
||||
query,
|
||||
limit: 0,
|
||||
limit,
|
||||
},
|
||||
});
|
||||
const handler = (members, guild) => {
|
||||
if (guild.id !== this.id) return;
|
||||
if (this.memberCount === this.members.size) {
|
||||
if (this.memberCount === this.members.size || members.length < 1000) {
|
||||
this.client.removeListener(Constants.Events.GUILD_MEMBERS_CHUNK, handler);
|
||||
// uncomment in v12
|
||||
// resolve(this.members)
|
||||
|
||||
Reference in New Issue
Block a user