From a070f23dd995e695691bd8ab2861aa885400564f Mon Sep 17 00:00:00 2001 From: MertBhey <41897689+MertBhey@users.noreply.github.com> Date: Fri, 5 Jan 2024 18:33:45 +0300 Subject: [PATCH 1/4] support option field in editGuildWidget --- index.d.ts | 1 + lib/Client.js | 1 + 2 files changed, 2 insertions(+) diff --git a/index.d.ts b/index.d.ts index 8557884d..2819599c 100644 --- a/index.d.ts +++ b/index.d.ts @@ -1146,6 +1146,7 @@ declare namespace Dysnomia { interface Widget { channel_id?: string; enabled: boolean; + reason?: string; } interface WidgetChannel { id: string; diff --git a/lib/Client.js b/lib/Client.js index 7662e70f..ce909258 100644 --- a/lib/Client.js +++ b/lib/Client.js @@ -1698,6 +1698,7 @@ class Client extends EventEmitter { * Modify a guild's widget * @arg {String} guildID The ID of the guild * @arg {Object} options The widget object to modify (https://discord.com/developers/docs/resources/guild#modify-guild-widget) + * @arg {String} [options.reason] The reason to be displayed in audit logs * @returns {Promise} A guild widget object */ editGuildWidget(guildID, options) { From 916ae6c932e86e03fb7a2f7d7a84645fde8a1614 Mon Sep 17 00:00:00 2001 From: MertBhey <41897689+MertBhey@users.noreply.github.com> Date: Fri, 5 Jan 2024 19:07:11 +0300 Subject: [PATCH 2/4] docs(Client): document editGuildWidget --- lib/Client.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/Client.js b/lib/Client.js index ce909258..db9f0462 100644 --- a/lib/Client.js +++ b/lib/Client.js @@ -1698,7 +1698,9 @@ class Client extends EventEmitter { * Modify a guild's widget * @arg {String} guildID The ID of the guild * @arg {Object} options The widget object to modify (https://discord.com/developers/docs/resources/guild#modify-guild-widget) - * @arg {String} [options.reason] The reason to be displayed in audit logs + * @arg {Boolean} [options.enabled] Whether the guild widget is enabled + * @arg {String?} [options.channel_id] The channel ID for the guild widget + * @arg {String?} [options.reason] The reason to be displayed in audit logs * @returns {Promise} A guild widget object */ editGuildWidget(guildID, options) { From 3f6702d384ffb3b434a559e013fc4d618cd3b111 Mon Sep 17 00:00:00 2001 From: MertBhey <41897689+MertBhey@users.noreply.github.com> Date: Fri, 5 Jan 2024 22:10:54 +0300 Subject: [PATCH 3/4] update types & add types for guild structure too --- index.d.ts | 5 ++--- lib/structures/Guild.js | 3 +++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/index.d.ts b/index.d.ts index 2819599c..95fe01e4 100644 --- a/index.d.ts +++ b/index.d.ts @@ -1146,7 +1146,6 @@ declare namespace Dysnomia { interface Widget { channel_id?: string; enabled: boolean; - reason?: string; } interface WidgetChannel { id: string; @@ -2707,7 +2706,7 @@ declare namespace Dysnomia { editGuildTemplate(guildID: string, code: string, options: GuildTemplateOptions): Promise; editGuildVoiceState(guildID: string, options: VoiceStateOptions, userID?: string): Promise; editGuildWelcomeScreen(guildID: string, options: WelcomeScreenOptions): Promise; - editGuildWidget(guildID: string, options: Widget): Promise; + editGuildWidget(guildID: string, options: Widget & { reason?: string }): Promise; editMessage(channelID: string, messageID: string, content: MessageContent): Promise; editRole(guildID: string, roleID: string, options: RoleOptions, reason?: string): Promise; // TODO not all options are available? editRoleConnectionMetadata(metadata: ApplicationRoleConnectionMetadata[]): Promise; @@ -3045,7 +3044,7 @@ declare namespace Dysnomia { editTemplate(code: string, options: GuildTemplateOptions): Promise; editVoiceState(options: VoiceStateOptions, userID?: string): Promise; editWelcomeScreen(options: WelcomeScreenOptions): Promise; - editWidget(options: Widget): Promise; + editWidget(options: Widget & { reason?: string }): Promise; fetchMembers(options?: FetchMembersOptions): Promise; getActiveThreads(): Promise; getAuditLog(options?: GetGuildAuditLogOptions): Promise; diff --git a/lib/structures/Guild.js b/lib/structures/Guild.js index 62d8a141..ff752e99 100644 --- a/lib/structures/Guild.js +++ b/lib/structures/Guild.js @@ -1038,6 +1038,9 @@ class Guild extends Base { /** * Modify a guild's widget * @arg {Object} options The widget object to modify (https://discord.com/developers/docs/resources/guild#modify-guild-widget) + * @arg {Boolean} [options.enabled] Whether the guild widget is enabled + * @arg {String?} [options.channel_id] The channel ID for the guild widget + * @arg {String?} [options.reason] The reason to be displayed in audit logs * @returns {Promise} A guild widget object */ editWidget(options) { From 1b4459384cf07400077bcfee9d0457c5c861cdb6 Mon Sep 17 00:00:00 2001 From: TTtie Date: Tue, 9 Jan 2024 11:10:00 +0000 Subject: [PATCH 4/4] edited widget data can be partial --- index.d.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.d.ts b/index.d.ts index 95fe01e4..a8f3ebe9 100644 --- a/index.d.ts +++ b/index.d.ts @@ -2706,7 +2706,7 @@ declare namespace Dysnomia { editGuildTemplate(guildID: string, code: string, options: GuildTemplateOptions): Promise; editGuildVoiceState(guildID: string, options: VoiceStateOptions, userID?: string): Promise; editGuildWelcomeScreen(guildID: string, options: WelcomeScreenOptions): Promise; - editGuildWidget(guildID: string, options: Widget & { reason?: string }): Promise; + editGuildWidget(guildID: string, options: Partial & { reason?: string }): Promise; editMessage(channelID: string, messageID: string, content: MessageContent): Promise; editRole(guildID: string, roleID: string, options: RoleOptions, reason?: string): Promise; // TODO not all options are available? editRoleConnectionMetadata(metadata: ApplicationRoleConnectionMetadata[]): Promise; @@ -3044,7 +3044,7 @@ declare namespace Dysnomia { editTemplate(code: string, options: GuildTemplateOptions): Promise; editVoiceState(options: VoiceStateOptions, userID?: string): Promise; editWelcomeScreen(options: WelcomeScreenOptions): Promise; - editWidget(options: Widget & { reason?: string }): Promise; + editWidget(options: Partial & { reason?: string }): Promise; fetchMembers(options?: FetchMembersOptions): Promise; getActiveThreads(): Promise; getAuditLog(options?: GetGuildAuditLogOptions): Promise;