discord.js 15.0.0-dev.1740701540-b6fda781c → 15.0.0-dev.1740746538-46be1567a

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.1740701540-b6fda781c",
4
+ "version": "15.0.0-dev.1740746538-46be1567a",
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,10 +59,11 @@
60
59
  "lodash.snakecase": "4.1.1",
61
60
  "tslib": "^2.8.1",
62
61
  "undici": "6.21.1",
62
+ "@discordjs/builders": "^1.9.0",
63
63
  "@discordjs/collection": "^2.1.1",
64
64
  "@discordjs/formatters": "^0.5.0",
65
- "@discordjs/rest": "^2.4.0",
66
65
  "@discordjs/util": "^1.1.1",
66
+ "@discordjs/rest": "^2.4.0",
67
67
  "@discordjs/ws": "^2.0.0"
68
68
  },
69
69
  "devDependencies": {
@@ -81,9 +81,9 @@
81
81
  "tslint": "6.1.3",
82
82
  "turbo": "^2.3.3",
83
83
  "typescript": "~5.5.4",
84
- "@discordjs/api-extractor": "^7.38.1",
84
+ "@discordjs/docgen": "^0.12.1",
85
85
  "@discordjs/scripts": "^0.1.0",
86
- "@discordjs/docgen": "^0.12.1"
86
+ "@discordjs/api-extractor": "^7.38.1"
87
87
  },
