discord.js 15.0.0-dev.1740874409-d1f56ffb2 → 15.0.0-dev.1741392619-ab6a69401

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "discord.js",
4
- "version": "15.0.0-dev.1740874409-d1f56ffb2",
4
+ "version": "15.0.0-dev.1741392619-ab6a69401",
5
5
  "description": "A powerful library for interacting with the Discord API",
6
6
  "main": "./src/index.js",
7
7
  "types": "./typings/index.d.ts",
@@ -52,7 +52,6 @@
52
52
  "homepage": "https://discord.js.org",
53
53
  "funding": "https://github.com/discordjs/discord.js?sponsor",
54
54
  "dependencies": {
55
- "@discordjs/builders": "^1.9.0",
56
55
  "@sapphire/snowflake": "3.5.5",
57
56
  "@vladfrangu/async_event_emitter": "^2.4.6",
58
57
  "discord-api-types": "^0.37.118",
@@ -60,11 +59,12 @@
60
59
  "lodash.snakecase": "4.1.1",
61
60
  "tslib": "^2.8.1",
62
61
  "undici": "6.21.1",
63
- "@discordjs/formatters": "^0.5.0",
62
+ "@discordjs/builders": "^1.9.0",
64
63
  "@discordjs/collection": "^2.1.1",
64
+ "@discordjs/formatters": "^0.5.0",
65
65
  "@discordjs/rest": "^2.4.0",
66
- "@discordjs/util": "^1.1.1",
67
- "@discordjs/ws": "^2.0.0"
66
+ "@discordjs/ws": "^2.0.0",
67
+ "@discordjs/util": "^1.1.1"
68
68
  },
69
69
  "devDependencies": {
70
70
  "@favware/cliff-jumper": "^4.1.0",
@@ -82,8 +82,8 @@
82
82
  "turbo": "^2.3.3",
83
83
  "typescript": "~5.5.4",
84
84
  "@discordjs/api-extractor": "^7.38.1",
85
- "@discordjs/scripts": "^0.1.0",
86
- "@discordjs/docgen": "^0.12.1"
85
+ "@discordjs/docgen": "^0.12.1",
86
+ "@discordjs/scripts": "^0.1.0"
87
87
  },
