mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
feat(GuildMemberManager): add 'list' method (#6403)
Co-authored-by: SpaceEEC <spaceeec@yahoo.com> Co-authored-by: Ben <BenjammingKirby@users.noreply.github.com>
This commit is contained in:
@@ -205,6 +205,24 @@ class GuildMemberManager extends CachedManager {
|
||||
return data.reduce((col, member) => col.set(member.user.id, this._add(member, cache)), new Collection());
|
||||
}
|
||||
|
||||
/**
|
||||
* Options used for listing guild members.
|
||||
* @typedef {Object} GuildListMembersOptions
|
||||
* @property {Snowflake} [after] Limit fetching members to those with an id greater than the supplied id
|
||||
* @property {number} [limit=1] Maximum number of members to list
|
||||
* @property {boolean} [cache=true] Whether or not to cache the fetched member(s)
|
||||
*/
|
||||
|
||||
/**
|
||||
* Lists up to 1000 members of the guild.
|
||||
* @param {GuildListMembersOptions} [options] Options for listing members
|
||||
* @returns {Promise<Collection<Snowflake, GuildMember>>}
|
||||
*/
|
||||
async list({ after, limit = 1, cache = true } = {}) {
|
||||
const data = await this.client.api.guilds(this.guild.id).members.get({ query: { after, limit } });
|
||||
return data.reduce((col, member) => col.set(member.user.id, this._add(member, cache)), new Collection());
|
||||
}
|
||||
|
||||
/**
|
||||
* Edits a member of the guild.
|
||||
* <info>The user must be a member of the guild</info>
|
||||
|
||||
7
typings/index.d.ts
vendored
7
typings/index.d.ts
vendored
@@ -2477,6 +2477,7 @@ export class GuildMemberManager extends CachedManager<Snowflake, GuildMember, Gu
|
||||
): Promise<GuildMember>;
|
||||
public fetch(options?: FetchMembersOptions): Promise<Collection<Snowflake, GuildMember>>;
|
||||
public kick(user: UserResolvable, reason?: string): Promise<GuildMember | User | Snowflake>;
|
||||
public list(options?: GuildListMembersOptions): Promise<Collection<Snowflake, GuildMember>>;
|
||||
public prune(options: GuildPruneMembersOptions & { dry?: false; count: false }): Promise<null>;
|
||||
public prune(options?: GuildPruneMembersOptions): Promise<number>;
|
||||
public search(options: GuildSearchMembersOptions): Promise<Collection<Snowflake, GuildMember>>;
|
||||
@@ -3867,6 +3868,12 @@ export interface GuildSearchMembersOptions {
|
||||
cache?: boolean;
|
||||
}
|
||||
|
||||
export interface GuildListMembersOptions {
|
||||
after?: Snowflake;
|
||||
limit?: number;
|
||||
cache?: boolean;
|
||||
}
|
||||
|
||||
export type GuildTemplateResolvable = string;
|
||||
|
||||
export type GuildVoiceChannelResolvable = VoiceChannel | StageChannel | Snowflake;
|
||||
|
||||
Reference in New Issue
Block a user