disgroove 2.2.7 → 3.0.0-dev.2cf2b90

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.
Files changed (92) hide show
  1. package/LICENSE +9 -9
  2. package/README.md +48 -48
  3. package/dist/lib/Client.d.ts +295 -300
  4. package/dist/lib/Client.js +480 -473
  5. package/dist/lib/constants.d.ts +7 -4
  6. package/dist/lib/constants.js +6 -3
  7. package/dist/lib/gateway/Dispatcher.d.ts +104 -0
  8. package/dist/lib/gateway/Dispatcher.js +471 -0
  9. package/dist/lib/gateway/Shard.d.ts +12 -21
  10. package/dist/lib/gateway/Shard.js +120 -584
  11. package/dist/lib/gateway/Transmitter.d.ts +22 -0
  12. package/dist/lib/gateway/Transmitter.js +93 -0
  13. package/dist/lib/gateway/WebSocketManager.d.ts +22 -0
  14. package/dist/lib/gateway/WebSocketManager.js +93 -0
  15. package/dist/lib/index.d.ts +4 -0
  16. package/dist/lib/index.js +4 -0
  17. package/dist/lib/rest/Endpoints.d.ts +94 -94
  18. package/dist/lib/rest/Endpoints.js +104 -104
  19. package/dist/lib/rest/RequestManager.js +17 -7
  20. package/dist/lib/rest/index.js +17 -7
  21. package/dist/lib/transformers/ApplicationCommands.js +4 -4
  22. package/dist/lib/transformers/Applications.d.ts +2 -0
  23. package/dist/lib/transformers/Applications.js +110 -4
  24. package/dist/lib/transformers/AuditLogs.js +10 -10
  25. package/dist/lib/transformers/AutoModeration.js +6 -6
  26. package/dist/lib/transformers/Channels.js +16 -16
  27. package/dist/lib/transformers/Components.d.ts +3 -1
  28. package/dist/lib/transformers/Components.js +42 -16
  29. package/dist/lib/transformers/Entitlements.d.ts +2 -2
  30. package/dist/lib/transformers/Entitlements.js +16 -16
  31. package/dist/lib/transformers/GuildScheduledEvents.js +8 -8
  32. package/dist/lib/transformers/GuildTemplates.js +4 -4
  33. package/dist/lib/transformers/Guilds.js +28 -28
  34. package/dist/lib/transformers/Interactions.js +74 -44
  35. package/dist/lib/transformers/Lobbies.js +2 -2
  36. package/dist/lib/transformers/Messages.js +18 -18
  37. package/dist/lib/transformers/Polls.js +2 -2
  38. package/dist/lib/transformers/Presences.d.ts +3 -3
  39. package/dist/lib/transformers/Presences.js +6 -6
  40. package/dist/lib/transformers/Roles.js +6 -6
  41. package/dist/lib/transformers/SKUs.js +2 -2
  42. package/dist/lib/transformers/Soundboards.js +6 -6
  43. package/dist/lib/transformers/StageInstances.js +6 -6
  44. package/dist/lib/transformers/Stickers.js +3 -3
  45. package/dist/lib/transformers/Subscriptions.js +8 -8
  46. package/dist/lib/transformers/Teams.js +4 -4
  47. package/dist/lib/transformers/Users.js +6 -6
  48. package/dist/lib/transformers/Voice.js +8 -8
  49. package/dist/lib/transformers/Webhooks.js +6 -6
  50. package/dist/lib/types/application-command.d.ts +9 -4
  51. package/dist/lib/types/application-role-connection-metadata.d.ts +1 -0
  52. package/dist/lib/types/application.d.ts +12 -7
  53. package/dist/lib/types/audit-log.d.ts +9 -5
  54. package/dist/lib/types/auto-moderation.d.ts +7 -3
  55. package/dist/lib/types/channel.d.ts +17 -23
  56. package/dist/lib/types/common.d.ts +2 -0
  57. package/dist/lib/types/components.d.ts +79 -19
  58. package/dist/lib/types/emoji.d.ts +1 -0
  59. package/dist/lib/types/entitlements.d.ts +5 -4
  60. package/dist/lib/types/gateway-events.d.ts +387 -210
  61. package/dist/lib/types/guild-scheduled-event.d.ts +10 -5
  62. package/dist/lib/types/guild-template.d.ts +3 -2
  63. package/dist/lib/types/guild.d.ts +33 -17
  64. package/dist/lib/types/interaction.d.ts +26 -13
  65. package/dist/lib/types/invite.d.ts +3 -0
  66. package/dist/lib/types/lobby.d.ts +3 -1
  67. package/dist/lib/types/message.d.ts +29 -15
  68. package/dist/lib/types/poll.d.ts +7 -1
  69. package/dist/lib/types/role.d.ts +6 -3
  70. package/dist/lib/types/sku.d.ts +2 -1
  71. package/dist/lib/types/soundboard.d.ts +4 -3
  72. package/dist/lib/types/stage-instance.d.ts +4 -3
  73. package/dist/lib/types/sticker.d.ts +8 -5
  74. package/dist/lib/types/subscription.d.ts +6 -5
  75. package/dist/lib/types/team.d.ts +4 -2
  76. package/dist/lib/types/user.d.ts +10 -3
  77. package/dist/lib/types/voice.d.ts +6 -4
  78. package/dist/lib/types/webhook.d.ts +4 -3
  79. package/dist/lib/utils/CDN.d.ts +22 -22
  80. package/dist/lib/utils/CDN.js +22 -22
  81. package/dist/lib/utils/errors.d.ts +3 -1
  82. package/dist/lib/utils/errors.js +4 -0
  83. package/dist/lib/utils/formatters.d.ts +6 -6
  84. package/dist/lib/utils/formatters.js +27 -28
  85. package/dist/lib/utils/index.d.ts +1 -0
  86. package/dist/lib/utils/index.js +18 -7
  87. package/dist/lib/utils/permissions.d.ts +2 -0
  88. package/dist/lib/utils/permissions.js +7 -0
  89. package/dist/package.json +1 -1
  90. package/package.json +2 -2
  91. package/dist/lib/types/message-components.d.ts +0 -450
  92. package/dist/lib/types/message-components.js +0 -2