88
88
  "engines": {
89
89
  "node": ">=22.12.0"
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;
@@ -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;
@@ -192,17 +191,19 @@ class MessagePayload {
192
191
 
193
192
  let poll;
194
193
  if (this.options.poll) {
195
- poll = {
196
- question: {
197
- text: this.options.poll.question.text,
198
- },
199
- answers: this.options.poll.answers.map(answer => ({
200
- poll_media: { text: answer.text, emoji: resolvePartialEmoji(answer.emoji) },
201
- })),
202
- duration: this.options.poll.duration,
203
- allow_multiselect: this.options.poll.allowMultiselect,
204
- layout_type: this.options.poll.layoutType,
205
- };
194
+ poll = isJSONEncodable(this.options.poll)
195
+ ? this.options.poll.toJSON()
196
+ : {
197
+ question: {
198
+ text: this.options.poll.question.text,
199
+ },
200
+ answers: this.options.poll.answers.map(answer => ({
201
+ poll_media: { text: answer.text, emoji: resolvePartialEmoji(answer.emoji) },
202
+ })),
203
+ duration: this.options.poll.duration,
204
+ allow_multiselect: this.options.poll.allowMultiselect,
205
+ layout_type: this.options.poll.layoutType,
206
+ };
206
207
  }
207
208
 
208
209
  this.body = {
@@ -1,72 +1,7 @@
1
1
  'use strict';
2
2
 
3
- const { ComponentBuilder } = require('@discordjs/builders');
4
3
  const { ComponentType } = require('discord-api-types/v10');
5
4
 
6
- /**
7
- * @typedef {Object} BaseComponentData
8
- * @property {ComponentType} type The type of component
9
- */
10
-
11
- /**
12
- * @typedef {BaseComponentData} ActionRowData
13
- * @property {ComponentData[]} components The components in this action row
14
- */
15
-
16
- /**
17
- * @typedef {BaseComponentData} ButtonComponentData
18
- * @property {ButtonStyle} style The style of the button
19
- * @property {?boolean} disabled Whether this button is disabled
20
- * @property {string} label The label of this button
21
- * @property {?APIMessageComponentEmoji} emoji The emoji on this button
22
- * @property {?string} customId The custom id of the button
23
- * @property {?string} url The URL of the button
24
- */
25
-
26
- /**
27
- * @typedef {object} SelectMenuComponentOptionData
28
- * @property {string} label The label of the option
29
- * @property {string} value The value of the option
30
- * @property {?string} description The description of the option
31
- * @property {?APIMessageComponentEmoji} emoji The emoji on the option
32
- * @property {?boolean} default Whether this option is selected by default
33
- */
34
-
35
- /**
36
- * @typedef {BaseComponentData} SelectMenuComponentData
37
- * @property {string} customId The custom id of the select menu
38
- * @property {?boolean} disabled Whether the select menu is disabled or not
39
- * @property {?number} maxValues The maximum amount of options that can be selected
40
- * @property {?number} minValues The minimum amount of options that can be selected
41
- * @property {?SelectMenuComponentOptionData[]} options The options in this select menu
42
- * @property {?string} placeholder The placeholder of the select menu
43
- */
44
-
45
- /**
46
- * @typedef {ActionRowData|ButtonComponentData|SelectMenuComponentData} MessageComponentData
47
- */
48
-
49
- /**
50
- * @typedef {BaseComponentData} TextInputComponentData
51
- * @property {string} customId The custom id of the text input
52
- * @property {TextInputStyle} style The style of the text input
53
- * @property {string} label The text that appears on top of the text input field
54
- * @property {?number} minLength The minimum number of characters that can be entered in the text input
55
- * @property {?number} maxLength The maximum number of characters that can be entered in the text input
56
- * @property {?boolean} required Whether or not the text input is required or not
57
- * @property {?string} value The pre-filled text in the text input
58
- * @property {?string} placeholder Placeholder for the text input
59
- */
60
-
61
- /**
62
- * @typedef {ActionRowData|ButtonComponentData|SelectMenuComponentData|TextInputComponentData} ComponentData
63
- */
64
-
65
- /**
66
- * Any emoji data that can be used within a button
67
- * @typedef {APIMessageComponentEmoji|string} ComponentEmojiResolvable
68
- */
69
-
70
5
  /**
71
6
  * Transforms API data into a component
72
7
  * @param {APIMessageComponent|Component} data The data to create the component from
@@ -100,56 +35,14 @@ function createComponent(data) {
100
35
  }
101
36
  }
102
37
 
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
38
  exports.createComponent = createComponent;
137
- exports.createComponentBuilder = createComponentBuilder;
138
39
 
139
40
  const { ActionRow } = require('../structures/ActionRow.js');
140
- const { ActionRowBuilder } = require('../structures/ActionRowBuilder.js');
141
- const { ButtonBuilder } = require('../structures/ButtonBuilder.js');
142
41
  const { ButtonComponent } = require('../structures/ButtonComponent.js');
143
- const { ChannelSelectMenuBuilder } = require('../structures/ChannelSelectMenuBuilder.js');
144
42
  const { ChannelSelectMenuComponent } = require('../structures/ChannelSelectMenuComponent.js');
145
43
  const { Component } = require('../structures/Component.js');
146
- const { MentionableSelectMenuBuilder } = require('../structures/MentionableSelectMenuBuilder.js');
147
44
  const { MentionableSelectMenuComponent } = require('../structures/MentionableSelectMenuComponent.js');
148
- const { RoleSelectMenuBuilder } = require('../structures/RoleSelectMenuBuilder.js');
149
45
  const { RoleSelectMenuComponent } = require('../structures/RoleSelectMenuComponent.js');
150
- const { StringSelectMenuBuilder } = require('../structures/StringSelectMenuBuilder.js');
151
46
  const { StringSelectMenuComponent } = require('../structures/StringSelectMenuComponent.js');
152
- const { TextInputBuilder } = require('../structures/TextInputBuilder.js');
153
47
  const { TextInputComponent } = require('../structures/TextInputComponent.js');
154
- const { UserSelectMenuBuilder } = require('../structures/UserSelectMenuBuilder.js');
155
48
  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';
@@ -176,6 +158,7 @@ import {
176
158
  RESTAPIInteractionCallbackActivityInstanceResource,
177
159
  VoiceChannelEffectSendAnimationType,
178
160
  GatewayVoiceChannelEffectSendDispatchData,
161
+ RESTAPIPoll,
179
162
  } from 'discord-api-types/v10';
180
163
  import { ChildProcess } from 'node:child_process';
181
164
  import { Stream } from 'node:stream';
@@ -236,6 +219,7 @@ import {
236
219
  RawWidgetData,
237
220
  RawWidgetMemberData,
238
221
  } from './rawDataTypes.mjs';
222
+ import { ApplicationCommandOptionAllowedChannelTypes, MessageActionRowComponentBuilder } from '@discordjs/builders';
239
223
 
240
224
  //#region Classes
241
225
 
@@ -293,22 +277,6 @@ export interface ActionRowData<ComponentType extends JSONEncodable<APIActionRowC
293
277
  components: readonly ComponentType[];
294
278
  }
295
279
 
296
- export class ActionRowBuilder<
297
- ComponentType extends AnyComponentBuilder = AnyComponentBuilder,
298
- > extends BuilderActionRow<ComponentType> {
299
- public constructor(
300
- data?: Partial<
301
- | ActionRowData<ActionRowComponentData | JSONEncodable<APIActionRowComponentTypes>>
302
- | APIActionRowComponent<APIMessageActionRowComponent | APIModalActionRowComponent>
303
- >,
304
- );
305
- public static from<ComponentType extends AnyComponentBuilder = AnyComponentBuilder>(
306
- other:
307
- | JSONEncodable<APIActionRowComponent<ReturnType<ComponentType['toJSON']>>>
308
- | APIActionRowComponent<ReturnType<ComponentType['toJSON']>>,
309
- ): ActionRowBuilder<ComponentType>;
310
- }
311
-
312
280
  export type MessageActionRowComponent =
313
281
  | ButtonComponent
314
282
  | StringSelectMenuComponent
@@ -750,70 +718,6 @@ export class ButtonComponent extends Component<APIButtonComponent> {
750
718
 
751
719
  export type ComponentEmojiResolvable = APIMessageComponentEmoji | string;
752
720
 
753
- export class ButtonBuilder extends BuilderButtonComponent {
754
- public constructor(data?: Partial<ButtonComponentData> | Partial<APIButtonComponent>);
755
- public static from(other: JSONEncodable<APIButtonComponent> | APIButtonComponent): ButtonBuilder;
756
- public override setEmoji(emoji: ComponentEmojiResolvable): this;
757
- }
758
-
759
- export class StringSelectMenuBuilder extends BuilderStringSelectMenuComponent {
760
- public constructor(data?: Partial<StringSelectMenuComponentData | APIStringSelectComponent>);
761
- private static normalizeEmoji(
762
- selectMenuOption: JSONEncodable<APISelectMenuOption> | SelectMenuComponentOptionData,
763
- ): (APISelectMenuOption | StringSelectMenuOptionBuilder)[];
764
- public override addOptions(
765
- ...options: RestOrArray<BuildersSelectMenuOption | SelectMenuComponentOptionData | APISelectMenuOption>
766
- ): this;
767
- public override setOptions(
768
- ...options: RestOrArray<BuildersSelectMenuOption | SelectMenuComponentOptionData | APISelectMenuOption>
769
- ): this;
770
- public static from(
771
- other: JSONEncodable<APIStringSelectComponent> | APIStringSelectComponent,
772
- ): StringSelectMenuBuilder;
773
- }
774
-
775
- export class UserSelectMenuBuilder extends BuilderUserSelectMenuComponent {
776
- public constructor(data?: Partial<UserSelectMenuComponentData | APIUserSelectComponent>);
777
- public static from(other: JSONEncodable<APIUserSelectComponent> | APIUserSelectComponent): UserSelectMenuBuilder;
778
- }
779
-
780
- export class RoleSelectMenuBuilder extends BuilderRoleSelectMenuComponent {
781
- public constructor(data?: Partial<RoleSelectMenuComponentData | APIRoleSelectComponent>);
782
- public static from(other: JSONEncodable<APIRoleSelectComponent> | APIRoleSelectComponent): RoleSelectMenuBuilder;
783
- }
784
-
785
- export class MentionableSelectMenuBuilder extends BuilderMentionableSelectMenuComponent {
786
- public constructor(data?: Partial<MentionableSelectMenuComponentData | APIMentionableSelectComponent>);
787
- public static from(
788
- other: JSONEncodable<APIMentionableSelectComponent> | APIMentionableSelectComponent,
789
- ): MentionableSelectMenuBuilder;
790
- }
791
-
792
- export class ChannelSelectMenuBuilder extends BuilderChannelSelectMenuComponent {
793
- public constructor(data?: Partial<ChannelSelectMenuComponentData | APIChannelSelectComponent>);
794
- public static from(
795
- other: JSONEncodable<APIChannelSelectComponent> | APIChannelSelectComponent,
796
- ): ChannelSelectMenuBuilder;
797
- }
798
-
799
- export class StringSelectMenuOptionBuilder extends BuildersSelectMenuOption {
800
- public constructor(data?: SelectMenuComponentOptionData | APISelectMenuOption);
801
- public override setEmoji(emoji: ComponentEmojiResolvable): this;
802
- public static from(other: JSONEncodable<APISelectMenuOption> | APISelectMenuOption): StringSelectMenuOptionBuilder;
803
- }
804
-
805
- export class ModalBuilder extends BuildersModal {
806
- public constructor(data?: Partial<ModalComponentData> | Partial<APIModalInteractionResponseCallbackData>);
807
- public static from(
808
- other: JSONEncodable<APIModalInteractionResponseCallbackData> | APIModalInteractionResponseCallbackData,
809
- ): ModalBuilder;
810
- }
811
-
812
- export class TextInputBuilder extends BuilderTextInputComponent {
813
- public constructor(data?: Partial<TextInputComponentData | APITextInputComponent>);
814
- public static from(other: JSONEncodable<APITextInputComponent> | APITextInputComponent): TextInputBuilder;
815
- }
816
-
817
721
  export class TextInputComponent extends Component<APITextInputComponent> {
818
722
  public get customId(): string;
819
723
  public get value(): string;
@@ -871,13 +775,6 @@ export interface EmbedAssetData extends Omit<APIEmbedImage, 'proxy_url'> {
871
775
  proxyURL?: string;
872
776
  }
873
777
 
874
- export class EmbedBuilder extends BuildersEmbed {
875
- public constructor(data?: EmbedData | APIEmbed);
876
- public override setColor(color: ColorResolvable | null): this;
877
- public static from(other: JSONEncodable<APIEmbed> | APIEmbed): EmbedBuilder;
878
- public get length(): number;
879
- }
880
-
881
778
  export class Embed {
882
779
  private constructor(data: APIEmbed);
883
780
  public readonly data: Readonly<APIEmbed>;
@@ -3507,9 +3404,7 @@ export function moveElementInArray(
3507
3404
  ): number;
3508
3405
  export function parseEmoji(text: string): PartialEmoji | null;
3509
3406
  export function resolveColor(color: ColorResolvable): number;
3510
- /** @internal */
3511
3407
  export function resolvePartialEmoji(emoji: Snowflake): PartialEmojiOnlyId;
3512
- /** @internal */
3513
3408
  export function resolvePartialEmoji(emoji: Emoji | EmojiIdentifierResolvable): PartialEmoji | null;
3514
3409
  /** @internal */
3515
3410
  export function resolveGuildEmoji(client: Client, emojiId: Snowflake): GuildEmoji | null;
@@ -6265,16 +6160,6 @@ export interface MessageCollectorOptions extends CollectorOptions<[Message, Coll
6265
6160
  maxProcessed?: number;
6266
6161
  }
6267
6162
 
6268
- export type MessageComponent =
6269
- | Component
6270
- | ActionRowBuilder<MessageActionRowComponentBuilder | ModalActionRowComponentBuilder>
6271
- | ButtonComponent
6272
- | StringSelectMenuComponent
6273
- | UserSelectMenuComponent
6274
- | RoleSelectMenuComponent
6275
- | MentionableSelectMenuComponent
6276
- | ChannelSelectMenuComponent;
6277
-
6278
6163
  export type CollectedMessageInteraction<Cached extends CacheType = CacheType> = Exclude<
6279
6164
  CollectedInteraction<Cached>,
6280
6165
  ModalSubmitInteraction
@@ -6345,14 +6230,14 @@ export interface BaseMessageOptions {
6345
6230
  | AttachmentPayload
6346
6231
  )[];
6347
6232
  components?: readonly (
6348
- | JSONEncodable<APIActionRowComponent<APIMessageActionRowComponent>>
6233
+ | JSONEncodable<APIActionRowComponent<APIActionRowComponentTypes>>
6349
6234
  | ActionRowData<MessageActionRowComponentData | MessageActionRowComponentBuilder>
6350
6235
  | APIActionRowComponent<APIMessageActionRowComponent>
6351
6236
  )[];
6352
6237
  }
6353
6238
 
6354
6239
  export interface BaseMessageOptionsWithPoll extends BaseMessageOptions {
6355
- poll?: PollData;
6240
+ poll?: JSONEncodable<RESTAPIPoll> | PollData;
6356
6241
  }
6357
6242
 
6358
6243
  export interface MessageCreateOptions extends BaseMessageOptionsWithPoll {