@discordjs/builders 2.0.0-dev.1761134503-697556fd1 → 2.0.0-djs-file-upload.1761302390-5ae769c9e

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/dist/index.js CHANGED
@@ -57,6 +57,7 @@ __export(index_exports, {
57
57
  EmbedFooterBuilder: () => EmbedFooterBuilder,
58
58
  EmojiOrLabelButtonMixin: () => EmojiOrLabelButtonMixin,
59
59
  FileBuilder: () => FileBuilder,
60
+ FileUploadBuilder: () => FileUploadBuilder,
60
61
  LabelBuilder: () => LabelBuilder,
61
62
  LinkButtonBuilder: () => LinkButtonBuilder,
62
63
  MediaGalleryBuilder: () => MediaGalleryBuilder,
@@ -111,6 +112,7 @@ __export(index_exports, {
111
112
  emojiPredicate: () => emojiPredicate,
112
113
  enableValidators: () => enableValidators,
113
114
  filePredicate: () => filePredicate,
115
+ fileUploadPredicate: () => fileUploadPredicate,
114
116
  idPredicate: () => idPredicate,
115
117
  integerOptionPredicate: () => integerOptionPredicate,
116
118
  isValidationEnabled: () => isValidationEnabled,
@@ -526,8 +528,119 @@ var PremiumButtonBuilder = class extends BaseButtonBuilder {
526
528
  }
527
529
  };
528
530
 
531
+ // src/components/fileUpload/FileUpload.ts
532
+ var import_v107 = require("discord-api-types/v10");
533
+
534
+ // src/components/fileUpload/Assertions.ts
535
+ var import_v106 = require("discord-api-types/v10");
536
+ var import_zod4 = require("zod");
537
+ var fileUploadPredicate = import_zod4.z.object({
538
+ type: import_zod4.z.literal(import_v106.ComponentType.FileUpload),
539
+ id: import_zod4.z.int().min(0).optional(),
540
+ custom_id: customIdPredicate,
541
+ min_values: import_zod4.z.int().min(0).max(10).optional(),
542
+ max_values: import_zod4.z.int().min(1).max(10).optional(),
543
+ required: import_zod4.z.boolean().optional()
544
+ });
545
+
546
+ // src/components/fileUpload/FileUpload.ts
547
+ var FileUploadBuilder = class extends ComponentBuilder {
548
+ static {
549
+ __name(this, "FileUploadBuilder");
550
+ }
551
+ /**
552
+ * @internal
553
+ */
554
+ data;
555
+ /**
556
+ * Creates a new file upload.
557
+ *
558
+ * @param data - The API data to create this file upload with
559
+ * @example
560
+ * Creating a file upload from an API data object:
561
+ * ```ts
562
+ * const fileUpload = new FileUploadBuilder({
563
+ * custom_id: "file_upload",
564
+ * min_values: 2,
565
+ * max_values: 5,
566
+ * });
567
+ * ```
568
+ * @example
569
+ * Creating a file upload using setters and API data:
570
+ * ```ts
571
+ * const fileUpload = new FileUploadBuilder({
572
+ * custom_id: "file_upload",
573
+ * min_values: 2,
574
+ * max_values: 5,
575
+ * }).setRequired();
576
+ * ```
577
+ */
578
+ constructor(data = {}) {
579
+ super();
580
+ this.data = { ...structuredClone(data), type: import_v107.ComponentType.FileUpload };
581
+ }
582
+ /**
583
+ * Sets the custom id for this file upload.
584
+ *
585
+ * @param customId - The custom id to use
586
+ */
587
+ setCustomId(customId) {
588
+ this.data.custom_id = customId;
589
+ return this;
590
+ }
591
+ /**
592
+ * Sets the minimum number of file uploads required.
593
+ *
594
+ * @param minValues - The minimum values that must be uploaded
595
+ */
596
+ setMinValues(minValues) {
597
+ this.data.min_values = minValues;
598
+ return this;
599
+ }
600
+ /**
601
+ * Clears the minimum values.
602
+ */
603
+ clearMinValues() {
604
+ this.data.min_values = void 0;
605
+ return this;
606
+ }
607
+ /**
608
+ * Sets the maximum number of file uploads required.
609
+ *
610
+ * @param maxValues - The maximum values that must be uploaded
611
+ */
612
+ setMaxValues(maxValues) {
613
+ this.data.max_values = maxValues;
614
+ return this;
615
+ }
616
+ /**
617
+ * Clears the maximum values.
618
+ */
619
+ clearMaxValues() {
620
+ this.data.max_values = void 0;
621
+ return this;
622
+ }
623
+ /**
624
+ * Sets whether this file upload is required.
625
+ *
626
+ * @param required - Whether this file upload is required
627
+ */
628
+ setRequired(required = true) {
629
+ this.data.required = required;
630
+ return this;
631
+ }
632
+ /**
633
+ * {@inheritDoc ComponentBuilder.toJSON}
634
+ */
635
+ toJSON(validationOverride) {
636
+ const clone = structuredClone(this.data);
637
+ validate(fileUploadPredicate, clone, validationOverride);
638
+ return clone;
639
+ }
640
+ };
641
+
529
642
  // src/components/label/Label.ts
530
- var import_v1024 = require("discord-api-types/v10");
643
+ var import_v1026 = require("discord-api-types/v10");
531
644
 
532
645
  // src/util/resolveBuilder.ts
533
646
  function isBuilder(builder, Constructor) {
@@ -546,10 +659,10 @@ function resolveBuilder(builder, Constructor) {
546
659
  __name(resolveBuilder, "resolveBuilder");
547
660
 
548
661
  // src/components/Components.ts
549
- var import_v1022 = require("discord-api-types/v10");
662
+ var import_v1024 = require("discord-api-types/v10");
550
663
 
551
664
  // src/components/ActionRow.ts
552
- var import_v1013 = require("discord-api-types/v10");
665
+ var import_v1015 = require("discord-api-types/v10");
553
666
 
554
667
  // src/util/normalizeArray.ts
555
668
  function normalizeArray(arr) {
@@ -559,7 +672,7 @@ function normalizeArray(arr) {
559
672
  __name(normalizeArray, "normalizeArray");
560
673
 
561
674
  // src/components/selectMenu/ChannelSelectMenu.ts
562
- var import_v106 = require("discord-api-types/v10");
675
+ var import_v108 = require("discord-api-types/v10");
563
676
 
564
677
  // src/components/selectMenu/BaseSelectMenu.ts
565
678
  var BaseSelectMenuBuilder = class extends ComponentBuilder {
@@ -661,7 +774,7 @@ var ChannelSelectMenuBuilder = class extends BaseSelectMenuBuilder {
661
774
  */
662
775
  constructor(data = {}) {
663
776
  super();
664
- this.data = { ...structuredClone(data), type: import_v106.ComponentType.ChannelSelect };
777
+ this.data = { ...structuredClone(data), type: import_v108.ComponentType.ChannelSelect };
665
778
  }
666
779
  /**
667
780
  * Adds channel types to this select menu.
@@ -696,7 +809,7 @@ var ChannelSelectMenuBuilder = class extends BaseSelectMenuBuilder {
696
809
  this.data.default_values.push(
697
810
  ...normalizedValues.map((id) => ({
698
811
  id,
699
- type: import_v106.SelectMenuDefaultValueType.Channel
812
+ type: import_v108.SelectMenuDefaultValueType.Channel
700
813
  }))
701
814
  );
702
815
  return this;
@@ -710,7 +823,7 @@ var ChannelSelectMenuBuilder = class extends BaseSelectMenuBuilder {
710
823
  const normalizedValues = normalizeArray(channels);
711
824
  this.data.default_values = normalizedValues.map((id) => ({
712
825
  id,
713
- type: import_v106.SelectMenuDefaultValueType.Channel
826
+ type: import_v108.SelectMenuDefaultValueType.Channel
714
827
  }));
715
828
  return this;
716
829
  }
@@ -725,7 +838,7 @@ var ChannelSelectMenuBuilder = class extends BaseSelectMenuBuilder {
725
838
  };
726
839
 
727
840
  // src/components/selectMenu/MentionableSelectMenu.ts
728
- var import_v107 = require("discord-api-types/v10");
841
+ var import_v109 = require("discord-api-types/v10");
729
842
  var MentionableSelectMenuBuilder = class extends BaseSelectMenuBuilder {
730
843
  static {
731
844
  __name(this, "MentionableSelectMenuBuilder");
@@ -755,7 +868,7 @@ var MentionableSelectMenuBuilder = class extends BaseSelectMenuBuilder {
755
868
  */
756
869
  constructor(data = {}) {
757
870
  super();
758
- this.data = { ...structuredClone(data), type: import_v107.ComponentType.MentionableSelect };
871
+ this.data = { ...structuredClone(data), type: import_v109.ComponentType.MentionableSelect };
759
872
  }
760
873
  /**
761
874
  * Adds default roles to this auto populated select menu.
@@ -768,7 +881,7 @@ var MentionableSelectMenuBuilder = class extends BaseSelectMenuBuilder {
768
881
  this.data.default_values.push(
769
882
  ...normalizedValues.map((id) => ({
770
883
  id,
771
- type: import_v107.SelectMenuDefaultValueType.Role
884
+ type: import_v109.SelectMenuDefaultValueType.Role
772
885
  }))
773
886
  );
774
887
  return this;
@@ -784,7 +897,7 @@ var MentionableSelectMenuBuilder = class extends BaseSelectMenuBuilder {
784
897
  this.data.default_values.push(
785
898
  ...normalizedValues.map((id) => ({
786
899
  id,
787
- type: import_v107.SelectMenuDefaultValueType.User
900
+ type: import_v109.SelectMenuDefaultValueType.User
788
901
  }))
789
902
  );
790
903
  return this;
@@ -821,7 +934,7 @@ var MentionableSelectMenuBuilder = class extends BaseSelectMenuBuilder {
821
934
  };
822
935
 
823
936
  // src/components/selectMenu/RoleSelectMenu.ts
824
- var import_v108 = require("discord-api-types/v10");
937
+ var import_v1010 = require("discord-api-types/v10");
825
938
  var RoleSelectMenuBuilder = class extends BaseSelectMenuBuilder {
826
939
  static {
827
940
  __name(this, "RoleSelectMenuBuilder");
@@ -851,7 +964,7 @@ var RoleSelectMenuBuilder = class extends BaseSelectMenuBuilder {
851
964
  */
852
965
  constructor(data = {}) {
853
966
  super();
854
- this.data = { ...structuredClone(data), type: import_v108.ComponentType.RoleSelect };
967
+ this.data = { ...structuredClone(data), type: import_v1010.ComponentType.RoleSelect };
855
968
  }
856
969
  /**
857
970
  * Adds default roles to this auto populated select menu.
@@ -864,7 +977,7 @@ var RoleSelectMenuBuilder = class extends BaseSelectMenuBuilder {
864
977
  this.data.default_values.push(
865
978
  ...normalizedValues.map((id) => ({
866
979
  id,
867
- type: import_v108.SelectMenuDefaultValueType.Role
980
+ type: import_v1010.SelectMenuDefaultValueType.Role
868
981
  }))
869
982
  );
870
983
  return this;
@@ -878,7 +991,7 @@ var RoleSelectMenuBuilder = class extends BaseSelectMenuBuilder {
878
991
  const normalizedValues = normalizeArray(roles);
879
992
  this.data.default_values = normalizedValues.map((id) => ({
880
993
  id,
881
- type: import_v108.SelectMenuDefaultValueType.Role
994
+ type: import_v1010.SelectMenuDefaultValueType.Role
882
995
  }));
883
996
  return this;
884
997
  }
@@ -893,7 +1006,7 @@ var RoleSelectMenuBuilder = class extends BaseSelectMenuBuilder {
893
1006
  };
894
1007
 
895
1008
  // src/components/selectMenu/StringSelectMenu.ts
896
- var import_v109 = require("discord-api-types/v10");
1009
+ var import_v1011 = require("discord-api-types/v10");
897
1010
 
898
1011
  // src/components/selectMenu/StringSelectMenuOption.ts
899
1012
  var StringSelectMenuOptionBuilder = class {
@@ -1044,7 +1157,7 @@ var StringSelectMenuBuilder = class extends BaseSelectMenuBuilder {
1044
1157
  this.data = {
1045
1158
  ...structuredClone(rest),
1046
1159
  options: options.map((option) => new StringSelectMenuOptionBuilder(option)),
1047
- type: import_v109.ComponentType.StringSelect
1160
+ type: import_v1011.ComponentType.StringSelect
1048
1161
  };
1049
1162
  }
1050
1163
  /**
@@ -1115,7 +1228,7 @@ var StringSelectMenuBuilder = class extends BaseSelectMenuBuilder {
1115
1228
  };
1116
1229
 
1117
1230
  // src/components/selectMenu/UserSelectMenu.ts
1118
- var import_v1010 = require("discord-api-types/v10");
1231
+ var import_v1012 = require("discord-api-types/v10");
1119
1232
  var UserSelectMenuBuilder = class extends BaseSelectMenuBuilder {
1120
1233
  static {
1121
1234
  __name(this, "UserSelectMenuBuilder");
@@ -1145,7 +1258,7 @@ var UserSelectMenuBuilder = class extends BaseSelectMenuBuilder {
1145
1258
  */
1146
1259
  constructor(data = {}) {
1147
1260
  super();
1148
- this.data = { ...structuredClone(data), type: import_v1010.ComponentType.UserSelect };
1261
+ this.data = { ...structuredClone(data), type: import_v1012.ComponentType.UserSelect };
1149
1262
  }
1150
1263
  /**
1151
1264
  * Adds default users to this auto populated select menu.
@@ -1158,7 +1271,7 @@ var UserSelectMenuBuilder = class extends BaseSelectMenuBuilder {
1158
1271
  this.data.default_values.push(
1159
1272
  ...normalizedValues.map((id) => ({
1160
1273
  id,
1161
- type: import_v1010.SelectMenuDefaultValueType.User
1274
+ type: import_v1012.SelectMenuDefaultValueType.User
1162
1275
  }))
1163
1276
  );
1164
1277
  return this;
@@ -1172,7 +1285,7 @@ var UserSelectMenuBuilder = class extends BaseSelectMenuBuilder {
1172
1285
  const normalizedValues = normalizeArray(users);
1173
1286
  this.data.default_values = normalizedValues.map((id) => ({
1174
1287
  id,
1175
- type: import_v1010.SelectMenuDefaultValueType.User
1288
+ type: import_v1012.SelectMenuDefaultValueType.User
1176
1289
  }));
1177
1290
  return this;
1178
1291
  }
@@ -1187,21 +1300,21 @@ var UserSelectMenuBuilder = class extends BaseSelectMenuBuilder {
1187
1300
  };
1188
1301
 
1189
1302
  // src/components/textInput/TextInput.ts
1190
- var import_v1012 = require("discord-api-types/v10");
1303
+ var import_v1014 = require("discord-api-types/v10");
1191
1304
 
1192
1305
  // src/components/textInput/Assertions.ts
1193
- var import_v1011 = require("discord-api-types/v10");
1194
- var import_zod4 = require("zod");
1195
- var textInputPredicate = import_zod4.z.object({
1306
+ var import_v1013 = require("discord-api-types/v10");
1307
+ var import_zod5 = require("zod");
1308
+ var textInputPredicate = import_zod5.z.object({
1196
1309
  id: idPredicate,
1197
- type: import_zod4.z.literal(import_v1011.ComponentType.TextInput),
1310
+ type: import_zod5.z.literal(import_v1013.ComponentType.TextInput),
1198
1311
  custom_id: customIdPredicate,
1199
- style: import_zod4.z.enum(import_v1011.TextInputStyle),
1200
- min_length: import_zod4.z.number().min(0).max(4e3).optional(),
1201
- max_length: import_zod4.z.number().min(1).max(4e3).optional(),
1202
- placeholder: import_zod4.z.string().max(100).optional(),
1203
- value: import_zod4.z.string().min(0).max(4e3).optional(),
1204
- required: import_zod4.z.boolean().optional()
1312
+ style: import_zod5.z.enum(import_v1013.TextInputStyle),
1313
+ min_length: import_zod5.z.number().min(0).max(4e3).optional(),
1314
+ max_length: import_zod5.z.number().min(1).max(4e3).optional(),
1315
+ placeholder: import_zod5.z.string().max(100).optional(),
1316
+ value: import_zod5.z.string().min(0).max(4e3).optional(),
1317
+ required: import_zod5.z.boolean().optional()
1205
1318
  });
1206
1319
 
1207
1320
  // src/components/textInput/TextInput.ts
@@ -1238,7 +1351,7 @@ var TextInputBuilder = class extends ComponentBuilder {
1238
1351
  */
1239
1352
  constructor(data = {}) {
1240
1353
  super();
1241
- this.data = { ...structuredClone(data), type: import_v1012.ComponentType.TextInput };
1354
+ this.data = { ...structuredClone(data), type: import_v1014.ComponentType.TextInput };
1242
1355
  }
1243
1356
  /**
1244
1357
  * Sets the custom id for this text input.
@@ -1396,7 +1509,7 @@ var ActionRowBuilder = class extends ComponentBuilder {
1396
1509
  this.data = {
1397
1510
  ...structuredClone(rest),
1398
1511
  components: components.map((component) => createComponentBuilder(component)),
1399
- type: import_v1013.ComponentType.ActionRow
1512
+ type: import_v1015.ComponentType.ActionRow
1400
1513
  };
1401
1514
  }
1402
1515
  /**
@@ -1572,66 +1685,66 @@ var ActionRowBuilder = class extends ComponentBuilder {
1572
1685
  };
1573
1686
 
1574
1687
  // src/components/v2/Container.ts
1575
- var import_v1021 = require("discord-api-types/v10");
1688
+ var import_v1023 = require("discord-api-types/v10");
1576
1689
 
1577
1690
  // src/components/v2/Assertions.ts
1578
- var import_v1014 = require("discord-api-types/v10");
1579
- var import_zod5 = require("zod");
1580
- var unfurledMediaItemPredicate = import_zod5.z.object({
1581
- url: import_zod5.z.url({ protocol: /^(?:https?|attachment)$/ })
1691
+ var import_v1016 = require("discord-api-types/v10");
1692
+ var import_zod6 = require("zod");
1693
+ var unfurledMediaItemPredicate = import_zod6.z.object({
1694
+ url: import_zod6.z.url({ protocol: /^(?:https?|attachment)$/ })
1582
1695
  });
1583
- var thumbnailPredicate = import_zod5.z.object({
1584
- type: import_zod5.z.literal(import_v1014.ComponentType.Thumbnail),
1696
+ var thumbnailPredicate = import_zod6.z.object({
1697
+ type: import_zod6.z.literal(import_v1016.ComponentType.Thumbnail),
1585
1698
  id: idPredicate,
1586
1699
  media: unfurledMediaItemPredicate,
1587
- description: import_zod5.z.string().min(1).max(1024).nullish(),
1588
- spoiler: import_zod5.z.boolean().optional()
1700
+ description: import_zod6.z.string().min(1).max(1024).nullish(),
1701
+ spoiler: import_zod6.z.boolean().optional()
1589
1702
  });
1590
- var unfurledMediaItemAttachmentOnlyPredicate = import_zod5.z.object({
1591
- url: import_zod5.z.url({ protocol: /^attachment$/ })
1703
+ var unfurledMediaItemAttachmentOnlyPredicate = import_zod6.z.object({
1704
+ url: import_zod6.z.url({ protocol: /^attachment$/ })
1592
1705
  });
1593
- var filePredicate = import_zod5.z.object({
1594
- type: import_zod5.z.literal(import_v1014.ComponentType.File),
1706
+ var filePredicate = import_zod6.z.object({
1707
+ type: import_zod6.z.literal(import_v1016.ComponentType.File),
1595
1708
  id: idPredicate,
1596
1709
  file: unfurledMediaItemAttachmentOnlyPredicate,
1597
- spoiler: import_zod5.z.boolean().optional()
1710
+ spoiler: import_zod6.z.boolean().optional()
1598
1711
  });
1599
- var separatorPredicate = import_zod5.z.object({
1600
- type: import_zod5.z.literal(import_v1014.ComponentType.Separator),
1712
+ var separatorPredicate = import_zod6.z.object({
1713
+ type: import_zod6.z.literal(import_v1016.ComponentType.Separator),
1601
1714
  id: idPredicate,
1602
- divider: import_zod5.z.boolean().optional(),
1603
- spacing: import_zod5.z.enum(import_v1014.SeparatorSpacingSize).optional()
1715
+ divider: import_zod6.z.boolean().optional(),
1716
+ spacing: import_zod6.z.enum(import_v1016.SeparatorSpacingSize).optional()
1604
1717
  });
1605
- var textDisplayPredicate = import_zod5.z.object({
1606
- type: import_zod5.z.literal(import_v1014.ComponentType.TextDisplay),
1718
+ var textDisplayPredicate = import_zod6.z.object({
1719
+ type: import_zod6.z.literal(import_v1016.ComponentType.TextDisplay),
1607
1720
  id: idPredicate,
1608
- content: import_zod5.z.string().min(1).max(4e3)
1721
+ content: import_zod6.z.string().min(1).max(4e3)
1609
1722
  });
1610
- var mediaGalleryItemPredicate = import_zod5.z.object({
1723
+ var mediaGalleryItemPredicate = import_zod6.z.object({
1611
1724
  id: idPredicate,
1612
1725
  media: unfurledMediaItemPredicate,
1613
- description: import_zod5.z.string().min(1).max(1024).nullish(),
1614
- spoiler: import_zod5.z.boolean().optional()
1726
+ description: import_zod6.z.string().min(1).max(1024).nullish(),
1727
+ spoiler: import_zod6.z.boolean().optional()
1615
1728
  });
1616
- var mediaGalleryPredicate = import_zod5.z.object({
1617
- type: import_zod5.z.literal(import_v1014.ComponentType.MediaGallery),
1729
+ var mediaGalleryPredicate = import_zod6.z.object({
1730
+ type: import_zod6.z.literal(import_v1016.ComponentType.MediaGallery),
1618
1731
  id: idPredicate,
1619
- items: import_zod5.z.array(mediaGalleryItemPredicate).min(1).max(10)
1732
+ items: import_zod6.z.array(mediaGalleryItemPredicate).min(1).max(10)
1620
1733
  });
1621
- var sectionPredicate = import_zod5.z.object({
1622
- type: import_zod5.z.literal(import_v1014.ComponentType.Section),
1734
+ var sectionPredicate = import_zod6.z.object({
1735
+ type: import_zod6.z.literal(import_v1016.ComponentType.Section),
1623
1736
  id: idPredicate,
1624
- components: import_zod5.z.array(textDisplayPredicate).min(1).max(3),
1625
- accessory: import_zod5.z.union([
1626
- import_zod5.z.object({ type: import_zod5.z.literal(import_v1014.ComponentType.Button) }),
1627
- import_zod5.z.object({ type: import_zod5.z.literal(import_v1014.ComponentType.Thumbnail) })
1737
+ components: import_zod6.z.array(textDisplayPredicate).min(1).max(3),
1738
+ accessory: import_zod6.z.union([
1739
+ import_zod6.z.object({ type: import_zod6.z.literal(import_v1016.ComponentType.Button) }),
1740
+ import_zod6.z.object({ type: import_zod6.z.literal(import_v1016.ComponentType.Thumbnail) })
1628
1741
  ])
1629
1742
  });
1630
- var containerPredicate = import_zod5.z.object({
1631
- type: import_zod5.z.literal(import_v1014.ComponentType.Container),
1743
+ var containerPredicate = import_zod6.z.object({
1744
+ type: import_zod6.z.literal(import_v1016.ComponentType.Container),
1632
1745
  id: idPredicate,
1633
- components: import_zod5.z.array(
1634
- import_zod5.z.union([
1746
+ components: import_zod6.z.array(
1747
+ import_zod6.z.union([
1635
1748
  actionRowPredicate,
1636
1749
  filePredicate,
1637
1750
  mediaGalleryPredicate,
@@ -1640,12 +1753,12 @@ var containerPredicate = import_zod5.z.object({
1640
1753
  textDisplayPredicate
1641
1754
  ])
1642
1755
  ).min(1),
1643
- spoiler: import_zod5.z.boolean().optional(),
1644
- accent_color: import_zod5.z.int().min(0).max(16777215).nullish()
1756
+ spoiler: import_zod6.z.boolean().optional(),
1757
+ accent_color: import_zod6.z.int().min(0).max(16777215).nullish()
1645
1758
  });
1646
1759
 
1647
1760
  // src/components/v2/File.ts
1648
- var import_v1015 = require("discord-api-types/v10");
1761
+ var import_v1017 = require("discord-api-types/v10");
1649
1762
  var FileBuilder = class extends ComponentBuilder {
1650
1763
  static {
1651
1764
  __name(this, "FileBuilder");
@@ -1685,7 +1798,7 @@ var FileBuilder = class extends ComponentBuilder {
1685
1798
  this.data = {
1686
1799
  ...structuredClone(rest),
1687
1800
  file: file && { url: file.url },
1688
- type: import_v1015.ComponentType.File
1801
+ type: import_v1017.ComponentType.File
1689
1802
  };
1690
1803
  }
1691
1804
  /**
@@ -1717,7 +1830,7 @@ var FileBuilder = class extends ComponentBuilder {
1717
1830
  };
1718
1831
 
1719
1832
  // src/components/v2/MediaGallery.ts
1720
- var import_v1016 = require("discord-api-types/v10");
1833
+ var import_v1018 = require("discord-api-types/v10");
1721
1834
 
1722
1835
  // src/components/v2/MediaGalleryItem.ts
1723
1836
  var MediaGalleryItemBuilder = class {
@@ -1852,7 +1965,7 @@ var MediaGalleryBuilder = class extends ComponentBuilder {
1852
1965
  this.data = {
1853
1966
  ...structuredClone(rest),
1854
1967
  items: items.map((item) => new MediaGalleryItemBuilder(item)),
1855
- type: import_v1016.ComponentType.MediaGallery
1968
+ type: import_v1018.ComponentType.MediaGallery
1856
1969
  };
1857
1970
  }
1858
1971
  /**
@@ -1894,10 +2007,10 @@ var MediaGalleryBuilder = class extends ComponentBuilder {
1894
2007
  };
1895
2008
 
1896
2009
  // src/components/v2/Section.ts
1897
- var import_v1019 = require("discord-api-types/v10");
2010
+ var import_v1021 = require("discord-api-types/v10");
1898
2011
 
1899
2012
  // src/components/v2/TextDisplay.ts
1900
- var import_v1017 = require("discord-api-types/v10");
2013
+ var import_v1019 = require("discord-api-types/v10");
1901
2014
  var TextDisplayBuilder = class extends ComponentBuilder {
1902
2015
  static {
1903
2016
  __name(this, "TextDisplayBuilder");
@@ -1930,7 +2043,7 @@ var TextDisplayBuilder = class extends ComponentBuilder {
1930
2043
  super();
1931
2044
  this.data = {
1932
2045
  ...structuredClone(data),
1933
- type: import_v1017.ComponentType.TextDisplay
2046
+ type: import_v1019.ComponentType.TextDisplay
1934
2047
  };
1935
2048
  }
1936
2049
  /**
@@ -1953,7 +2066,7 @@ var TextDisplayBuilder = class extends ComponentBuilder {
1953
2066
  };
1954
2067
 
1955
2068
  // src/components/v2/Thumbnail.ts
1956
- var import_v1018 = require("discord-api-types/v10");
2069
+ var import_v1020 = require("discord-api-types/v10");
1957
2070
  var ThumbnailBuilder = class extends ComponentBuilder {
1958
2071
  static {
1959
2072
  __name(this, "ThumbnailBuilder");
@@ -1993,7 +2106,7 @@ var ThumbnailBuilder = class extends ComponentBuilder {
1993
2106
  this.data = {
1994
2107
  ...structuredClone(rest),
1995
2108
  media: media && { url: media.url },
1996
- type: import_v1018.ComponentType.Thumbnail
2109
+ type: import_v1020.ComponentType.Thumbnail
1997
2110
  };
1998
2111
  }
1999
2112
  /**
@@ -2097,7 +2210,7 @@ var SectionBuilder = class extends ComponentBuilder {
2097
2210
  ...structuredClone(rest),
2098
2211
  accessory: accessory && resolveAccessoryComponent(accessory),
2099
2212
  components: components.map((component) => new TextDisplayBuilder(component)),
2100
- type: import_v1019.ComponentType.Section
2213
+ type: import_v1021.ComponentType.Section
2101
2214
  };
2102
2215
  }
2103
2216
  /**
@@ -2210,7 +2323,7 @@ var SectionBuilder = class extends ComponentBuilder {
2210
2323
  };
2211
2324
 
2212
2325
  // src/components/v2/Separator.ts
2213
- var import_v1020 = require("discord-api-types/v10");
2326
+ var import_v1022 = require("discord-api-types/v10");
2214
2327
  var SeparatorBuilder = class extends ComponentBuilder {
2215
2328
  static {
2216
2329
  __name(this, "SeparatorBuilder");
@@ -2244,7 +2357,7 @@ var SeparatorBuilder = class extends ComponentBuilder {
2244
2357
  super();
2245
2358
  this.data = {
2246
2359
  ...structuredClone(data),
2247
- type: import_v1020.ComponentType.Separator
2360
+ type: import_v1022.ComponentType.Separator
2248
2361
  };
2249
2362
  }
2250
2363
  /**
@@ -2308,7 +2421,7 @@ var ContainerBuilder = class extends ComponentBuilder {
2308
2421
  this.data = {
2309
2422
  ...structuredClone(rest),
2310
2423
  components: components.map((component) => createComponentBuilder(component)),
2311
- type: import_v1021.ComponentType.Container
2424
+ type: import_v1023.ComponentType.Container
2312
2425
  };
2313
2426
  }
2314
2427
  /**
@@ -2458,38 +2571,40 @@ function createComponentBuilder(data) {
2458
2571
  return data;
2459
2572
  }
2460
2573
  switch (data.type) {
2461
- case import_v1022.ComponentType.ActionRow:
2574
+ case import_v1024.ComponentType.ActionRow:
2462
2575
  return new ActionRowBuilder(data);
2463
- case import_v1022.ComponentType.Button:
2576
+ case import_v1024.ComponentType.Button:
2464
2577
  return createButtonBuilder(data);
2465
- case import_v1022.ComponentType.StringSelect:
2578
+ case import_v1024.ComponentType.StringSelect:
2466
2579
  return new StringSelectMenuBuilder(data);
2467
- case import_v1022.ComponentType.TextInput:
2580
+ case import_v1024.ComponentType.TextInput:
2468
2581
  return new TextInputBuilder(data);
2469
- case import_v1022.ComponentType.UserSelect:
2582
+ case import_v1024.ComponentType.UserSelect:
2470
2583
  return new UserSelectMenuBuilder(data);
2471
- case import_v1022.ComponentType.RoleSelect:
2584
+ case import_v1024.ComponentType.RoleSelect:
2472
2585
  return new RoleSelectMenuBuilder(data);
2473
- case import_v1022.ComponentType.MentionableSelect:
2586
+ case import_v1024.ComponentType.MentionableSelect:
2474
2587
  return new MentionableSelectMenuBuilder(data);
2475
- case import_v1022.ComponentType.ChannelSelect:
2588
+ case import_v1024.ComponentType.ChannelSelect:
2476
2589
  return new ChannelSelectMenuBuilder(data);
2477
- case import_v1022.ComponentType.Thumbnail:
2590
+ case import_v1024.ComponentType.Thumbnail:
2478
2591
  return new ThumbnailBuilder(data);
2479
- case import_v1022.ComponentType.File:
2592
+ case import_v1024.ComponentType.File:
2480
2593
  return new FileBuilder(data);
2481
- case import_v1022.ComponentType.Separator:
2594
+ case import_v1024.ComponentType.Separator:
2482
2595
  return new SeparatorBuilder(data);
2483
- case import_v1022.ComponentType.TextDisplay:
2596
+ case import_v1024.ComponentType.TextDisplay:
2484
2597
  return new TextDisplayBuilder(data);
2485
- case import_v1022.ComponentType.MediaGallery:
2598
+ case import_v1024.ComponentType.MediaGallery:
2486
2599
  return new MediaGalleryBuilder(data);
2487
- case import_v1022.ComponentType.Section:
2600
+ case import_v1024.ComponentType.Section:
2488
2601
  return new SectionBuilder(data);
2489
- case import_v1022.ComponentType.Container:
2602
+ case import_v1024.ComponentType.Container:
2490
2603
  return new ContainerBuilder(data);
2491
- case import_v1022.ComponentType.Label:
2604
+ case import_v1024.ComponentType.Label:
2492
2605
  return new LabelBuilder(data);
2606
+ case import_v1024.ComponentType.FileUpload:
2607
+ return new FileUploadBuilder(data);
2493
2608
  default:
2494
2609
  throw new Error(`Cannot properly serialize component type: ${data.type}`);
2495
2610
  }
@@ -2497,17 +2612,17 @@ function createComponentBuilder(data) {
2497
2612
  __name(createComponentBuilder, "createComponentBuilder");
2498
2613
  function createButtonBuilder(data) {
2499
2614
  switch (data.style) {
2500
- case import_v1022.ButtonStyle.Primary:
2615
+ case import_v1024.ButtonStyle.Primary:
2501
2616
  return new PrimaryButtonBuilder(data);
2502
- case import_v1022.ButtonStyle.Secondary:
2617
+ case import_v1024.ButtonStyle.Secondary:
2503
2618
  return new SecondaryButtonBuilder(data);
2504
- case import_v1022.ButtonStyle.Success:
2619
+ case import_v1024.ButtonStyle.Success:
2505
2620
  return new SuccessButtonBuilder(data);
2506
- case import_v1022.ButtonStyle.Danger:
2621
+ case import_v1024.ButtonStyle.Danger:
2507
2622
  return new DangerButtonBuilder(data);
2508
- case import_v1022.ButtonStyle.Link:
2623
+ case import_v1024.ButtonStyle.Link:
2509
2624
  return new LinkButtonBuilder(data);
2510
- case import_v1022.ButtonStyle.Premium:
2625
+ case import_v1024.ButtonStyle.Premium:
2511
2626
  return new PremiumButtonBuilder(data);
2512
2627
  default:
2513
2628
  throw new Error(`Cannot properly serialize button with style: ${data.style}`);
@@ -2516,9 +2631,9 @@ function createButtonBuilder(data) {
2516
2631
  __name(createButtonBuilder, "createButtonBuilder");
2517
2632
  function resolveAccessoryComponent(component) {
2518
2633
  switch (component.type) {
2519
- case import_v1022.ComponentType.Button:
2634
+ case import_v1024.ComponentType.Button:
2520
2635
  return createButtonBuilder(component);
2521
- case import_v1022.ComponentType.Thumbnail:
2636
+ case import_v1024.ComponentType.Thumbnail:
2522
2637
  return new ThumbnailBuilder(component);
2523
2638
  default:
2524
2639
  throw new Error(`Cannot properly serialize section accessory component: ${component.type}`);
@@ -2527,20 +2642,21 @@ function resolveAccessoryComponent(component) {
2527
2642
  __name(resolveAccessoryComponent, "resolveAccessoryComponent");
2528
2643
 
2529
2644
  // src/components/label/Assertions.ts
2530
- var import_v1023 = require("discord-api-types/v10");
2531
- var import_zod6 = require("zod");
2532
- var labelPredicate2 = import_zod6.z.object({
2645
+ var import_v1025 = require("discord-api-types/v10");
2646
+ var import_zod7 = require("zod");
2647
+ var labelPredicate2 = import_zod7.z.object({
2533
2648
  id: idPredicate,
2534
- type: import_zod6.z.literal(import_v1023.ComponentType.Label),
2535
- label: import_zod6.z.string().min(1).max(45),
2536
- description: import_zod6.z.string().min(1).max(100).optional(),
2537
- component: import_zod6.z.union([
2649
+ type: import_zod7.z.literal(import_v1025.ComponentType.Label),
2650
+ label: import_zod7.z.string().min(1).max(45),
2651
+ description: import_zod7.z.string().min(1).max(100).optional(),
2652
+ component: import_zod7.z.union([
2538
2653
  selectMenuStringPredicate,
2539
2654
  textInputPredicate,
2540
2655
  selectMenuUserPredicate,
2541
2656
  selectMenuRolePredicate,
2542
2657
  selectMenuMentionablePredicate,
2543
- selectMenuChannelPredicate
2658
+ selectMenuChannelPredicate,
2659
+ fileUploadPredicate
2544
2660
  ])
2545
2661
  });
2546
2662
 
@@ -2579,9 +2695,8 @@ var LabelBuilder = class extends ComponentBuilder {
2579
2695
  const { component, ...rest } = data;
2580
2696
  this.data = {
2581
2697
  ...structuredClone(rest),
2582
- // @ts-expect-error fixed in https://github.com/discordjs/discord.js/pull/11108
2583
2698
  component: component ? createComponentBuilder(component) : void 0,
2584
- type: import_v1024.ComponentType.Label
2699
+ type: import_v1026.ComponentType.Label
2585
2700
  };
2586
2701
  }
2587
2702
  /**
@@ -2663,6 +2778,15 @@ var LabelBuilder = class extends ComponentBuilder {
2663
2778
  this.data.component = resolveBuilder(input, TextInputBuilder);
2664
2779
  return this;
2665
2780
  }
2781
+ /**
2782
+ * Sets a file upload component to this label.
2783
+ *
2784
+ * @param input - A function that returns a component builder or an already built builder
2785
+ */
2786
+ setFileUploadComponent(input) {
2787
+ this.data.component = resolveBuilder(input, FileUploadBuilder);
2788
+ return this;
2789
+ }
2666
2790
  /**
2667
2791
  * {@inheritDoc ComponentBuilder.toJSON}
2668
2792
  */
@@ -2718,18 +2842,18 @@ var ApplicationCommandNumericOptionMinMaxValueMixin = class {
2718
2842
  };
2719
2843
 
2720
2844
  // src/interactions/commands/chatInput/mixins/ApplicationCommandOptionChannelTypesMixin.ts
2721
- var import_v1025 = require("discord-api-types/v10");
2845
+ var import_v1027 = require("discord-api-types/v10");
2722
2846
  var ApplicationCommandOptionAllowedChannelTypes = [
2723
- import_v1025.ChannelType.GuildText,
2724
- import_v1025.ChannelType.GuildVoice,
2725
- import_v1025.ChannelType.GuildCategory,
2726
- import_v1025.ChannelType.GuildAnnouncement,
2727
- import_v1025.ChannelType.AnnouncementThread,
2728
- import_v1025.ChannelType.PublicThread,
2729
- import_v1025.ChannelType.PrivateThread,
2730
- import_v1025.ChannelType.GuildStageVoice,
2731
- import_v1025.ChannelType.GuildForum,
2732
- import_v1025.ChannelType.GuildMedia
2847
+ import_v1027.ChannelType.GuildText,
2848
+ import_v1027.ChannelType.GuildVoice,
2849
+ import_v1027.ChannelType.GuildCategory,
2850
+ import_v1027.ChannelType.GuildAnnouncement,
2851
+ import_v1027.ChannelType.AnnouncementThread,
2852
+ import_v1027.ChannelType.PublicThread,
2853
+ import_v1027.ChannelType.PrivateThread,
2854
+ import_v1027.ChannelType.GuildStageVoice,
2855
+ import_v1027.ChannelType.GuildForum,
2856
+ import_v1027.ChannelType.GuildMedia
2733
2857
  ];
2734
2858
  var ApplicationCommandOptionChannelTypesMixin = class {
2735
2859
  static {
@@ -2800,7 +2924,7 @@ var ApplicationCommandOptionWithChoicesMixin = class {
2800
2924
  };
2801
2925
 
2802
2926
  // src/interactions/commands/chatInput/options/attachment.ts
2803
- var import_v1027 = require("discord-api-types/v10");
2927
+ var import_v1029 = require("discord-api-types/v10");
2804
2928
 
2805
2929
  // src/interactions/commands/SharedName.ts
2806
2930
  var SharedName = class {
@@ -2917,34 +3041,34 @@ var SharedNameAndDescription = class extends SharedName {
2917
3041
  };
2918
3042
 
2919
3043
  // src/interactions/commands/chatInput/Assertions.ts
2920
- var import_v1026 = require("discord-api-types/v10");
2921
- var import_zod7 = require("zod");
2922
- var namePredicate = import_zod7.z.string().min(1).max(32).regex(/^[\p{Ll}\p{Lm}\p{Lo}\p{N}\p{sc=Devanagari}\p{sc=Thai}_-]+$/u);
2923
- var descriptionPredicate = import_zod7.z.string().min(1).max(100);
2924
- var sharedNameAndDescriptionPredicate = import_zod7.z.object({
3044
+ var import_v1028 = require("discord-api-types/v10");
3045
+ var import_zod8 = require("zod");
3046
+ var namePredicate = import_zod8.z.string().min(1).max(32).regex(/^[\p{Ll}\p{Lm}\p{Lo}\p{N}\p{sc=Devanagari}\p{sc=Thai}_-]+$/u);
3047
+ var descriptionPredicate = import_zod8.z.string().min(1).max(100);
3048
+ var sharedNameAndDescriptionPredicate = import_zod8.z.object({
2925
3049
  name: namePredicate,
2926
3050
  name_localizations: localeMapPredicate.optional(),
2927
3051
  description: descriptionPredicate,
2928
3052
  description_localizations: localeMapPredicate.optional()
2929
3053
  });
2930
- var numericMixinNumberOptionPredicate = import_zod7.z.object({
2931
- max_value: import_zod7.z.float32().optional(),
2932
- min_value: import_zod7.z.float32().optional()
3054
+ var numericMixinNumberOptionPredicate = import_zod8.z.object({
3055
+ max_value: import_zod8.z.float32().optional(),
3056
+ min_value: import_zod8.z.float32().optional()
2933
3057
  });
2934
- var numericMixinIntegerOptionPredicate = import_zod7.z.object({
2935
- max_value: import_zod7.z.int().optional(),
2936
- min_value: import_zod7.z.int().optional()
3058
+ var numericMixinIntegerOptionPredicate = import_zod8.z.object({
3059
+ max_value: import_zod8.z.int().optional(),
3060
+ min_value: import_zod8.z.int().optional()
2937
3061
  });
2938
- var channelMixinOptionPredicate = import_zod7.z.object({
2939
- channel_types: import_zod7.z.literal(ApplicationCommandOptionAllowedChannelTypes).array().optional()
3062
+ var channelMixinOptionPredicate = import_zod8.z.object({
3063
+ channel_types: import_zod8.z.literal(ApplicationCommandOptionAllowedChannelTypes).array().optional()
2940
3064
  });
2941
- var autocompleteMixinOptionPredicate = import_zod7.z.object({
2942
- autocomplete: import_zod7.z.literal(true),
2943
- choices: import_zod7.z.union([import_zod7.z.never(), import_zod7.z.never().array(), import_zod7.z.undefined()])
3065
+ var autocompleteMixinOptionPredicate = import_zod8.z.object({
3066
+ autocomplete: import_zod8.z.literal(true),
3067
+ choices: import_zod8.z.union([import_zod8.z.never(), import_zod8.z.never().array(), import_zod8.z.undefined()])
2944
3068
  });
2945
- var choiceValueStringPredicate = import_zod7.z.string().min(1).max(100);
2946
- var choiceValueNumberPredicate = import_zod7.z.number();
2947
- var choiceBasePredicate = import_zod7.z.object({
3069
+ var choiceValueStringPredicate = import_zod8.z.string().min(1).max(100);
3070
+ var choiceValueNumberPredicate = import_zod8.z.number();
3071
+ var choiceBasePredicate = import_zod8.z.object({
2948
3072
  name: choiceValueStringPredicate,
2949
3073
  name_localizations: localeMapPredicate.optional()
2950
3074
  });
@@ -2954,8 +3078,8 @@ var choiceStringPredicate = choiceBasePredicate.extend({
2954
3078
  var choiceNumberPredicate = choiceBasePredicate.extend({
2955
3079
  value: choiceValueNumberPredicate
2956
3080
  });
2957
- var choiceBaseMixinPredicate = import_zod7.z.object({
2958
- autocomplete: import_zod7.z.literal(false).optional()
3081
+ var choiceBaseMixinPredicate = import_zod8.z.object({
3082
+ autocomplete: import_zod8.z.literal(false).optional()
2959
3083
  });
2960
3084
  var choiceStringMixinPredicate = choiceBaseMixinPredicate.extend({
2961
3085
  choices: choiceStringPredicate.array().max(25).optional()
@@ -2963,66 +3087,66 @@ var choiceStringMixinPredicate = choiceBaseMixinPredicate.extend({
2963
3087
  var choiceNumberMixinPredicate = choiceBaseMixinPredicate.extend({
2964
3088
  choices: choiceNumberPredicate.array().max(25).optional()
2965
3089
  });
2966
- var basicOptionTypesPredicate = import_zod7.z.literal([
2967
- import_v1026.ApplicationCommandOptionType.Attachment,
2968
- import_v1026.ApplicationCommandOptionType.Boolean,
2969
- import_v1026.ApplicationCommandOptionType.Channel,
2970
- import_v1026.ApplicationCommandOptionType.Integer,
2971
- import_v1026.ApplicationCommandOptionType.Mentionable,
2972
- import_v1026.ApplicationCommandOptionType.Number,
2973
- import_v1026.ApplicationCommandOptionType.Role,
2974
- import_v1026.ApplicationCommandOptionType.String,
2975
- import_v1026.ApplicationCommandOptionType.User
3090
+ var basicOptionTypesPredicate = import_zod8.z.literal([
3091
+ import_v1028.ApplicationCommandOptionType.Attachment,
3092
+ import_v1028.ApplicationCommandOptionType.Boolean,
3093
+ import_v1028.ApplicationCommandOptionType.Channel,
3094
+ import_v1028.ApplicationCommandOptionType.Integer,
3095
+ import_v1028.ApplicationCommandOptionType.Mentionable,
3096
+ import_v1028.ApplicationCommandOptionType.Number,
3097
+ import_v1028.ApplicationCommandOptionType.Role,
3098
+ import_v1028.ApplicationCommandOptionType.String,
3099
+ import_v1028.ApplicationCommandOptionType.User
2976
3100
  ]);
2977
3101
  var basicOptionPredicate = sharedNameAndDescriptionPredicate.extend({
2978
- required: import_zod7.z.boolean().optional(),
3102
+ required: import_zod8.z.boolean().optional(),
2979
3103
  type: basicOptionTypesPredicate
2980
3104
  });
2981
- var autocompleteOrStringChoicesMixinOptionPredicate = import_zod7.z.discriminatedUnion("autocomplete", [
3105
+ var autocompleteOrStringChoicesMixinOptionPredicate = import_zod8.z.discriminatedUnion("autocomplete", [
2982
3106
  autocompleteMixinOptionPredicate,
2983
3107
  choiceStringMixinPredicate
2984
3108
  ]);
2985
- var autocompleteOrNumberChoicesMixinOptionPredicate = import_zod7.z.discriminatedUnion("autocomplete", [
3109
+ var autocompleteOrNumberChoicesMixinOptionPredicate = import_zod8.z.discriminatedUnion("autocomplete", [
2986
3110
  autocompleteMixinOptionPredicate,
2987
3111
  choiceNumberMixinPredicate
2988
3112
  ]);
2989
- var channelOptionPredicate = import_zod7.z.object({
3113
+ var channelOptionPredicate = import_zod8.z.object({
2990
3114
  ...basicOptionPredicate.shape,
2991
3115
  ...channelMixinOptionPredicate.shape
2992
3116
  });
2993
- var integerOptionPredicate = import_zod7.z.object({
3117
+ var integerOptionPredicate = import_zod8.z.object({
2994
3118
  ...basicOptionPredicate.shape,
2995
3119
  ...numericMixinIntegerOptionPredicate.shape
2996
3120
  }).and(autocompleteOrNumberChoicesMixinOptionPredicate);
2997
- var numberOptionPredicate = import_zod7.z.object({
3121
+ var numberOptionPredicate = import_zod8.z.object({
2998
3122
  ...basicOptionPredicate.shape,
2999
3123
  ...numericMixinNumberOptionPredicate.shape
3000
3124
  }).and(autocompleteOrNumberChoicesMixinOptionPredicate);
3001
3125
  var stringOptionPredicate = basicOptionPredicate.extend({
3002
- max_length: import_zod7.z.number().min(0).max(6e3).optional(),
3003
- min_length: import_zod7.z.number().min(1).max(6e3).optional()
3126
+ max_length: import_zod8.z.number().min(0).max(6e3).optional(),
3127
+ min_length: import_zod8.z.number().min(1).max(6e3).optional()
3004
3128
  }).and(autocompleteOrStringChoicesMixinOptionPredicate);
3005
3129
  var baseChatInputCommandPredicate = sharedNameAndDescriptionPredicate.extend({
3006
- contexts: import_zod7.z.array(import_zod7.z.enum(import_v1026.InteractionContextType)).optional(),
3130
+ contexts: import_zod8.z.array(import_zod8.z.enum(import_v1028.InteractionContextType)).optional(),
3007
3131
  default_member_permissions: memberPermissionsPredicate.optional(),
3008
- integration_types: import_zod7.z.array(import_zod7.z.enum(import_v1026.ApplicationIntegrationType)).optional(),
3009
- nsfw: import_zod7.z.boolean().optional()
3132
+ integration_types: import_zod8.z.array(import_zod8.z.enum(import_v1028.ApplicationIntegrationType)).optional(),
3133
+ nsfw: import_zod8.z.boolean().optional()
3010
3134
  });
3011
- var chatInputCommandOptionsPredicate = import_zod7.z.union([
3012
- import_zod7.z.object({ type: basicOptionTypesPredicate }).array(),
3013
- import_zod7.z.object({ type: import_zod7.z.literal(import_v1026.ApplicationCommandOptionType.Subcommand) }).array(),
3014
- import_zod7.z.object({ type: import_zod7.z.literal(import_v1026.ApplicationCommandOptionType.SubcommandGroup) }).array()
3135
+ var chatInputCommandOptionsPredicate = import_zod8.z.union([
3136
+ import_zod8.z.object({ type: basicOptionTypesPredicate }).array(),
3137
+ import_zod8.z.object({ type: import_zod8.z.literal(import_v1028.ApplicationCommandOptionType.Subcommand) }).array(),
3138
+ import_zod8.z.object({ type: import_zod8.z.literal(import_v1028.ApplicationCommandOptionType.SubcommandGroup) }).array()
3015
3139
  ]);
3016
3140
  var chatInputCommandPredicate = baseChatInputCommandPredicate.extend({
3017
3141
  options: chatInputCommandOptionsPredicate.optional()
3018
3142
  });
3019
3143
  var chatInputCommandSubcommandGroupPredicate = sharedNameAndDescriptionPredicate.extend({
3020
- type: import_zod7.z.literal(import_v1026.ApplicationCommandOptionType.SubcommandGroup),
3021
- options: import_zod7.z.array(import_zod7.z.object({ type: import_zod7.z.literal(import_v1026.ApplicationCommandOptionType.Subcommand) })).min(1).max(25)
3144
+ type: import_zod8.z.literal(import_v1028.ApplicationCommandOptionType.SubcommandGroup),
3145
+ options: import_zod8.z.array(import_zod8.z.object({ type: import_zod8.z.literal(import_v1028.ApplicationCommandOptionType.Subcommand) })).min(1).max(25)
3022
3146
  });
3023
3147
  var chatInputCommandSubcommandPredicate = sharedNameAndDescriptionPredicate.extend({
3024
- type: import_zod7.z.literal(import_v1026.ApplicationCommandOptionType.Subcommand),
3025
- options: import_zod7.z.array(import_zod7.z.object({ type: basicOptionTypesPredicate })).max(25)
3148
+ type: import_zod8.z.literal(import_v1028.ApplicationCommandOptionType.Subcommand),
3149
+ options: import_zod8.z.array(import_zod8.z.object({ type: basicOptionTypesPredicate })).max(25)
3026
3150
  });
3027
3151
 
3028
3152
  // src/interactions/commands/chatInput/options/ApplicationCommandOptionBase.ts
@@ -3075,12 +3199,12 @@ var ChatInputCommandAttachmentOption = class extends ApplicationCommandOptionBas
3075
3199
  * Creates a new attachment option.
3076
3200
  */
3077
3201
  constructor() {
3078
- super(import_v1027.ApplicationCommandOptionType.Attachment);
3202
+ super(import_v1029.ApplicationCommandOptionType.Attachment);
3079
3203
  }
3080
3204
  };
3081
3205
 
3082
3206
  // src/interactions/commands/chatInput/options/boolean.ts
3083
- var import_v1028 = require("discord-api-types/v10");
3207
+ var import_v1030 = require("discord-api-types/v10");
3084
3208
  var ChatInputCommandBooleanOption = class extends ApplicationCommandOptionBase {
3085
3209
  static {
3086
3210
  __name(this, "ChatInputCommandBooleanOption");
@@ -3089,12 +3213,12 @@ var ChatInputCommandBooleanOption = class extends ApplicationCommandOptionBase {
3089
3213
  * Creates a new boolean option.
3090
3214
  */
3091
3215
  constructor() {
3092
- super(import_v1028.ApplicationCommandOptionType.Boolean);
3216
+ super(import_v1030.ApplicationCommandOptionType.Boolean);
3093
3217
  }
3094
3218
  };
3095
3219
 
3096
3220
  // src/interactions/commands/chatInput/options/channel.ts
3097
- var import_v1029 = require("discord-api-types/v10");
3221
+ var import_v1031 = require("discord-api-types/v10");
3098
3222
  var import_ts_mixer3 = require("ts-mixer");
3099
3223
  var ChatInputCommandChannelOption = class extends (0, import_ts_mixer3.Mixin)(
3100
3224
  ApplicationCommandOptionBase,
@@ -3111,12 +3235,12 @@ var ChatInputCommandChannelOption = class extends (0, import_ts_mixer3.Mixin)(
3111
3235
  * Creates a new channel option.
3112
3236
  */
3113
3237
  constructor() {
3114
- super(import_v1029.ApplicationCommandOptionType.Channel);
3238
+ super(import_v1031.ApplicationCommandOptionType.Channel);
3115
3239
  }
3116
3240
  };
3117
3241
 
3118
3242
  // src/interactions/commands/chatInput/options/integer.ts
3119
- var import_v1030 = require("discord-api-types/v10");
3243
+ var import_v1032 = require("discord-api-types/v10");
3120
3244
  var import_ts_mixer4 = require("ts-mixer");
3121
3245
  var ChatInputCommandIntegerOption = class extends (0, import_ts_mixer4.Mixin)(
3122
3246
  ApplicationCommandOptionBase,
@@ -3135,12 +3259,12 @@ var ChatInputCommandIntegerOption = class extends (0, import_ts_mixer4.Mixin)(
3135
3259
  * Creates a new integer option.
3136
3260
  */
3137
3261
  constructor() {
3138
- super(import_v1030.ApplicationCommandOptionType.Integer);
3262
+ super(import_v1032.ApplicationCommandOptionType.Integer);
3139
3263
  }
3140
3264
  };
3141
3265
 
3142
3266
  // src/interactions/commands/chatInput/options/mentionable.ts
3143
- var import_v1031 = require("discord-api-types/v10");
3267
+ var import_v1033 = require("discord-api-types/v10");
3144
3268
  var ChatInputCommandMentionableOption = class extends ApplicationCommandOptionBase {
3145
3269
  static {
3146
3270
  __name(this, "ChatInputCommandMentionableOption");
@@ -3149,12 +3273,12 @@ var ChatInputCommandMentionableOption = class extends ApplicationCommandOptionBa
3149
3273
  * Creates a new mentionable option.
3150
3274
  */
3151
3275
  constructor() {
3152
- super(import_v1031.ApplicationCommandOptionType.Mentionable);
3276
+ super(import_v1033.ApplicationCommandOptionType.Mentionable);
3153
3277
  }
3154
3278
  };
3155
3279
 
3156
3280
  // src/interactions/commands/chatInput/options/number.ts
3157
- var import_v1032 = require("discord-api-types/v10");
3281
+ var import_v1034 = require("discord-api-types/v10");
3158
3282
  var import_ts_mixer5 = require("ts-mixer");
3159
3283
  var ChatInputCommandNumberOption = class extends (0, import_ts_mixer5.Mixin)(
3160
3284
  ApplicationCommandOptionBase,
@@ -3173,12 +3297,12 @@ var ChatInputCommandNumberOption = class extends (0, import_ts_mixer5.Mixin)(
3173
3297
  * Creates a new number option.
3174
3298
  */
3175
3299
  constructor() {
3176
- super(import_v1032.ApplicationCommandOptionType.Number);
3300
+ super(import_v1034.ApplicationCommandOptionType.Number);
3177
3301
  }
3178
3302
  };
3179
3303
 
3180
3304
  // src/interactions/commands/chatInput/options/role.ts
3181
- var import_v1033 = require("discord-api-types/v10");
3305
+ var import_v1035 = require("discord-api-types/v10");
3182
3306
  var ChatInputCommandRoleOption = class extends ApplicationCommandOptionBase {
3183
3307
  static {
3184
3308
  __name(this, "ChatInputCommandRoleOption");
@@ -3187,12 +3311,12 @@ var ChatInputCommandRoleOption = class extends ApplicationCommandOptionBase {
3187
3311
  * Creates a new role option.
3188
3312
  */
3189
3313
  constructor() {
3190
- super(import_v1033.ApplicationCommandOptionType.Role);
3314
+ super(import_v1035.ApplicationCommandOptionType.Role);
3191
3315
  }
3192
3316
  };
3193
3317
 
3194
3318
  // src/interactions/commands/chatInput/options/string.ts
3195
- var import_v1034 = require("discord-api-types/v10");
3319
+ var import_v1036 = require("discord-api-types/v10");
3196
3320
  var import_ts_mixer6 = require("ts-mixer");
3197
3321
  var ChatInputCommandStringOption = class extends (0, import_ts_mixer6.Mixin)(
3198
3322
  ApplicationCommandOptionBase,
@@ -3210,7 +3334,7 @@ var ChatInputCommandStringOption = class extends (0, import_ts_mixer6.Mixin)(
3210
3334
  * Creates a new string option builder.
3211
3335
  */
3212
3336
  constructor() {
3213
- super(import_v1034.ApplicationCommandOptionType.String);
3337
+ super(import_v1036.ApplicationCommandOptionType.String);
3214
3338
  }
3215
3339
  /**
3216
3340
  * Sets the maximum length of this string option.
@@ -3247,7 +3371,7 @@ var ChatInputCommandStringOption = class extends (0, import_ts_mixer6.Mixin)(
3247
3371
  };
3248
3372
 
3249
3373
  // src/interactions/commands/chatInput/options/user.ts
3250
- var import_v1035 = require("discord-api-types/v10");
3374
+ var import_v1037 = require("discord-api-types/v10");
3251
3375
  var ChatInputCommandUserOption = class extends ApplicationCommandOptionBase {
3252
3376
  static {
3253
3377
  __name(this, "ChatInputCommandUserOption");
@@ -3256,7 +3380,7 @@ var ChatInputCommandUserOption = class extends ApplicationCommandOptionBase {
3256
3380
  * Creates a new user option.
3257
3381
  */
3258
3382
  constructor() {
3259
- super(import_v1035.ApplicationCommandOptionType.User);
3383
+ super(import_v1037.ApplicationCommandOptionType.User);
3260
3384
  }
3261
3385
  };
3262
3386
 
@@ -3391,7 +3515,7 @@ var SharedChatInputCommandOptions = class {
3391
3515
  };
3392
3516
 
3393
3517
  // src/interactions/commands/chatInput/ChatInputCommandSubcommands.ts
3394
- var import_v1036 = require("discord-api-types/v10");
3518
+ var import_v1038 = require("discord-api-types/v10");
3395
3519
  var import_ts_mixer7 = require("ts-mixer");
3396
3520
  var ChatInputCommandSubcommandGroupBuilder = class extends SharedNameAndDescription {
3397
3521
  static {
@@ -3426,7 +3550,7 @@ var ChatInputCommandSubcommandGroupBuilder = class extends SharedNameAndDescript
3426
3550
  const { options, ...rest } = this.data;
3427
3551
  const data = {
3428
3552
  ...structuredClone(rest),
3429
- type: import_v1036.ApplicationCommandOptionType.SubcommandGroup,
3553
+ type: import_v1038.ApplicationCommandOptionType.SubcommandGroup,
3430
3554
  options: options?.map((option) => option.toJSON(validationOverride)) ?? []
3431
3555
  };
3432
3556
  validate(chatInputCommandSubcommandGroupPredicate, data, validationOverride);
@@ -3448,7 +3572,7 @@ var ChatInputCommandSubcommandBuilder = class extends (0, import_ts_mixer7.Mixin
3448
3572
  const { options, ...rest } = this.data;
3449
3573
  const data = {
3450
3574
  ...structuredClone(rest),
3451
- type: import_v1036.ApplicationCommandOptionType.Subcommand,
3575
+ type: import_v1038.ApplicationCommandOptionType.Subcommand,
3452
3576
  options: options?.map((option) => option.toJSON(validationOverride)) ?? []
3453
3577
  };
3454
3578
  validate(chatInputCommandSubcommandPredicate, data, validationOverride);
@@ -3488,7 +3612,7 @@ var SharedChatInputCommandSubcommands = class {
3488
3612
  };
3489
3613
 
3490
3614
  // src/interactions/commands/chatInput/ChatInputCommand.ts
3491
- var import_v1037 = require("discord-api-types/v10");
3615
+ var import_v1039 = require("discord-api-types/v10");
3492
3616
  var import_ts_mixer8 = require("ts-mixer");
3493
3617
 
3494
3618
  // src/interactions/commands/Command.ts
@@ -3561,7 +3685,7 @@ var ChatInputCommandBuilder = class extends (0, import_ts_mixer8.Mixin)(
3561
3685
  const { options, ...rest } = this.data;
3562
3686
  const data = {
3563
3687
  ...structuredClone(rest),
3564
- type: import_v1037.ApplicationCommandType.ChatInput,
3688
+ type: import_v1039.ApplicationCommandType.ChatInput,
3565
3689
  options: options?.map((option) => option.toJSON(validationOverride))
3566
3690
  };
3567
3691
  validate(chatInputCommandPredicate, data, validationOverride);
@@ -3570,26 +3694,26 @@ var ChatInputCommandBuilder = class extends (0, import_ts_mixer8.Mixin)(
3570
3694
  };
3571
3695
 
3572
3696
  // src/interactions/commands/contextMenu/Assertions.ts
3573
- var import_v1038 = require("discord-api-types/v10");
3574
- var import_zod8 = require("zod");
3575
- var namePredicate2 = import_zod8.z.string().min(1).max(32).refine((val) => val.trim().length > 0, {
3697
+ var import_v1040 = require("discord-api-types/v10");
3698
+ var import_zod9 = require("zod");
3699
+ var namePredicate2 = import_zod9.z.string().min(1).max(32).refine((val) => val.trim().length > 0, {
3576
3700
  error: "Must not consist of only whitespace."
3577
3701
  });
3578
- var contextsPredicate = import_zod8.z.array(import_zod8.z.enum(import_v1038.InteractionContextType));
3579
- var integrationTypesPredicate = import_zod8.z.array(import_zod8.z.enum(import_v1038.ApplicationIntegrationType));
3580
- var baseContextMenuCommandPredicate = import_zod8.z.object({
3702
+ var contextsPredicate = import_zod9.z.array(import_zod9.z.enum(import_v1040.InteractionContextType));
3703
+ var integrationTypesPredicate = import_zod9.z.array(import_zod9.z.enum(import_v1040.ApplicationIntegrationType));
3704
+ var baseContextMenuCommandPredicate = import_zod9.z.object({
3581
3705
  contexts: contextsPredicate.optional(),
3582
3706
  default_member_permissions: memberPermissionsPredicate.optional(),
3583
3707
  name: namePredicate2,
3584
3708
  name_localizations: localeMapPredicate.optional(),
3585
3709
  integration_types: integrationTypesPredicate.optional(),
3586
- nsfw: import_zod8.z.boolean().optional()
3710
+ nsfw: import_zod9.z.boolean().optional()
3587
3711
  });
3588
3712
  var userCommandPredicate = baseContextMenuCommandPredicate.extend({
3589
- type: import_zod8.z.literal(import_v1038.ApplicationCommandType.User)
3713
+ type: import_zod9.z.literal(import_v1040.ApplicationCommandType.User)
3590
3714
  });
3591
3715
  var messageCommandPredicate = baseContextMenuCommandPredicate.extend({
3592
- type: import_zod8.z.literal(import_v1038.ApplicationCommandType.Message)
3716
+ type: import_zod9.z.literal(import_v1040.ApplicationCommandType.Message)
3593
3717
  });
3594
3718
 
3595
3719
  // src/interactions/commands/contextMenu/ContextMenuCommand.ts
@@ -3619,7 +3743,7 @@ var ContextMenuCommandBuilder = class extends (0, import_ts_mixer9.Mixin)(
3619
3743
  };
3620
3744
 
3621
3745
  // src/interactions/commands/contextMenu/MessageCommand.ts
3622
- var import_v1039 = require("discord-api-types/v10");
3746
+ var import_v1041 = require("discord-api-types/v10");
3623
3747
  var MessageContextCommandBuilder = class extends ContextMenuCommandBuilder {
3624
3748
  static {
3625
3749
  __name(this, "MessageContextCommandBuilder");
@@ -3628,14 +3752,14 @@ var MessageContextCommandBuilder = class extends ContextMenuCommandBuilder {
3628
3752
  * {@inheritDoc CommandBuilder.toJSON}
3629
3753
  */
3630
3754
  toJSON(validationOverride) {
3631
- const data = { ...structuredClone(this.data), type: import_v1039.ApplicationCommandType.Message };
3755
+ const data = { ...structuredClone(this.data), type: import_v1041.ApplicationCommandType.Message };
3632
3756
  validate(messageCommandPredicate, data, validationOverride);
3633
3757
  return data;
3634
3758
  }
3635
3759
  };
3636
3760
 
3637
3761
  // src/interactions/commands/contextMenu/UserCommand.ts
3638
- var import_v1040 = require("discord-api-types/v10");
3762
+ var import_v1042 = require("discord-api-types/v10");
3639
3763
  var UserContextCommandBuilder = class extends ContextMenuCommandBuilder {
3640
3764
  static {
3641
3765
  __name(this, "UserContextCommandBuilder");
@@ -3644,23 +3768,23 @@ var UserContextCommandBuilder = class extends ContextMenuCommandBuilder {
3644
3768
  * {@inheritDoc CommandBuilder.toJSON}
3645
3769
  */
3646
3770
  toJSON(validationOverride) {
3647
- const data = { ...structuredClone(this.data), type: import_v1040.ApplicationCommandType.User };
3771
+ const data = { ...structuredClone(this.data), type: import_v1042.ApplicationCommandType.User };
3648
3772
  validate(userCommandPredicate, data, validationOverride);
3649
3773
  return data;
3650
3774
  }
3651
3775
  };
3652
3776
 
3653
3777
  // src/interactions/modals/Assertions.ts
3654
- var import_v1041 = require("discord-api-types/v10");
3655
- var import_zod9 = require("zod");
3656
- var titlePredicate = import_zod9.z.string().min(1).max(45);
3657
- var modalPredicate = import_zod9.z.object({
3778
+ var import_v1043 = require("discord-api-types/v10");
3779
+ var import_zod10 = require("zod");
3780
+ var titlePredicate = import_zod10.z.string().min(1).max(45);
3781
+ var modalPredicate = import_zod10.z.object({
3658
3782
  title: titlePredicate,
3659
3783
  custom_id: customIdPredicate,
3660
- components: import_zod9.z.union([
3661
- import_zod9.z.object({
3662
- type: import_zod9.z.literal(import_v1041.ComponentType.ActionRow),
3663
- components: import_zod9.z.object({ type: import_zod9.z.literal(import_v1041.ComponentType.TextInput) }).array().length(1)
3784
+ components: import_zod10.z.union([
3785
+ import_zod10.z.object({
3786
+ type: import_zod10.z.literal(import_v1043.ComponentType.ActionRow),
3787
+ components: import_zod10.z.object({ type: import_zod10.z.literal(import_v1043.ComponentType.TextInput) }).array().length(1)
3664
3788
  }),
3665
3789
  labelPredicate2,
3666
3790
  textDisplayPredicate
@@ -3691,7 +3815,6 @@ var ModalBuilder = class {
3691
3815
  const { components = [], ...rest } = data;
3692
3816
  this.data = {
3693
3817
  ...structuredClone(rest),
3694
- // @ts-expect-error fixed in https://github.com/discordjs/discord.js/pull/11108
3695
3818
  components: components.map((component) => createComponentBuilder(component))
3696
3819
  };
3697
3820
  }
@@ -3787,7 +3910,7 @@ var ModalBuilder = class {
3787
3910
  };
3788
3911
 
3789
3912
  // src/messages/embed/Assertions.ts
3790
- var import_zod10 = require("zod");
3913
+ var import_zod11 = require("zod");
3791
3914
 
3792
3915
  // src/util/componentUtil.ts
3793
3916
  function embedLength(data) {
@@ -3796,34 +3919,34 @@ function embedLength(data) {
3796
3919
  __name(embedLength, "embedLength");
3797
3920
 
3798
3921
  // src/messages/embed/Assertions.ts
3799
- var namePredicate3 = import_zod10.z.string().max(256);
3800
- var URLPredicate = import_zod10.z.url({ protocol: /^https?$/ });
3801
- var URLWithAttachmentProtocolPredicate = import_zod10.z.url({ protocol: /^(?:https?|attachment)$/ });
3802
- var embedFieldPredicate = import_zod10.z.object({
3922
+ var namePredicate3 = import_zod11.z.string().max(256);
3923
+ var URLPredicate = import_zod11.z.url({ protocol: /^https?$/ });
3924
+ var URLWithAttachmentProtocolPredicate = import_zod11.z.url({ protocol: /^(?:https?|attachment)$/ });
3925
+ var embedFieldPredicate = import_zod11.z.object({
3803
3926
  name: namePredicate3,
3804
- value: import_zod10.z.string().max(1024),
3805
- inline: import_zod10.z.boolean().optional()
3927
+ value: import_zod11.z.string().max(1024),
3928
+ inline: import_zod11.z.boolean().optional()
3806
3929
  });
3807
- var embedAuthorPredicate = import_zod10.z.object({
3930
+ var embedAuthorPredicate = import_zod11.z.object({
3808
3931
  name: namePredicate3.min(1),
3809
3932
  icon_url: URLWithAttachmentProtocolPredicate.optional(),
3810
3933
  url: URLPredicate.optional()
3811
3934
  });
3812
- var embedFooterPredicate = import_zod10.z.object({
3813
- text: import_zod10.z.string().min(1).max(2048),
3935
+ var embedFooterPredicate = import_zod11.z.object({
3936
+ text: import_zod11.z.string().min(1).max(2048),
3814
3937
  icon_url: URLWithAttachmentProtocolPredicate.optional()
3815
3938
  });
3816
- var embedPredicate = import_zod10.z.object({
3939
+ var embedPredicate = import_zod11.z.object({
3817
3940
  title: namePredicate3.min(1).optional(),
3818
- description: import_zod10.z.string().min(1).max(4096).optional(),
3941
+ description: import_zod11.z.string().min(1).max(4096).optional(),
3819
3942
  url: URLPredicate.optional(),
3820
- timestamp: import_zod10.z.string().optional(),
3821
- color: import_zod10.z.int().min(0).max(16777215).optional(),
3943
+ timestamp: import_zod11.z.string().optional(),
3944
+ color: import_zod11.z.int().min(0).max(16777215).optional(),
3822
3945
  footer: embedFooterPredicate.optional(),
3823
- image: import_zod10.z.object({ url: URLWithAttachmentProtocolPredicate }).optional(),
3824
- thumbnail: import_zod10.z.object({ url: URLWithAttachmentProtocolPredicate }).optional(),
3946
+ image: import_zod11.z.object({ url: URLWithAttachmentProtocolPredicate }).optional(),
3947
+ thumbnail: import_zod11.z.object({ url: URLWithAttachmentProtocolPredicate }).optional(),
3825
3948
  author: embedAuthorPredicate.optional(),
3826
- fields: import_zod10.z.array(embedFieldPredicate).max(25).optional()
3949
+ fields: import_zod11.z.array(embedFieldPredicate).max(25).optional()
3827
3950
  }).refine(
3828
3951
  (embed) => embed.title !== void 0 || embed.description !== void 0 || embed.fields !== void 0 && embed.fields.length > 0 || embed.footer !== void 0 || embed.author !== void 0 || embed.image !== void 0 || embed.thumbnail !== void 0,
3829
3952
  {
@@ -4308,20 +4431,20 @@ var EmbedBuilder = class {
4308
4431
  };
4309
4432
 
4310
4433
  // src/messages/poll/Assertions.ts
4311
- var import_v1042 = require("discord-api-types/v10");
4312
- var import_zod11 = require("zod");
4313
- var pollQuestionPredicate = import_zod11.z.object({ text: import_zod11.z.string().min(1).max(300) });
4314
- var pollAnswerMediaPredicate = import_zod11.z.object({
4315
- text: import_zod11.z.string().min(1).max(55),
4434
+ var import_v1044 = require("discord-api-types/v10");
4435
+ var import_zod12 = require("zod");
4436
+ var pollQuestionPredicate = import_zod12.z.object({ text: import_zod12.z.string().min(1).max(300) });
4437
+ var pollAnswerMediaPredicate = import_zod12.z.object({
4438
+ text: import_zod12.z.string().min(1).max(55),
4316
4439
  emoji: emojiPredicate.optional()
4317
4440
  });
4318
- var pollAnswerPredicate = import_zod11.z.object({ poll_media: pollAnswerMediaPredicate });
4319
- var pollPredicate = import_zod11.z.object({
4441
+ var pollAnswerPredicate = import_zod12.z.object({ poll_media: pollAnswerMediaPredicate });
4442
+ var pollPredicate = import_zod12.z.object({
4320
4443
  question: pollQuestionPredicate,
4321
- answers: import_zod11.z.array(pollAnswerPredicate).min(1).max(10),
4322
- duration: import_zod11.z.number().min(1).max(768).optional(),
4323
- allow_multiselect: import_zod11.z.boolean().optional(),
4324
- layout_type: import_zod11.z.enum(import_v1042.PollLayoutType).optional()
4444
+ answers: import_zod12.z.array(pollAnswerPredicate).min(1).max(10),
4445
+ duration: import_zod12.z.number().min(1).max(768).optional(),
4446
+ allow_multiselect: import_zod12.z.boolean().optional(),
4447
+ layout_type: import_zod12.z.enum(import_v1044.PollLayoutType).optional()
4325
4448
  });
4326
4449
 
4327
4450
  // src/messages/poll/PollMedia.ts
@@ -4650,95 +4773,95 @@ var PollBuilder = class {
4650
4773
  };
4651
4774
 
4652
4775
  // src/messages/Assertions.ts
4653
- var import_v1043 = require("discord-api-types/v10");
4654
- var import_zod12 = require("zod");
4655
- var attachmentPredicate = import_zod12.z.object({
4656
- id: import_zod12.z.union([import_zod12.z.string(), import_zod12.z.number()]),
4657
- description: import_zod12.z.string().max(1024).optional(),
4658
- duration_secs: import_zod12.z.number().max(2 ** 31 - 1).optional(),
4659
- filename: import_zod12.z.string().max(1024).optional(),
4660
- title: import_zod12.z.string().max(1024).optional(),
4661
- waveform: import_zod12.z.string().max(400).optional()
4776
+ var import_v1045 = require("discord-api-types/v10");
4777
+ var import_zod13 = require("zod");
4778
+ var attachmentPredicate = import_zod13.z.object({
4779
+ id: import_zod13.z.union([import_zod13.z.string(), import_zod13.z.number()]),
4780
+ description: import_zod13.z.string().max(1024).optional(),
4781
+ duration_secs: import_zod13.z.number().max(2 ** 31 - 1).optional(),
4782
+ filename: import_zod13.z.string().max(1024).optional(),
4783
+ title: import_zod13.z.string().max(1024).optional(),
4784
+ waveform: import_zod13.z.string().max(400).optional()
4662
4785
  });
4663
- var allowedMentionPredicate = import_zod12.z.object({
4664
- parse: import_zod12.z.enum(import_v1043.AllowedMentionsTypes).array().optional(),
4665
- roles: import_zod12.z.string().array().max(100).optional(),
4666
- users: import_zod12.z.string().array().max(100).optional(),
4667
- replied_user: import_zod12.z.boolean().optional()
4786
+ var allowedMentionPredicate = import_zod13.z.object({
4787
+ parse: import_zod13.z.enum(import_v1045.AllowedMentionsTypes).array().optional(),
4788
+ roles: import_zod13.z.string().array().max(100).optional(),
4789
+ users: import_zod13.z.string().array().max(100).optional(),
4790
+ replied_user: import_zod13.z.boolean().optional()
4668
4791
  }).refine(
4669
- (data) => !(data.parse?.includes(import_v1043.AllowedMentionsTypes.User) && data.users?.length || data.parse?.includes(import_v1043.AllowedMentionsTypes.Role) && data.roles?.length),
4792
+ (data) => !(data.parse?.includes(import_v1045.AllowedMentionsTypes.User) && data.users?.length || data.parse?.includes(import_v1045.AllowedMentionsTypes.Role) && data.roles?.length),
4670
4793
  {
4671
4794
  error: 'Cannot specify both parse: ["users"] and non-empty users array, or parse: ["roles"] and non-empty roles array. These are mutually exclusive'
4672
4795
  }
4673
4796
  );
4674
- var messageReferencePredicate = import_zod12.z.object({
4675
- channel_id: import_zod12.z.string().optional(),
4676
- fail_if_not_exists: import_zod12.z.boolean().optional(),
4677
- guild_id: import_zod12.z.string().optional(),
4678
- message_id: import_zod12.z.string(),
4679
- type: import_zod12.z.enum(import_v1043.MessageReferenceType).optional()
4797
+ var messageReferencePredicate = import_zod13.z.object({
4798
+ channel_id: import_zod13.z.string().optional(),
4799
+ fail_if_not_exists: import_zod13.z.boolean().optional(),
4800
+ guild_id: import_zod13.z.string().optional(),
4801
+ message_id: import_zod13.z.string(),
4802
+ type: import_zod13.z.enum(import_v1045.MessageReferenceType).optional()
4680
4803
  });
4681
- var baseMessagePredicate = import_zod12.z.object({
4682
- nonce: import_zod12.z.union([import_zod12.z.string().max(25), import_zod12.z.number()]).optional(),
4683
- tts: import_zod12.z.boolean().optional(),
4804
+ var baseMessagePredicate = import_zod13.z.object({
4805
+ nonce: import_zod13.z.union([import_zod13.z.string().max(25), import_zod13.z.number()]).optional(),
4806
+ tts: import_zod13.z.boolean().optional(),
4684
4807
  allowed_mentions: allowedMentionPredicate.optional(),
4685
4808
  message_reference: messageReferencePredicate.optional(),
4686
4809
  attachments: attachmentPredicate.array().max(10).optional(),
4687
- enforce_nonce: import_zod12.z.boolean().optional()
4810
+ enforce_nonce: import_zod13.z.boolean().optional()
4688
4811
  });
4689
- var basicActionRowPredicate = import_zod12.z.object({
4690
- type: import_zod12.z.literal(import_v1043.ComponentType.ActionRow),
4691
- components: import_zod12.z.object({
4692
- type: import_zod12.z.literal([
4693
- import_v1043.ComponentType.Button,
4694
- import_v1043.ComponentType.ChannelSelect,
4695
- import_v1043.ComponentType.MentionableSelect,
4696
- import_v1043.ComponentType.RoleSelect,
4697
- import_v1043.ComponentType.StringSelect,
4698
- import_v1043.ComponentType.UserSelect
4812
+ var basicActionRowPredicate = import_zod13.z.object({
4813
+ type: import_zod13.z.literal(import_v1045.ComponentType.ActionRow),
4814
+ components: import_zod13.z.object({
4815
+ type: import_zod13.z.literal([
4816
+ import_v1045.ComponentType.Button,
4817
+ import_v1045.ComponentType.ChannelSelect,
4818
+ import_v1045.ComponentType.MentionableSelect,
4819
+ import_v1045.ComponentType.RoleSelect,
4820
+ import_v1045.ComponentType.StringSelect,
4821
+ import_v1045.ComponentType.UserSelect
4699
4822
  ])
4700
4823
  }).array()
4701
4824
  });
4702
4825
  var messageNoComponentsV2Predicate = baseMessagePredicate.extend({
4703
- content: import_zod12.z.string().max(2e3).optional(),
4826
+ content: import_zod13.z.string().max(2e3).optional(),
4704
4827
  embeds: embedPredicate.array().max(10).optional(),
4705
- sticker_ids: import_zod12.z.array(import_zod12.z.string()).max(3).optional(),
4828
+ sticker_ids: import_zod13.z.array(import_zod13.z.string()).max(3).optional(),
4706
4829
  poll: pollPredicate.optional(),
4707
4830
  components: basicActionRowPredicate.array().max(5).optional(),
4708
- flags: import_zod12.z.int().optional().refine((flags) => !flags || (flags & import_v1043.MessageFlags.IsComponentsV2) === 0, {
4831
+ flags: import_zod13.z.int().optional().refine((flags) => !flags || (flags & import_v1045.MessageFlags.IsComponentsV2) === 0, {
4709
4832
  error: "Cannot set content, embeds, stickers, or poll with IsComponentsV2 flag set"
4710
4833
  })
4711
4834
  }).refine(
4712
4835
  (data) => data.content !== void 0 || data.embeds !== void 0 && data.embeds.length > 0 || data.poll !== void 0 || data.attachments !== void 0 && data.attachments.length > 0 || data.components !== void 0 && data.components.length > 0 || data.sticker_ids !== void 0 && data.sticker_ids.length > 0,
4713
4836
  { error: "Messages must have content, embeds, a poll, attachments, components or stickers" }
4714
4837
  );
4715
- var allTopLevelComponentsPredicate = import_zod12.z.union([
4838
+ var allTopLevelComponentsPredicate = import_zod13.z.union([
4716
4839
  basicActionRowPredicate,
4717
- import_zod12.z.object({
4718
- type: import_zod12.z.literal([
4840
+ import_zod13.z.object({
4841
+ type: import_zod13.z.literal([
4719
4842
  // Components v2
4720
- import_v1043.ComponentType.Container,
4721
- import_v1043.ComponentType.File,
4722
- import_v1043.ComponentType.MediaGallery,
4723
- import_v1043.ComponentType.Section,
4724
- import_v1043.ComponentType.Separator,
4725
- import_v1043.ComponentType.TextDisplay,
4726
- import_v1043.ComponentType.Thumbnail
4843
+ import_v1045.ComponentType.Container,
4844
+ import_v1045.ComponentType.File,
4845
+ import_v1045.ComponentType.MediaGallery,
4846
+ import_v1045.ComponentType.Section,
4847
+ import_v1045.ComponentType.Separator,
4848
+ import_v1045.ComponentType.TextDisplay,
4849
+ import_v1045.ComponentType.Thumbnail
4727
4850
  ])
4728
4851
  })
4729
4852
  ]).array().min(1).max(10);
4730
4853
  var messageComponentsV2Predicate = baseMessagePredicate.extend({
4731
4854
  components: allTopLevelComponentsPredicate,
4732
- flags: import_zod12.z.int().refine((flags) => (flags & import_v1043.MessageFlags.IsComponentsV2) === import_v1043.MessageFlags.IsComponentsV2, {
4855
+ flags: import_zod13.z.int().refine((flags) => (flags & import_v1045.MessageFlags.IsComponentsV2) === import_v1045.MessageFlags.IsComponentsV2, {
4733
4856
  error: "Must set IsComponentsV2 flag to use Components V2"
4734
4857
  }),
4735
4858
  // These fields cannot be set
4736
- content: import_zod12.z.string().length(0).nullish(),
4737
- embeds: import_zod12.z.array(import_zod12.z.never()).nullish(),
4738
- sticker_ids: import_zod12.z.array(import_zod12.z.never()).nullish(),
4739
- poll: import_zod12.z.null().optional()
4859
+ content: import_zod13.z.string().length(0).nullish(),
4860
+ embeds: import_zod13.z.array(import_zod13.z.never()).nullish(),
4861
+ sticker_ids: import_zod13.z.array(import_zod13.z.never()).nullish(),
4862
+ poll: import_zod13.z.null().optional()
4740
4863
  });
4741
- var messagePredicate = import_zod12.z.union([messageNoComponentsV2Predicate, messageComponentsV2Predicate]);
4864
+ var messagePredicate = import_zod13.z.union([messageNoComponentsV2Predicate, messageComponentsV2Predicate]);
4742
4865
 
4743
4866
  // src/messages/AllowedMentions.ts
4744
4867
  var AllowedMentionsBuilder = class {
@@ -5628,7 +5751,7 @@ var MessageBuilder = class {
5628
5751
  };
5629
5752
 
5630
5753
  // src/index.ts
5631
- var version = "2.0.0-dev.1761134503-697556fd1";
5754
+ var version = "2.0.0-djs-file-upload.1761302390-5ae769c9e";
5632
5755
  // Annotate the CommonJS export names for ESM import in node:
5633
5756
  0 && (module.exports = {
5634
5757
  ActionRowBuilder,
@@ -5667,6 +5790,7 @@ var version = "2.0.0-dev.1761134503-697556fd1";
5667
5790
  EmbedFooterBuilder,
5668
5791
  EmojiOrLabelButtonMixin,
5669
5792
  FileBuilder,
5793
+ FileUploadBuilder,
5670
5794
  LabelBuilder,
5671
5795
  LinkButtonBuilder,
5672
5796
  MediaGalleryBuilder,
@@ -5721,6 +5845,7 @@ var version = "2.0.0-dev.1761134503-697556fd1";
5721
5845
  emojiPredicate,
5722
5846
  enableValidators,
5723
5847
  filePredicate,
5848
+ fileUploadPredicate,
5724
5849
  idPredicate,
5725
5850
  integerOptionPredicate,
5726
5851
  isValidationEnabled,