From 816936eafbe4b8caee10a15709a771919754f5ad Mon Sep 17 00:00:00 2001 From: Almeida Date: Tue, 19 Apr 2022 15:01:59 +0100 Subject: [PATCH] fix(GuildEditData): some fields can be null for v13 (#7633) * fix(GuildEditData): some fields can be null for v13 * fix: make even more things nullable --- src/structures/Guild.js | 38 +++++++++++++++++++------------------- typings/index.d.ts | 24 ++++++++++++------------ 2 files changed, 31 insertions(+), 31 deletions(-) diff --git a/src/structures/Guild.js b/src/structures/Guild.js index 3a3c184f7cee..3d48735ec690 100644 --- a/src/structures/Guild.js +++ b/src/structures/Guild.js @@ -800,24 +800,24 @@ class Guild extends AnonymousGuild { * The data for editing a guild. * @typedef {Object} GuildEditData * @property {string} [name] The name of the guild - * @property {VerificationLevel|number} [verificationLevel] The verification level of the guild - * @property {ExplicitContentFilterLevel|number} [explicitContentFilter] The level of the explicit content filter - * @property {VoiceChannelResolvable} [afkChannel] The AFK channel of the guild - * @property {TextChannelResolvable} [systemChannel] The system channel of the guild + * @property {?(VerificationLevel|number)} [verificationLevel] The verification level of the guild + * @property {?(ExplicitContentFilterLevel|number)} [explicitContentFilter] The level of the explicit content filter + * @property {?VoiceChannelResolvable} [afkChannel] The AFK channel of the guild + * @property {?TextChannelResolvable} [systemChannel] The system channel of the guild * @property {number} [afkTimeout] The AFK timeout of the guild * @property {?(BufferResolvable|Base64Resolvable)} [icon] The icon of the guild * @property {GuildMemberResolvable} [owner] The owner of the guild * @property {?(BufferResolvable|Base64Resolvable)} [splash] The invite splash image of the guild * @property {?(BufferResolvable|Base64Resolvable)} [discoverySplash] The discovery splash image of the guild * @property {?(BufferResolvable|Base64Resolvable)} [banner] The banner of the guild - * @property {DefaultMessageNotificationLevel|number} [defaultMessageNotifications] The default message notification - * level of the guild + * @property {?(DefaultMessageNotificationLevel|number)} [defaultMessageNotifications] The default message + * notification level of the guild * @property {SystemChannelFlagsResolvable} [systemChannelFlags] The system channel flags of the guild - * @property {TextChannelResolvable} [rulesChannel] The rules channel of the guild - * @property {TextChannelResolvable} [publicUpdatesChannel] The community updates channel of the guild - * @property {string} [preferredLocale] The preferred locale of the guild + * @property {?TextChannelResolvable} [rulesChannel] The rules channel of the guild + * @property {?TextChannelResolvable} [publicUpdatesChannel] The community updates channel of the guild + * @property {?string} [preferredLocale] The preferred locale of the guild * @property {boolean} [premiumProgressBarEnabled] Whether the guild's premium progress bar is enabled - * @property {string} [description] The discovery description of the guild + * @property {?string} [description] The discovery description of the guild * @property {Features[]} [features] The features of the guild */ @@ -898,7 +898,7 @@ class Guild extends AnonymousGuild { if (typeof data.description !== 'undefined') { _data.description = data.description; } - if (data.preferredLocale) _data.preferred_locale = data.preferredLocale; + if (typeof data.preferredLocale !== 'undefined') _data.preferred_locale = data.preferredLocale; if ('premiumProgressBarEnabled' in data) _data.premium_progress_bar_enabled = data.premiumProgressBarEnabled; const newData = await this.client.api.guilds(this.id).patch({ data: _data, reason }); return this.client.actions.GuildUpdate.handle(newData).updated; @@ -976,7 +976,7 @@ class Guild extends AnonymousGuild { /** * Edits the level of the explicit content filter. - * @param {ExplicitContentFilterLevel|number} explicitContentFilter The new level of the explicit content filter + * @param {?(ExplicitContentFilterLevel|number)} explicitContentFilter The new level of the explicit content filter * @param {string} [reason] Reason for changing the level of the guild's explicit content filter * @returns {Promise} */ @@ -987,7 +987,7 @@ class Guild extends AnonymousGuild { /* eslint-disable max-len */ /** * Edits the setting of the default message notifications of the guild. - * @param {DefaultMessageNotificationLevel|number} defaultMessageNotifications The new default message notification level of the guild + * @param {?(DefaultMessageNotificationLevel|number)} defaultMessageNotifications The new default message notification level of the guild * @param {string} [reason] Reason for changing the setting of the default message notifications * @returns {Promise} */ @@ -1023,7 +1023,7 @@ class Guild extends AnonymousGuild { /** * Edits the verification level of the guild. - * @param {VerificationLevel|number} verificationLevel The new verification level of the guild + * @param {?(VerificationLevel|number)} verificationLevel The new verification level of the guild * @param {string} [reason] Reason for changing the guild's verification level * @returns {Promise} * @example @@ -1038,7 +1038,7 @@ class Guild extends AnonymousGuild { /** * Edits the AFK channel of the guild. - * @param {VoiceChannelResolvable} afkChannel The new AFK channel + * @param {?VoiceChannelResolvable} afkChannel The new AFK channel * @param {string} [reason] Reason for changing the guild's AFK channel * @returns {Promise} * @example @@ -1053,7 +1053,7 @@ class Guild extends AnonymousGuild { /** * Edits the system channel of the guild. - * @param {TextChannelResolvable} systemChannel The new system channel + * @param {?TextChannelResolvable} systemChannel The new system channel * @param {string} [reason] Reason for changing the guild's system channel * @returns {Promise} * @example @@ -1158,7 +1158,7 @@ class Guild extends AnonymousGuild { /** * Edits the rules channel of the guild. - * @param {TextChannelResolvable} rulesChannel The new rules channel + * @param {?TextChannelResolvable} rulesChannel The new rules channel * @param {string} [reason] Reason for changing the guild's rules channel * @returns {Promise} * @example @@ -1173,7 +1173,7 @@ class Guild extends AnonymousGuild { /** * Edits the community updates channel of the guild. - * @param {TextChannelResolvable} publicUpdatesChannel The new community updates channel + * @param {?TextChannelResolvable} publicUpdatesChannel The new community updates channel * @param {string} [reason] Reason for changing the guild's community updates channel * @returns {Promise} * @example @@ -1188,7 +1188,7 @@ class Guild extends AnonymousGuild { /** * Edits the preferred locale of the guild. - * @param {string} preferredLocale The new preferred locale of the guild + * @param {?string} preferredLocale The new preferred locale of the guild * @param {string} [reason] Reason for changing the guild's preferred locale * @returns {Promise} * @example diff --git a/typings/index.d.ts b/typings/index.d.ts index b53cb19d9124..133d2749e042 100644 --- a/typings/index.d.ts +++ b/typings/index.d.ts @@ -998,7 +998,7 @@ export class Guild extends AnonymousGuild { /** @deprecated Use {@link GuildChannelManager.setPositions} instead */ public setChannelPositions(channelPositions: readonly ChannelPosition[]): Promise; public setDefaultMessageNotifications( - defaultMessageNotifications: DefaultMessageNotificationLevel | number, + defaultMessageNotifications: DefaultMessageNotificationLevel | number | null, reason?: string, ): Promise; public setDiscoverySplash( @@ -1006,13 +1006,13 @@ export class Guild extends AnonymousGuild { reason?: string, ): Promise; public setExplicitContentFilter( - explicitContentFilter: ExplicitContentFilterLevel | number, + explicitContentFilter: ExplicitContentFilterLevel | number | null, reason?: string, ): Promise; public setIcon(icon: BufferResolvable | Base64Resolvable | null, reason?: string): Promise; public setName(name: string, reason?: string): Promise; public setOwner(owner: GuildMemberResolvable, reason?: string): Promise; - public setPreferredLocale(preferredLocale: string, reason?: string): Promise; + public setPreferredLocale(preferredLocale: string | null, reason?: string): Promise; public setPublicUpdatesChannel(publicUpdatesChannel: TextChannelResolvable | null, reason?: string): Promise; /** @deprecated Use {@link RoleManager.setPositions} instead */ public setRolePositions(rolePositions: readonly RolePosition[]): Promise; @@ -1020,7 +1020,7 @@ export class Guild extends AnonymousGuild { public setSplash(splash: BufferResolvable | Base64Resolvable | null, reason?: string): Promise; public setSystemChannel(systemChannel: TextChannelResolvable | null, reason?: string): Promise; public setSystemChannelFlags(systemChannelFlags: SystemChannelFlagsResolvable, reason?: string): Promise; - public setVerificationLevel(verificationLevel: VerificationLevel | number, reason?: string): Promise; + public setVerificationLevel(verificationLevel: VerificationLevel | number | null, reason?: string): Promise; public setPremiumProgressBarEnabled(enabled?: boolean, reason?: string): Promise; public setWidgetSettings(settings: GuildWidgetSettingsData, reason?: string): Promise; public toJSON(): unknown; @@ -4900,11 +4900,11 @@ export interface GuildWidgetSettings { export interface GuildEditData { name?: string; - verificationLevel?: VerificationLevel | number; - explicitContentFilter?: ExplicitContentFilterLevel | number; - defaultMessageNotifications?: DefaultMessageNotificationLevel | number; - afkChannel?: VoiceChannelResolvable; - systemChannel?: TextChannelResolvable; + verificationLevel?: VerificationLevel | number | null; + explicitContentFilter?: ExplicitContentFilterLevel | number | null; + defaultMessageNotifications?: DefaultMessageNotificationLevel | number | null; + afkChannel?: VoiceChannelResolvable | null; + systemChannel?: TextChannelResolvable | null; systemChannelFlags?: SystemChannelFlagsResolvable; afkTimeout?: number; icon?: BufferResolvable | Base64Resolvable | null; @@ -4912,9 +4912,9 @@ export interface GuildEditData { splash?: BufferResolvable | Base64Resolvable | null; discoverySplash?: BufferResolvable | Base64Resolvable | null; banner?: BufferResolvable | Base64Resolvable | null; - rulesChannel?: TextChannelResolvable; - publicUpdatesChannel?: TextChannelResolvable; - preferredLocale?: string; + rulesChannel?: TextChannelResolvable | null; + publicUpdatesChannel?: TextChannelResolvable | null; + preferredLocale?: string | null; premiumProgressBarEnabled?: boolean; description?: string | null; features?: GuildFeatures[];