Skip to content

Commit

Permalink
feat(Guild): replace owner with fetchOwner (#5480)
Browse files Browse the repository at this point in the history
  • Loading branch information
advaith1 committed Apr 16, 2021
1 parent 3c175cb commit 1be67b8
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 11 deletions.
23 changes: 13 additions & 10 deletions src/structures/Guild.js
Expand Up @@ -528,17 +528,20 @@ class Guild extends Base {
}

/**
* The owner of the guild
* @type {?GuildMember}
* @readonly
* Options used to fetch the owner of guild.
* @typedef {Object} FetchOwnerOptions
* @property {boolean} [cache=true] Whether or not to cache the fetched member
* @property {boolean} [force=false] Whether to skip the cache check and request the API
*/
get owner() {
return (
this.members.cache.get(this.ownerID) ||
(this.client.options.partials.includes(PartialTypes.GUILD_MEMBER)
? this.members.add({ user: { id: this.ownerID } }, true)
: null)
);

/**
* Fetches the owner of the guild
* If the member object isn't needed, use {@link Guild#ownerID} instead
* @param {FetchOwnerOptions} [options] The options for fetching the member
* @returns {Promise<GuildMember>}
*/
fetchOwner(options) {
return this.members.fetch({ ...options, user: this.ownerID });
}

/**
Expand Down
4 changes: 3 additions & 1 deletion typings/index.d.ts
Expand Up @@ -641,7 +641,6 @@ declare module 'discord.js' {
public mfaLevel: number;
public name: string;
public readonly nameAcronym: string;
public readonly owner: GuildMember | null;
public ownerID: Snowflake;
public readonly partnered: boolean;
public preferredLocale: string;
Expand Down Expand Up @@ -682,6 +681,7 @@ declare module 'discord.js' {
public fetchBans(): Promise<Collection<Snowflake, { user: User; reason: string }>>;
public fetchIntegrations(): Promise<Collection<string, Integration>>;
public fetchInvites(): Promise<Collection<string, Invite>>;
public fetchOwner(options?: FetchOwnerOptions): Promise<GuildMember>;
public fetchPreview(): Promise<GuildPreview>;
public fetchTemplates(): Promise<Collection<GuildTemplate['code'], GuildTemplate>>;
public fetchVanityData(): Promise<Vanity>;
Expand Down Expand Up @@ -2697,6 +2697,8 @@ declare module 'discord.js' {
name?: string;
}

type FetchOwnerOptions = Omit<FetchMemberOptions, 'user'>;

type GuildAuditLogsAction = keyof GuildAuditLogsActions;

interface GuildAuditLogsActions {
Expand Down

0 comments on commit 1be67b8

Please sign in to comment.