88
88
  "engines": {
89
89
  "node": ">=22.12.0"
@@ -656,7 +656,7 @@ class Client extends BaseClient {
656
656
  }
657
657
 
658
658
  /**
659
- * Calls {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval} on a script
659
+ * Calls {@link https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/eval} on a script
660
660
  * with the client as `this`.
661
661
  * @param {string} script Script to eval
662
662
  * @returns {*}
@@ -733,7 +733,7 @@ exports.Client = Client;
733
733
  */
734
734
 
735
735
  /**
736
- * A {@link https://developer.twitter.com/en/docs/twitter-ids Twitter snowflake},
736
+ * A {@link https://docs.x.com/resources/fundamentals/x-ids Twitter snowflake},
737
737
  * except the epoch is 2015-01-01T00:00:00.000Z.
738
738
  *
739
739
  * If we have a snowflake '266241948824764416' we can represent it as binary:
package/src/index.js CHANGED
@@ -92,7 +92,6 @@ exports.VoiceStateManager = require('./managers/VoiceStateManager.js').VoiceStat
92
92
 
93
93
  // Structures
94
94
  exports.ActionRow = require('./structures/ActionRow.js').ActionRow;
95
- exports.ActionRowBuilder = require('./structures/ActionRowBuilder.js').ActionRowBuilder;
96
95
  exports.Activity = require('./structures/Presence.js').Activity;
97
96
  exports.AnnouncementChannel = require('./structures/AnnouncementChannel.js').AnnouncementChannel;
98
97
  exports.AnonymousGuild = require('./structures/AnonymousGuild.js').AnonymousGuild;
@@ -115,11 +114,9 @@ exports.BaseGuildTextChannel = require('./structures/BaseGuildTextChannel.js').B
115
114
  exports.BaseGuildVoiceChannel = require('./structures/BaseGuildVoiceChannel.js').BaseGuildVoiceChannel;
116
115
  exports.BaseInteraction = require('./structures/BaseInteraction.js').BaseInteraction;
117
116
  exports.BaseSelectMenuComponent = require('./structures/BaseSelectMenuComponent.js').BaseSelectMenuComponent;
118
- exports.ButtonBuilder = require('./structures/ButtonBuilder.js').ButtonBuilder;
119
117
  exports.ButtonComponent = require('./structures/ButtonComponent.js').ButtonComponent;
120
118
  exports.ButtonInteraction = require('./structures/ButtonInteraction.js').ButtonInteraction;
121
119
  exports.CategoryChannel = require('./structures/CategoryChannel.js').CategoryChannel;
122
- exports.ChannelSelectMenuBuilder = require('./structures/ChannelSelectMenuBuilder.js').ChannelSelectMenuBuilder;
123
120
  exports.ChannelSelectMenuComponent = require('./structures/ChannelSelectMenuComponent.js').ChannelSelectMenuComponent;
124
121
  exports.ChannelSelectMenuInteraction =
125
122
  require('./structures/ChannelSelectMenuInteraction.js').ChannelSelectMenuInteraction;
@@ -137,7 +134,6 @@ exports.ContextMenuCommandInteraction =
137
134
  require('./structures/ContextMenuCommandInteraction.js').ContextMenuCommandInteraction;
138
135
  exports.DMChannel = require('./structures/DMChannel.js').DMChannel;
139
136
  exports.Embed = require('./structures/Embed.js').Embed;
140
- exports.EmbedBuilder = require('./structures/EmbedBuilder.js').EmbedBuilder;
141
137
  exports.Emoji = require('./structures/Emoji.js').Emoji;
142
138
  exports.Entitlement = require('./structures/Entitlement.js').Entitlement;
143
139
  exports.ForumChannel = require('./structures/ForumChannel.js').ForumChannel;
@@ -168,8 +164,6 @@ exports.InteractionWebhook = require('./structures/InteractionWebhook.js').Inter
168
164
  exports.Invite = require('./structures/Invite.js').Invite;
169
165
  exports.InviteGuild = require('./structures/InviteGuild.js').InviteGuild;
170
166
  exports.MediaChannel = require('./structures/MediaChannel.js').MediaChannel;
171
- exports.MentionableSelectMenuBuilder =
172
- require('./structures/MentionableSelectMenuBuilder.js').MentionableSelectMenuBuilder;
173
167
  exports.MentionableSelectMenuComponent =
174
168
  require('./structures/MentionableSelectMenuComponent.js').MentionableSelectMenuComponent;
175
169
  exports.MentionableSelectMenuInteraction =
@@ -185,7 +179,6 @@ exports.MessageContextMenuCommandInteraction =
185
179
  exports.MessageMentions = require('./structures/MessageMentions.js').MessageMentions;
186
180
  exports.MessagePayload = require('./structures/MessagePayload.js').MessagePayload;
187
181
  exports.MessageReaction = require('./structures/MessageReaction.js').MessageReaction;
188
- exports.ModalBuilder = require('./structures/ModalBuilder.js').ModalBuilder;
189
182
  exports.ModalSubmitFields = require('./structures/ModalSubmitFields.js').ModalSubmitFields;
190
183
  exports.ModalSubmitInteraction = require('./structures/ModalSubmitInteraction.js').ModalSubmitInteraction;
191
184
  exports.OAuth2Guild = require('./structures/OAuth2Guild.js').OAuth2Guild;
@@ -198,7 +191,6 @@ exports.ReactionCollector = require('./structures/ReactionCollector.js').Reactio
198
191
  exports.ReactionEmoji = require('./structures/ReactionEmoji.js').ReactionEmoji;
199
192
  exports.RichPresenceAssets = require('./structures/Presence.js').RichPresenceAssets;
200
193
  exports.Role = require('./structures/Role.js').Role;
201
- exports.RoleSelectMenuBuilder = require('./structures/RoleSelectMenuBuilder.js').RoleSelectMenuBuilder;
202
194
  exports.RoleSelectMenuComponent = require('./structures/RoleSelectMenuComponent.js').RoleSelectMenuComponent;
203
195
  exports.RoleSelectMenuInteraction = require('./structures/RoleSelectMenuInteraction.js').RoleSelectMenuInteraction;
204
196
  exports.SKU = require('./structures/SKU.js').SKU;
@@ -206,17 +198,13 @@ exports.StageChannel = require('./structures/StageChannel.js').StageChannel;
206
198
  exports.StageInstance = require('./structures/StageInstance.js').StageInstance;
207
199
  exports.Sticker = require('./structures/Sticker.js').Sticker;
208
200
  exports.StickerPack = require('./structures/StickerPack.js').StickerPack;
209
- exports.StringSelectMenuBuilder = require('./structures/StringSelectMenuBuilder.js').StringSelectMenuBuilder;
210
201
  exports.StringSelectMenuComponent = require('./structures/StringSelectMenuComponent.js').StringSelectMenuComponent;
211
202
  exports.StringSelectMenuInteraction =
212
203
  require('./structures/StringSelectMenuInteraction.js').StringSelectMenuInteraction;
213
- exports.StringSelectMenuOptionBuilder =
214
- require('./structures/StringSelectMenuOptionBuilder.js').StringSelectMenuOptionBuilder;
215
204
  exports.Subscription = require('./structures/Subscription.js').Subscription;
216
205
  exports.Team = require('./structures/Team.js').Team;
217
206
  exports.TeamMember = require('./structures/TeamMember.js').TeamMember;
218
207
  exports.TextChannel = require('./structures/TextChannel.js').TextChannel;
219
- exports.TextInputBuilder = require('./structures/TextInputBuilder.js').TextInputBuilder;
220
208
  exports.TextInputComponent = require('./structures/TextInputComponent.js').TextInputComponent;
221
209
  exports.ThreadChannel = require('./structures/ThreadChannel.js').ThreadChannel;
222
210
  exports.ThreadMember = require('./structures/ThreadMember.js').ThreadMember;
@@ -225,7 +213,6 @@ exports.Typing = require('./structures/Typing.js').Typing;
225
213
  exports.User = require('./structures/User.js').User;
226
214
  exports.UserContextMenuCommandInteraction =
227
215
  require('./structures/UserContextMenuCommandInteraction.js').UserContextMenuCommandInteraction;
228
- exports.UserSelectMenuBuilder = require('./structures/UserSelectMenuBuilder.js').UserSelectMenuBuilder;
229
216
  exports.UserSelectMenuComponent = require('./structures/UserSelectMenuComponent.js').UserSelectMenuComponent;
230
217
  exports.UserSelectMenuInteraction = require('./structures/UserSelectMenuInteraction.js').UserSelectMenuInteraction;
231
218
  exports.VoiceChannel = require('./structures/VoiceChannel.js').VoiceChannel;
@@ -223,7 +223,7 @@ class GuildMemberManager extends CachedManager {
223
223
  query: initialQuery,
224
224
  time = 120e3,
225
225
  nonce = DiscordSnowflake.generate().toString(),
226
- }) {
226
+ } = {}) {
227
227
  if (nonce.length > 32) throw new DiscordjsRangeError(ErrorCodes.MemberFetchNonceLength);
228
228
 
229
229
  const query = initialQuery || (!users ? '' : undefined);
@@ -3,7 +3,6 @@
3
3
  const { Buffer } = require('node:buffer');
4
4
  const { isJSONEncodable } = require('@discordjs/util');
5
5
  const { DiscordSnowflake } = require('@sapphire/snowflake');
6
- const { ActionRowBuilder } = require('./ActionRowBuilder.js');
7
6
  const { DiscordjsError, DiscordjsRangeError, ErrorCodes } = require('../errors/index.js');
8
7
  const { resolveFile } = require('../util/DataResolver.js');
9
8
  const { MessageFlagsBitField } = require('../util/MessageFlagsBitField.js');
@@ -133,7 +132,7 @@ class MessagePayload {
133
132
  }
134
133
 
135
134
  const components = this.options.components?.map(component =>
136
- (isJSONEncodable(component) ? component : new ActionRowBuilder(component)).toJSON(),
135
+ isJSONEncodable(component) ? component.toJSON() : this.target.client.options.jsonTransformer(component),
137
136
  );
138
137
 
139
138
  let username;
@@ -137,6 +137,8 @@ class Webhook {
137
137
  * @property {string} [threadName] Name of the thread to create (only available if the webhook is in a forum channel)
138
138
  * @property {Snowflake[]} [appliedTags]
139
139
  * The tags to apply to the created thread (only available if the webhook is in a forum channel)
140
+ * @property {boolean} [withComponents] Whether to allow sending non-interactive components in the message.
141
+ * <info>For application-owned webhooks, this property is ignored</info>
140
142
  */
141
143
 
142
144
  /**
@@ -144,6 +146,8 @@ class Webhook {
144
146
  * @typedef {MessageEditOptions} WebhookMessageEditOptions
145
147
  * @property {Snowflake} [threadId] The id of the thread this message belongs to
146
148
  * <info>For interaction webhooks, this property is ignored</info>
149
+ * @property {boolean} [withComponents] Whether to allow sending non-interactive components in the message.
150
+ * <info>For application-owned webhooks, this property is ignored</info>
147
151
  */
148
152
 
149
153
  /**
@@ -217,6 +221,7 @@ class Webhook {
217
221
  const query = makeURLSearchParams({
218
222
  wait: true,
219
223
  thread_id: messagePayload.options.threadId,
224
+ with_components: messagePayload.options.withComponents,
220
225
  });
221
226
 
222
227
  const { body, files } = await messagePayload.resolveFiles();
@@ -338,14 +343,17 @@ class Webhook {
338
343
 
339
344
  const { body, files } = await messagePayload.resolveBody().resolveFiles();
340
345
 
346
+ const query = makeURLSearchParams({
347
+ thread_id: messagePayload.options.threadId,
348
+ with_components: messagePayload.options.withComponents,
349
+ });
350
+
341
351
  const d = await this.client.rest.patch(
342
352
  Routes.webhookMessage(this.id, this.token, typeof message === 'string' ? message : message.id),
343
353
  {
344
354
  body,
345
355
  files,
346
- query: messagePayload.options.threadId
347
- ? makeURLSearchParams({ thread_id: messagePayload.options.threadId })
348
- : undefined,
356
+ query,
349
357
  auth: false,
350
358
  },
351
359
  );
@@ -267,7 +267,7 @@ class Collector extends AsyncEventEmitter {
267
267
 
268
268
  /**
269
269
  * Allows collectors to be consumed with for-await-of loops
270
- * @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of}
270
+ * @see {@link https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/for-await...of}
271
271
  */
272
272
  async *[Symbol.asyncIterator]() {
273
273
  const queue = [];
@@ -1,6 +1,5 @@
1
1
  'use strict';
2
2
 
3
- const { ComponentBuilder } = require('@discordjs/builders');
4
3
  const { ComponentType } = require('discord-api-types/v10');
5
4
 
6
5
  /**
@@ -62,11 +61,6 @@ const { ComponentType } = require('discord-api-types/v10');
62
61
  * @typedef {ActionRowData|ButtonComponentData|SelectMenuComponentData|TextInputComponentData} ComponentData
63
62
  */
64
63
 
65
- /**
66
- * Any emoji data that can be used within a button
67
- * @typedef {APIMessageComponentEmoji|string} ComponentEmojiResolvable
68
- */
69
-
70
64
  /**
71
65
  * Transforms API data into a component
72
66
  * @param {APIMessageComponent|Component} data The data to create the component from
@@ -100,56 +94,14 @@ function createComponent(data) {
100
94
  }
101
95
  }
102
96
 
103
- /**
104
- * Transforms API data into a component builder
105
- * @param {APIMessageComponent|ComponentBuilder} data The data to create the component from
106
- * @returns {ComponentBuilder}
107
- * @ignore
108
- */
109
- function createComponentBuilder(data) {
110
- if (data instanceof ComponentBuilder) {
111
- return data;
112
- }
113
-
114
- switch (data.type) {
115
- case ComponentType.ActionRow:
116
- return new ActionRowBuilder(data);
117
- case ComponentType.Button:
118
- return new ButtonBuilder(data);
119
- case ComponentType.StringSelect:
120
- return new StringSelectMenuBuilder(data);
121
- case ComponentType.TextInput:
122
- return new TextInputBuilder(data);
123
- case ComponentType.UserSelect:
124
- return new UserSelectMenuBuilder(data);
125
- case ComponentType.RoleSelect:
126
- return new RoleSelectMenuBuilder(data);
127
- case ComponentType.MentionableSelect:
128
- return new MentionableSelectMenuBuilder(data);
129
- case ComponentType.ChannelSelect:
130
- return new ChannelSelectMenuBuilder(data);
131
- default:
132
- return new ComponentBuilder(data);
133
- }
134
- }
135
-
136
97
  exports.createComponent = createComponent;
137
- exports.createComponentBuilder = createComponentBuilder;
138
98
 
139
99
  const { ActionRow } = require('../structures/ActionRow.js');
140
- const { ActionRowBuilder } = require('../structures/ActionRowBuilder.js');
141
- const { ButtonBuilder } = require('../structures/ButtonBuilder.js');
142
100
  const { ButtonComponent } = require('../structures/ButtonComponent.js');
143
- const { ChannelSelectMenuBuilder } = require('../structures/ChannelSelectMenuBuilder.js');
144
101
  const { ChannelSelectMenuComponent } = require('../structures/ChannelSelectMenuComponent.js');
145
102
  const { Component } = require('../structures/Component.js');
146
- const { MentionableSelectMenuBuilder } = require('../structures/MentionableSelectMenuBuilder.js');
147
103
  const { MentionableSelectMenuComponent } = require('../structures/MentionableSelectMenuComponent.js');
148
- const { RoleSelectMenuBuilder } = require('../structures/RoleSelectMenuBuilder.js');
149
104
  const { RoleSelectMenuComponent } = require('../structures/RoleSelectMenuComponent.js');
150
- const { StringSelectMenuBuilder } = require('../structures/StringSelectMenuBuilder.js');
151
105
  const { StringSelectMenuComponent } = require('../structures/StringSelectMenuComponent.js');
152
- const { TextInputBuilder } = require('../structures/TextInputBuilder.js');
153
106
  const { TextInputComponent } = require('../structures/TextInputComponent.js');
154
- const { UserSelectMenuBuilder } = require('../structures/UserSelectMenuBuilder.js');
155
107
  const { UserSelectMenuComponent } = require('../structures/UserSelectMenuComponent.js');
package/src/util/Util.js CHANGED
@@ -112,7 +112,6 @@ function parseEmoji(text) {
112
112
  * Resolves a partial emoji object from an {@link EmojiIdentifierResolvable}, without checking a Client.
113
113
  * @param {Emoji|EmojiIdentifierResolvable} emoji Emoji identifier to resolve
114
114
  * @returns {?(PartialEmoji|PartialEmojiOnlyId)} Supplying a snowflake yields `PartialEmojiOnlyId`.
115
- * @private
116
115
  */
117
116
  function resolvePartialEmoji(emoji) {
118
117
  if (!emoji) return null;
@@ -1,21 +1,3 @@
1
- import {
2
- ActionRowBuilder as BuilderActionRow,
3
- MessageActionRowComponentBuilder,
4
- ButtonBuilder as BuilderButtonComponent,
5
- EmbedBuilder as BuildersEmbed,
6
- ChannelSelectMenuBuilder as BuilderChannelSelectMenuComponent,
7
- MentionableSelectMenuBuilder as BuilderMentionableSelectMenuComponent,
8
- RoleSelectMenuBuilder as BuilderRoleSelectMenuComponent,
9
- StringSelectMenuBuilder as BuilderStringSelectMenuComponent,
10
- UserSelectMenuBuilder as BuilderUserSelectMenuComponent,
11
- TextInputBuilder as BuilderTextInputComponent,
12
- SelectMenuOptionBuilder as BuildersSelectMenuOption,
13
- ModalActionRowComponentBuilder,
14
- ModalBuilder as BuildersModal,
15
- AnyComponentBuilder,
16
- type RestOrArray,
17
- ApplicationCommandOptionAllowedChannelTypes,
18
- } from '@discordjs/builders';
19
1
  import { Awaitable, JSONEncodable } from '@discordjs/util';
20
2
  import { Collection, ReadonlyCollection } from '@discordjs/collection';
21
3
  import { BaseImageURLOptions, ImageURLOptions, RawFile, REST, RESTOptions } from '@discordjs/rest';
@@ -237,6 +219,7 @@ import {
237
219
  RawWidgetData,
238
220
  RawWidgetMemberData,
239
221
  } from './rawDataTypes.mjs';
222
+ import { ApplicationCommandOptionAllowedChannelTypes, MessageActionRowComponentBuilder } from '@discordjs/builders';
240
223
 
241
224
  //#region Classes
242
225
 
@@ -294,22 +277,6 @@ export interface ActionRowData<ComponentType extends JSONEncodable<APIActionRowC
294
277
  components: readonly ComponentType[];
295
278
  }
296
279
 
297
- export class ActionRowBuilder<
298
- ComponentType extends AnyComponentBuilder = AnyComponentBuilder,
299
- > extends BuilderActionRow<ComponentType> {
300
- public constructor(
301
- data?: Partial<
302
- | ActionRowData<ActionRowComponentData | JSONEncodable<APIActionRowComponentTypes>>
303
- | APIActionRowComponent<APIMessageActionRowComponent | APIModalActionRowComponent>
304
- >,
305
- );
306
- public static from<ComponentType extends AnyComponentBuilder = AnyComponentBuilder>(
307
- other:
308
- | JSONEncodable<APIActionRowComponent<ReturnType<ComponentType['toJSON']>>>
309
- | APIActionRowComponent<ReturnType<ComponentType['toJSON']>>,
310
- ): ActionRowBuilder<ComponentType>;
311
- }
312
-
313
280
  export type MessageActionRowComponent =
314
281
  | ButtonComponent
315
282
  | StringSelectMenuComponent
@@ -751,70 +718,6 @@ export class ButtonComponent extends Component<APIButtonComponent> {
751
718
 
752
719
  export type ComponentEmojiResolvable = APIMessageComponentEmoji | string;
753
720
 
754
- export class ButtonBuilder extends BuilderButtonComponent {
755
- public constructor(data?: Partial<ButtonComponentData> | Partial<APIButtonComponent>);
756
- public static from(other: JSONEncodable<APIButtonComponent> | APIButtonComponent): ButtonBuilder;
757
- public override setEmoji(emoji: ComponentEmojiResolvable): this;
758
- }
759
-
760
- export class StringSelectMenuBuilder extends BuilderStringSelectMenuComponent {
761
- public constructor(data?: Partial<StringSelectMenuComponentData | APIStringSelectComponent>);
762
- private static normalizeEmoji(
763
- selectMenuOption: JSONEncodable<APISelectMenuOption> | SelectMenuComponentOptionData,
764
- ): (APISelectMenuOption | StringSelectMenuOptionBuilder)[];
765
- public override addOptions(
766
- ...options: RestOrArray<BuildersSelectMenuOption | SelectMenuComponentOptionData | APISelectMenuOption>
767
- ): this;
768
- public override setOptions(
769
- ...options: RestOrArray<BuildersSelectMenuOption | SelectMenuComponentOptionData | APISelectMenuOption>
770
- ): this;
771
- public static from(
772
- other: JSONEncodable<APIStringSelectComponent> | APIStringSelectComponent,
773
- ): StringSelectMenuBuilder;
774
- }
775
-
776
- export class UserSelectMenuBuilder extends BuilderUserSelectMenuComponent {
777
- public constructor(data?: Partial<UserSelectMenuComponentData | APIUserSelectComponent>);
778
- public static from(other: JSONEncodable<APIUserSelectComponent> | APIUserSelectComponent): UserSelectMenuBuilder;
779
- }
780
-
781
- export class RoleSelectMenuBuilder extends BuilderRoleSelectMenuComponent {
782
- public constructor(data?: Partial<RoleSelectMenuComponentData | APIRoleSelectComponent>);
783
- public static from(other: JSONEncodable<APIRoleSelectComponent> | APIRoleSelectComponent): RoleSelectMenuBuilder;
784
- }
785
-
786
- export class MentionableSelectMenuBuilder extends BuilderMentionableSelectMenuComponent {
787
- public constructor(data?: Partial<MentionableSelectMenuComponentData | APIMentionableSelectComponent>);
788
- public static from(
789
- other: JSONEncodable<APIMentionableSelectComponent> | APIMentionableSelectComponent,
790
- ): MentionableSelectMenuBuilder;
791
- }
792
-
793
- export class ChannelSelectMenuBuilder extends BuilderChannelSelectMenuComponent {
794
- public constructor(data?: Partial<ChannelSelectMenuComponentData | APIChannelSelectComponent>);
795
- public static from(
796
- other: JSONEncodable<APIChannelSelectComponent> | APIChannelSelectComponent,
797
- ): ChannelSelectMenuBuilder;
798
- }
799
-
800
- export class StringSelectMenuOptionBuilder extends BuildersSelectMenuOption {
801
- public constructor(data?: SelectMenuComponentOptionData | APISelectMenuOption);
802
- public override setEmoji(emoji: ComponentEmojiResolvable): this;
803
- public static from(other: JSONEncodable<APISelectMenuOption> | APISelectMenuOption): StringSelectMenuOptionBuilder;
804
- }
805
-
806
- export class ModalBuilder extends BuildersModal {
807
- public constructor(data?: Partial<ModalComponentData> | Partial<APIModalInteractionResponseCallbackData>);
808
- public static from(
809
- other: JSONEncodable<APIModalInteractionResponseCallbackData> | APIModalInteractionResponseCallbackData,
810
- ): ModalBuilder;
811
- }
812
-
813
- export class TextInputBuilder extends BuilderTextInputComponent {
814
- public constructor(data?: Partial<TextInputComponentData | APITextInputComponent>);
815
- public static from(other: JSONEncodable<APITextInputComponent> | APITextInputComponent): TextInputBuilder;
816
- }
817
-
818
721
  export class TextInputComponent extends Component<APITextInputComponent> {
819
722
  public get customId(): string;
820
723
  public get value(): string;
@@ -872,13 +775,6 @@ export interface EmbedAssetData extends Omit<APIEmbedImage, 'proxy_url'> {
872
775
  proxyURL?: string;
873
776
  }
874
777
 
875
- export class EmbedBuilder extends BuildersEmbed {
876
- public constructor(data?: EmbedData | APIEmbed);
877
- public override setColor(color: ColorResolvable | null): this;
878
- public static from(other: JSONEncodable<APIEmbed> | APIEmbed): EmbedBuilder;
879
- public get length(): number;
880
- }
881
-
882
778
  export class Embed {
883
779
  private constructor(data: APIEmbed);
884
780
  public readonly data: Readonly<APIEmbed>;
@@ -3508,9 +3404,7 @@ export function moveElementInArray(
3508
3404
  ): number;
3509
3405
  export function parseEmoji(text: string): PartialEmoji | null;
3510
3406
  export function resolveColor(color: ColorResolvable): number;
3511
- /** @internal */
3512
3407
  export function resolvePartialEmoji(emoji: Snowflake): PartialEmojiOnlyId;
3513
- /** @internal */
3514
3408
  export function resolvePartialEmoji(emoji: Emoji | EmojiIdentifierResolvable): PartialEmoji | null;
3515
3409
  /** @internal */
3516
3410
  export function resolveGuildEmoji(client: Client, emojiId: Snowflake): GuildEmoji | null;
@@ -6266,16 +6160,6 @@ export interface MessageCollectorOptions extends CollectorOptions<[Message, Coll
6266
6160
  maxProcessed?: number;
6267
6161
  }
6268
6162
 
6269
- export type MessageComponent =
6270
- | Component
6271
- | ActionRowBuilder<MessageActionRowComponentBuilder | ModalActionRowComponentBuilder>
6272
- | ButtonComponent
6273
- | StringSelectMenuComponent
6274
- | UserSelectMenuComponent
6275
- | RoleSelectMenuComponent
6276
- | MentionableSelectMenuComponent
6277
- | ChannelSelectMenuComponent;
6278
-
6279
6163
  export type CollectedMessageInteraction<Cached extends CacheType = CacheType> = Exclude<
6280
6164
  CollectedInteraction<Cached>,
6281
6165
  ModalSubmitInteraction
@@ -6346,9 +6230,9 @@ export interface BaseMessageOptions {
6346
6230
  | AttachmentPayload
6347
6231
  )[];
6348
6232
  components?: readonly (
6349
- | JSONEncodable<APIActionRowComponent<APIMessageActionRowComponent>>
6233
+ | JSONEncodable<APIActionRowComponent<APIActionRowComponentTypes>>
6350
6234
  | ActionRowData<MessageActionRowComponentData | MessageActionRowComponentBuilder>
6351
- | APIActionRowComponent<APIMessageActionRowComponent>
6235
+ | APIActionRowComponent<APIActionRowComponentTypes>
6352
6236
  )[];
6353
6237
  }
6354
6238
 
@@ -6907,6 +6791,7 @@ export interface WebhookEditOptions {
6907
6791
 
6908
6792
  export interface WebhookMessageEditOptions extends MessageEditOptions {
6909
6793
  threadId?: Snowflake;
6794
+ withComponents?: boolean;
6910
6795
  }
6911
6796
 
6912
6797
  export interface InteractionEditReplyOptions
@@ -6926,6 +6811,7 @@ export interface WebhookMessageCreateOptions
6926
6811
  threadId?: Snowflake;
6927
6812
  threadName?: string;
6928
6813
  appliedTags?: readonly Snowflake[];
6814
+ withComponents?: boolean;
6929
6815
  }
6930
6816
 
6931
6817
  export interface WidgetActivity {