@@ -34,11 +34,12 @@ export interface RawActionMetadata {
34
34
  duration_seconds: number;
35
35
  custom_message?: string;
36
36
  }
37
+ /** https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-rule-object-auto-moderation-rule-structure */
37
38
  export interface AutoModerationRule {
38
39
  id: snowflake;
39
- guildID: snowflake;
40
+ guildId: snowflake;
40
41
  name: string;
41
- creatorID: snowflake;
42
+ creatorId: snowflake;
42
43
  eventType: EventTypes;
43
44
  triggerType: TriggerTypes;
44
45
  triggerMetadata: TriggerMetadata;
@@ -47,6 +48,7 @@ export interface AutoModerationRule {
47
48
  exemptRoles: Array<snowflake>;
48
49
  exemptChannels: Array<snowflake>;
49
50
  }
51
+ /** https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-rule-object-trigger-metadata */
50
52
  export interface TriggerMetadata {
51
53
  keywordFilter: Array<string>;
52
54
  regexPatterns: Array<string>;
@@ -55,12 +57,14 @@ export interface TriggerMetadata {
55
57
  mentionTotalLimit: number;
56
58
  mentionRaidProtection: boolean;
57
59
  }
60
+ /** https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-action-object-auto-moderation-action-structure */
58
61
  export interface AutoModerationAction {
59
62
  type: ActionTypes;
60
63
  metadata: ActionMetadata;
61
64
  }
65
+ /** https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-action-object-action-metadata */
62
66
  export interface ActionMetadata {
63
- channelID: snowflake;
67
+ channelId: snowflake;
64
68
  durationSeconds: number;
65
69
  customMessage?: string;
66
70
  }
@@ -82,32 +82,26 @@ export interface RawForumTag {
82
82
  emoji_id?: snowflake;
83
83
  emoji_name?: string;
84
84
  }
85
- /** https://discord.com/developers/docs/resources/channel#role-subscription-data-object-role-subscription-data-object-structure */
86
- export interface RawRoleSubscriptionData {
87
- role_subscription_listing_id: snowflake;
88
- tier_name: string;
89
- total_months_subscribed: number;
90
- is_renewal: boolean;
91
- }
85
+ /** https://discord.com/developers/docs/resources/channel#channel-object-channel-structure */
92
86
  export interface Channel {
93
87
  id: snowflake;
94
88
  type: ChannelTypes;
95
- guildID?: snowflake;
89
+ guildId?: snowflake;
96
90
  position?: number;
97
91
  permissionOverwrites?: Array<Overwrite>;
98
92
  name?: string | null;
99
93
  topic?: string | null;
100
94
  nsfw?: boolean;
101
- lastMessageID?: snowflake | null;
95
+ lastMessageId?: snowflake | null;
102
96
  bitrate?: number;
103
97
  userLimit?: number;
104
98
  rateLimitPerUser?: number;
105
99
  recipients?: Array<User>;
106
100
  icon?: string | null;
107
- ownerID?: snowflake;
108
- applicationID?: snowflake;
101
+ ownerId?: snowflake;
102
+ applicationId?: snowflake;
109
103
  managed?: boolean;
110
- parentID?: snowflake | null;
104
+ parentId?: snowflake | null;
111
105
  lastPinTimestamp?: timestamp | null;
112
106
  rtcRegion?: string | null;
113
107
  videoQualityMode?: VideoQualityModes;
@@ -126,16 +120,19 @@ export interface Channel {
126
120
  defaultSortOrder?: SortOrderTypes | null;
127
121
  defaultForumLayout?: ForumLayoutTypes;
128
122
  }
123
+ /** https://discord.com/developers/docs/resources/channel#followed-channel-object-followed-channel-structure */
129
124
  export interface FollowedChannel {
130
- channelID: snowflake;
131
- webhookID: snowflake;
125
+ channelId: snowflake;
126
+ webhookId: snowflake;
132
127
  }
128
+ /** https://discord.com/developers/docs/resources/channel#overwrite-object-overwrite-structure */
133
129
  export interface Overwrite {
134
130
  id: snowflake;
135
131
  type: number;
136
132
  allow: string;
137
133
  deny: string;
138
134
  }
135
+ /** https://discord.com/developers/docs/resources/channel#thread-metadata-object-thread-metadata-structure */
139
136
  export interface ThreadMetadata {
140
137
  archived: boolean;
141
138
  autoArchiveDuration: number;
@@ -144,27 +141,24 @@ export interface ThreadMetadata {
144
141
  invitable?: boolean;
145
142
  createTimestamp?: timestamp | null;
146
143
  }
144
+ /** https://discord.com/developers/docs/resources/channel#thread-member-object-thread-member-structure */
147
145
  export interface ThreadMember {
148
146
  id?: snowflake;
149
- userID?: snowflake;
147
+ userId?: snowflake;
150
148
  joinTimestamp: timestamp;
151
149
  flags: number;
152
150
  member?: GuildMember;
153
151
  }
152
+ /** https://discord.com/developers/docs/resources/channel#default-reaction-object-default-reaction-structure */
154
153
  export interface DefaultReaction {
155
- emojiID: snowflake | null;
154
+ emojiId: snowflake | null;
156
155
  emojiName: string | null;
157
156
  }
157
+ /** https://discord.com/developers/docs/resources/channel#forum-tag-object-forum-tag-structure */
158
158
  export interface ForumTag {
159
159
  id: snowflake;
160
160
  name: string;
161
161
  moderated: boolean;
162
- emojiID?: snowflake;
162
+ emojiId?: snowflake;
163
163
  emojiName?: string;
164
164
  }
165
- export interface RoleSubscriptionData {
166
- roleSubscriptionListingID: snowflake;
167
- tierName: string;
168
- totalMonthsSubscribed: number;
169
- isRenewal: boolean;
170
- }
@@ -1,4 +1,6 @@
1
1
  import type { Locales } from "../constants";
2
2
  export type LocaleMap = Partial<Record<Locales, string>>;
3
+ /** https://discord.com/developers/docs/reference#snowflakes */
3
4
  export type snowflake = string;
5
+ /** https://discord.com/developers/docs/reference#iso8601-datetime */
4
6
  export type timestamp = string;
@@ -222,13 +222,29 @@ export interface RawLabel {
222
222
  id?: number;
223
223
  label: string;
224
224
  description?: string;
225
- component: RawTextInput | RawStringSelect | RawUserSelect | RawRoleSelect | RawMentionableSelect | RawChannelSelect;
225
+ component: RawTextInput | RawStringSelect | RawUserSelect | RawRoleSelect | RawMentionableSelect | RawChannelSelect | RawFileUpload;
226
226
  }
227
227
  /** https://discord.com/developers/docs/components/reference#label-label-interaction-response-structure */
228
228
  export interface RawLabelInteractionResponse {
229
229
  type: ComponentTypes.Label;
230
230
  id: number;
231
- component: RawTextInputInteractionResponse | RawStringSelectInteractionResponse | RawUserSelectInteractionResponse | RawRoleSelectInteractionResponse | RawMentionableSelectInteractionResponse | RawChannelSelectInteractionResponse;
231
+ component: RawTextInputInteractionResponse | RawStringSelectInteractionResponse | RawUserSelectInteractionResponse | RawRoleSelectInteractionResponse | RawMentionableSelectInteractionResponse | RawChannelSelectInteractionResponse | RawFileUploadInteractionResponse;
232
+ }
233
+ /** https://discord.com/developers/docs/components/reference#file-upload-file-upload-structure */
234
+ export interface RawFileUpload {
235
+ type: ComponentTypes.FileUpload;
236
+ id?: number;
237
+ custom_id: string;
238
+ min_values?: number;
239
+ max_values?: number;
240
+ required?: boolean;
241
+ }
242
+ /** https://discord.com/developers/docs/components/reference#file-upload-file-upload-interaction-response-structure */
243
+ export interface RawFileUploadInteractionResponse {
244
+ type: ComponentTypes.FileUpload;
245
+ id: number;
246
+ custom_id: string;
247
+ values: Array<snowflake>;
232
248
  }
233
249
  /** https://discord.com/developers/docs/components/reference#unfurled-media-item-unfurled-media-item-structure */
234
250
  export interface RawUnfurledMediaItem {
@@ -239,26 +255,29 @@ export interface RawUnfurledMediaItem {
239
255
  content_type?: string;
240
256
  attachment_id?: snowflake;
241
257
  }
258
+ /** https://discord.com/developers/docs/components/reference#action-row-action-row-structure */
242
259
  export interface ActionRow {
243
260
  type: ComponentTypes.ActionRow;
244
261
  components: Array<Button | StringSelect | TextInput | UserSelect | RoleSelect | MentionableSelect | ChannelSelect>;
245
262
  id?: number;
246
263
  }
264
+ /** https://discord.com/developers/docs/components/reference#button-button-structure */
247
265
  export interface Button {
248
266
  type: ComponentTypes.Button;
249
267
  id?: number;
250
268
  style: ButtonStyles;
251
269
  label?: string;
252
270
  emoji?: Pick<Emoji, "name" | "id" | "animated">;
253
- customID: string;
254
- skuID?: snowflake;
271
+ customId: string;
272
+ skuId?: snowflake;
255
273
  url?: string;
256
274
  disabled?: boolean;
257
275
  }
276
+ /** https://discord.com/developers/docs/components/reference#string-select-string-select-structure */
258
277
  export interface StringSelect {
259
278
  type: ComponentTypes.StringSelect;
260
279
  id?: number;
261
- customID: string;
280
+ customId: string;
262
281
  options: Array<SelectOption>;
263
282
  placeholder?: string;
264
283
  minValues?: number;
@@ -266,13 +285,15 @@ export interface StringSelect {
266
285
  required?: boolean;
267
286
  disabled?: boolean;
268
287
  }
288
+ /** https://discord.com/developers/docs/components/reference#string-select-string-select-interaction-response-structure */
269
289
  export interface StringSelectInteractionResponse {
270
290
  type: ComponentTypes.StringSelect;
271
291
  componentType: ComponentTypes.StringSelect;
272
292
  id: number;
273
- customID: string;
293
+ customId: string;
274
294
  values: Array<string>;
275
295
  }
296
+ /** https://discord.com/developers/docs/components/reference#string-select-select-option-structure */
276
297
  export interface SelectOption {
277
298
  label: string;
278
299
  value: string;
@@ -280,10 +301,11 @@ export interface SelectOption {
280
301
  emoji?: Pick<Emoji, "name" | "id" | "animated">;
281
302
  default?: boolean;
282
303
  }
304
+ /** https://discord.com/developers/docs/components/reference#text-input-text-input-structure */
283
305
  export interface TextInput {
284
306
  type: ComponentTypes.TextInput;
285
307
  id?: number;
286
- customID: string;
308
+ customId: string;
287
309
  style: TextInputStyles;
288
310
  minLength?: number;
289
311
  maxLength?: number;
@@ -292,74 +314,83 @@ export interface TextInput {
292
314
  placeholder?: string;
293
315
  label: string;
294
316
  }
317
+ /** https://discord.com/developers/docs/components/reference#text-input-text-input-interaction-response-structure */
295
318
  export interface TextInputInteractionResponse {
296
319
  type: ComponentTypes.TextInput;
297
320
  id: number;
298
- customID: string;
321
+ customId: string;
299
322
  value: string;
300
323
  }
324
+ /** https://discord.com/developers/docs/components/reference#user-select-user-select-structure */
301
325
  export interface UserSelect {
302
326
  type: ComponentTypes.UserSelect;
303
327
  id?: number;
304
- customID: string;
328
+ customId: string;
305
329
  placeholder?: string;
306
330
  defaultValues?: Array<DefaultValue>;
307
331
  minValues?: number;
308
332
  maxValues?: number;
309
333
  disabled?: boolean;
310
334
  }
335
+ /** https://discord.com/developers/docs/components/reference#user-select-user-select-interaction-response-structure */
311
336
  export interface UserSelectInteractionResponse {
312
337
  type: ComponentTypes.UserSelect;
313
338
  componentType: ComponentTypes.UserSelect;
314
339
  id: number;
315
- customID: string;
340
+ customId: string;
316
341
  resolved: ResolvedData;
317
342
  values: Array<snowflake>;
318
343
  }
344
+ /** https://discord.com/developers/docs/components/reference#user-select-select-default-value-structure */
319
345
  export interface DefaultValue {
320
346
  id: snowflake;
321
347
  type: "user" | "role" | "channel";
322
348
  }
349
+ /** https://discord.com/developers/docs/components/reference#role-select-role-select-structure */
323
350
  export interface RoleSelect {
324
351
  type: ComponentTypes.RoleSelect;
325
352
  id?: number;
326
- customID: string;
353
+ customId: string;
327
354
  placeholder?: string;
328
355
  defaultValues?: Array<DefaultValue>;
329
356
  minValues?: number;
330
357
  maxValues?: number;
331
358
  disabled?: boolean;
332
359
  }
360
+ /** https://discord.com/developers/docs/components/reference#role-select-role-select-interaction-response-structure */
333
361
  export interface RoleSelectInteractionResponse {
334
362
  type: ComponentTypes.RoleSelect;
335
363
  componentType: ComponentTypes.RoleSelect;
336
364
  id: number;
337
- customID: string;
365
+ customId: string;
338
366
  resolved: ResolvedData;
339
367
  values: Array<snowflake>;
340
368
  }
369
+ /** https://discord.com/developers/docs/components/reference#mentionable-select-mentionable-select-structure */
341
370
  export interface MentionableSelect {
342
371
  type: ComponentTypes.MentionableSelect;
343
372
  id?: number;
344
- customID: string;
373
+ customId: string;
345
374
  placeholder?: string;
346
375
  defaultValues?: Array<DefaultValue>;
347
376
  minValues?: number;
348
377
  maxValues?: number;
349
378
  disabled?: boolean;
350
379
  }
380
+ /** https://discord.com/developers/docs/components/reference#mentionable-select-mentionable-select-interaction-response-structure */
351
381
  export interface MentionableSelectInteractionResponse {
352
382
  type: ComponentTypes.MentionableSelect;
353
383
  componentType: ComponentTypes.MentionableSelect;
354
384
  id: number;
355
- customID: string;
385
+ customId: string;
356
386
  resolved: ResolvedData;
357
387
  values: Array<snowflake>;
358
388
  }
389
+ /** https://discord.com/developers/docs/components/reference#channel-select-channel-select-structure */
359
390
  export interface ChannelSelect {
360
391
  type: ComponentTypes.ChannelSelect;
361
392
  id?: number;
362
- customID: string;
393
+ customId: string;
363
394
  channelTypes?: Array<ChannelTypes>;
364
395
  placeholder?: string;
365
396
  defaultValues?: Array<DefaultValue>;
@@ -367,29 +398,34 @@ export interface ChannelSelect {
367
398
  maxValues?: number;
368
399
  disabled?: boolean;
369
400
  }
401
+ /** https://discord.com/developers/docs/components/reference#channel-select-channel-select-interaction-response-structure */
370
402
  export interface ChannelSelectInteractionResponse {
371
403
  type: ComponentTypes.ChannelSelect;
372
404
  componentType: ComponentTypes.ChannelSelect;
373
405
  id: number;
374
- customID: string;
406
+ customId: string;
375
407
  resolved: ResolvedData;
376
408
  values: Array<snowflake>;
377
409
  }
410
+ /** https://discord.com/developers/docs/components/reference#section-section-structure */
378
411
  export interface Section {
379
412
  type: ComponentTypes.Section;
380
413
  id?: number;
381
414
  components: Array<TextDisplay>;
382
415
  accessory: Button | Thumbnail;
383
416
  }
417
+ /** https://discord.com/developers/docs/components/reference#text-display-text-display-structure */
384
418
  export interface TextDisplay {
385
419
  type: ComponentTypes.TextDisplay;
386
420
  id?: number;
387
421
  content: string;
388
422
  }
423
+ /** https://discord.com/developers/docs/components/reference#text-display-text-display-interaction-response-structure */
389
424
  export interface TextDisplayInteractionResponse {
390
425
  type: ComponentTypes.TextDisplay;
391
426
  id: number;
392
427
  }
428
+ /** https://discord.com/developers/docs/components/reference#thumbnail-thumbnail-structure */
393
429
  export interface Thumbnail {
394
430
  type: ComponentTypes.Thumbnail;
395
431
  id?: number;
@@ -397,16 +433,19 @@ export interface Thumbnail {
397
433
  description?: string;
398
434
  spoiler?: boolean;
399
435
  }
436
+ /** https://discord.com/developers/docs/components/reference#media-gallery-media-gallery-structure */
400
437
  export interface MediaGallery {
401
438
  type: ComponentTypes.MediaGallery;
402
439
  id?: number;
403
440
  items: Array<MediaGalleryItem>;
404
441
  }
442
+ /** https://discord.com/developers/docs/components/reference#media-gallery-media-gallery-item-structure */
405
443
  export interface MediaGalleryItem {
406
444
  media: UnfurledMediaItem;
407
445
  description?: string;
408
446
  spoiler?: boolean;
409
447
  }
448
+ /** https://discord.com/developers/docs/components/reference#file-file-structure */
410
449
  export interface File {
411
450
  type: ComponentTypes.File;
412
451
  id?: number;
@@ -415,12 +454,14 @@ export interface File {
415
454
  name: string;
416
455
  size: number;
417
456
  }
457
+ /** https://discord.com/developers/docs/components/reference#separator-separator-structure */
418
458
  export interface Separator {
419
459
  type: ComponentTypes.Separator;
420
460
  id?: number;
421
461
  divider?: boolean;
422
462
  spacing?: SeparatorSpacing;
423
463
  }
464
+ /** https://discord.com/developers/docs/components/reference#container-container-structure */
424
465
  export interface Container {
425
466
  type: ComponentTypes.Container;
426
467
  id?: number;
@@ -428,23 +469,42 @@ export interface Container {
428
469
  accentColor?: number | null;
429
470
  spoiler?: boolean;
430
471
  }
472
+ /** https://discord.com/developers/docs/components/reference#label-label-structure */
431
473
  export interface Label {
432
474
  type: ComponentTypes.Label;
433
475
  id?: number;
434
476
  label: string;
435
477
  description?: string;
436
- component: TextInput | StringSelect | UserSelect | RoleSelect | MentionableSelect | ChannelSelect;
478
+ component: TextInput | StringSelect | UserSelect | RoleSelect | MentionableSelect | ChannelSelect | FileUpload;
437
479
  }
480
+ /** https://discord.com/developers/docs/components/reference#label-label-interaction-response-structure */
438
481
  export interface LabelInteractionResponse {
439
482
  type: ComponentTypes.Label;
440
483
  id: number;
441
- component: TextInputInteractionResponse | StringSelectInteractionResponse | UserSelectInteractionResponse | RoleSelectInteractionResponse | MentionableSelectInteractionResponse | ChannelSelectInteractionResponse;
484
+ component: TextInputInteractionResponse | StringSelectInteractionResponse | UserSelectInteractionResponse | RoleSelectInteractionResponse | MentionableSelectInteractionResponse | ChannelSelectInteractionResponse | FileUploadInteractionResponse;
442
485
  }
486
+ /** https://discord.com/developers/docs/components/reference#file-upload-file-upload-structure */
487
+ export interface FileUpload {
488
+ type: ComponentTypes.FileUpload;
489
+ id?: number;
490
+ customId: string;
491
+ minValues?: number;
492
+ maxValues?: number;
493
+ required?: boolean;
494
+ }
495
+ /** https://discord.com/developers/docs/components/reference#file-upload-file-upload-interaction-response-structure */
496
+ export interface FileUploadInteractionResponse {
497
+ type: ComponentTypes.FileUpload;
498
+ id: number;
499
+ customId: string;
500
+ values: Array<snowflake>;
501
+ }
502
+ /** https://discord.com/developers/docs/components/reference#unfurled-media-item-unfurled-media-item-structure */
443
503
  export interface UnfurledMediaItem {
444
504
  url: string;
445
505
  proxyURL?: string;
446
506
  height?: number | null;
447
507
  width?: number | null;
448
508
  contentType?: string;
449
- attachmentID?: snowflake;
509
+ attachmentId?: snowflake;
450
510
  }
@@ -11,6 +11,7 @@ export interface RawEmoji {
11
11
  animated?: boolean;
12
12
  available?: boolean;
13
13
  }
14
+ /** https://discord.com/developers/docs/resources/emoji#emoji-object-emoji-structure */
14
15
  export interface Emoji {
15
16
  id: snowflake | null;
16
17
  name: string | null;
@@ -13,15 +13,16 @@ export interface RawEntitlement {
13
13
  ends_at: timestamp | null;
14
14
  guild_id?: snowflake;
15
15
  }
16
+ /** https://discord.com/developers/docs/resources/entitlement#entitlement-object-entitlement-structure */
16
17
  export interface Entitlement {
17
18
  id: snowflake;
18
- skuID: snowflake;
19
- applicationID: snowflake;
20
- userID?: snowflake;
19
+ skuId: snowflake;
20
+ applicationId: snowflake;
21
+ userId?: snowflake;
21
22
  type: EntitlementTypes;
22
23
  deleted: boolean;
23
24
  consumed?: boolean;
24
25
  startsAt: timestamp | null;
25
26
  endsAt: timestamp | null;
26
- guildID?: snowflake;
27
+ guildId?: snowflake;
27
28
  }