disgroove 2.2.7-dev.fca4921 → 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 (98) hide show
  1. package/LICENSE +9 -9
  2. package/README.md +48 -48
  3. package/dist/lib/Client.d.ts +332 -301
  4. package/dist/lib/Client.js +562 -462
  5. package/dist/lib/constants.d.ts +35 -24
  6. package/dist/lib/constants.js +39 -27
  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 +121 -570
  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 +5 -1
  16. package/dist/lib/index.js +5 -1
  17. package/dist/lib/rest/Endpoints.d.ts +95 -91
  18. package/dist/lib/rest/Endpoints.js +111 -102
  19. package/dist/lib/rest/RequestManager.d.ts +1 -3
  20. package/dist/lib/rest/RequestManager.js +17 -7
  21. package/dist/lib/rest/index.js +17 -7
  22. package/dist/lib/transformers/ApplicationCommands.js +4 -4
  23. package/dist/lib/transformers/Applications.d.ts +2 -0
  24. package/dist/lib/transformers/Applications.js +110 -4
  25. package/dist/lib/transformers/AuditLogs.js +10 -10
  26. package/dist/lib/transformers/AutoModeration.js +6 -6
  27. package/dist/lib/transformers/Channels.js +16 -16
  28. package/dist/lib/transformers/Components.d.ts +15 -3
  29. package/dist/lib/transformers/Components.js +309 -156
  30. package/dist/lib/transformers/Entitlements.d.ts +2 -2
  31. package/dist/lib/transformers/Entitlements.js +16 -16
  32. package/dist/lib/transformers/GuildScheduledEvents.js +8 -8
  33. package/dist/lib/transformers/GuildTemplates.js +4 -4
  34. package/dist/lib/transformers/Guilds.js +28 -28
  35. package/dist/lib/transformers/Interactions.js +330 -55
  36. package/dist/lib/transformers/Lobbies.d.ts +7 -0
  37. package/dist/lib/transformers/Lobbies.js +38 -0
  38. package/dist/lib/transformers/Messages.d.ts +4 -3
  39. package/dist/lib/transformers/Messages.js +38 -52
  40. package/dist/lib/transformers/Polls.js +2 -2
  41. package/dist/lib/transformers/Presences.d.ts +3 -3
  42. package/dist/lib/transformers/Presences.js +6 -6
  43. package/dist/lib/transformers/Roles.js +8 -8
  44. package/dist/lib/transformers/SKUs.js +2 -2
  45. package/dist/lib/transformers/Soundboards.js +6 -6
  46. package/dist/lib/transformers/StageInstances.js +6 -6
  47. package/dist/lib/transformers/Stickers.js +3 -3
  48. package/dist/lib/transformers/Subscriptions.js +8 -8
  49. package/dist/lib/transformers/Teams.js +4 -4
  50. package/dist/lib/transformers/Users.js +6 -6
  51. package/dist/lib/transformers/Voice.js +8 -8
  52. package/dist/lib/transformers/Webhooks.js +6 -6
  53. package/dist/lib/transformers/index.d.ts +2 -1
  54. package/dist/lib/transformers/index.js +2 -1
  55. package/dist/lib/types/application-command.d.ts +9 -4
  56. package/dist/lib/types/application-role-connection-metadata.d.ts +1 -0
  57. package/dist/lib/types/application.d.ts +12 -7
  58. package/dist/lib/types/audit-log.d.ts +9 -5
  59. package/dist/lib/types/auto-moderation.d.ts +7 -3
  60. package/dist/lib/types/channel.d.ts +17 -23
  61. package/dist/lib/types/common.d.ts +2 -0
  62. package/dist/lib/types/components.d.ts +510 -0
  63. package/dist/lib/types/emoji.d.ts +1 -0
  64. package/dist/lib/types/entitlements.d.ts +5 -4
  65. package/dist/lib/types/gateway-events.d.ts +406 -207
  66. package/dist/lib/types/guild-scheduled-event.d.ts +10 -5
  67. package/dist/lib/types/guild-template.d.ts +3 -2
  68. package/dist/lib/types/guild.d.ts +40 -22
  69. package/dist/lib/types/interaction.d.ts +35 -18
  70. package/dist/lib/types/invite.d.ts +5 -2
  71. package/dist/lib/types/lobby.d.ts +31 -0
  72. package/dist/lib/types/lobby.js +2 -0
  73. package/dist/lib/types/message.d.ts +32 -20
  74. package/dist/lib/types/poll.d.ts +7 -1
  75. package/dist/lib/types/role.d.ts +8 -5
  76. package/dist/lib/types/sku.d.ts +2 -1
  77. package/dist/lib/types/soundboard.d.ts +4 -3
  78. package/dist/lib/types/stage-instance.d.ts +4 -3
  79. package/dist/lib/types/sticker.d.ts +8 -5
  80. package/dist/lib/types/subscription.d.ts +6 -5
  81. package/dist/lib/types/team.d.ts +4 -2
  82. package/dist/lib/types/user.d.ts +10 -3
  83. package/dist/lib/types/voice.d.ts +6 -4
  84. package/dist/lib/types/webhook.d.ts +4 -3
  85. package/dist/lib/utils/CDN.d.ts +22 -22
  86. package/dist/lib/utils/CDN.js +22 -22
  87. package/dist/lib/utils/errors.d.ts +3 -1
  88. package/dist/lib/utils/errors.js +4 -0
  89. package/dist/lib/utils/formatters.d.ts +7 -7
  90. package/dist/lib/utils/formatters.js +28 -29
  91. package/dist/lib/utils/index.d.ts +1 -0
  92. package/dist/lib/utils/index.js +18 -7
  93. package/dist/lib/utils/permissions.d.ts +2 -0
  94. package/dist/lib/utils/permissions.js +7 -0
  95. package/dist/package.json +4 -4
  96. package/package.json +5 -5
  97. package/dist/lib/types/message-components.d.ts +0 -234
  98. /package/dist/lib/types/{message-components.js → components.js} +0 -0
@@ -0,0 +1,510 @@
1
+ import type { ButtonStyles, ChannelTypes, ComponentTypes, SeparatorSpacing, TextInputStyles } from "../constants";
2
+ import type { snowflake } from "./common";
3
+ import type { RawEmoji, Emoji } from "./emoji";
4
+ import type { RawResolvedData, ResolvedData } from "./interaction";
5
+ /** https://discord.com/developers/docs/components/reference#action-row-action-row-structure */
6
+ export interface RawActionRow {
7
+ type: ComponentTypes.ActionRow;
8
+ components: Array<RawButton | RawStringSelect | RawTextInput | RawUserSelect | RawRoleSelect | RawMentionableSelect | RawChannelSelect>;
9
+ id?: number;
10
+ }
11
+ /** https://discord.com/developers/docs/components/reference#button-button-structure */
12
+ export interface RawButton {
13
+ type: ComponentTypes.Button;
14
+ id?: number;
15
+ style: ButtonStyles;
16
+ label?: string;
17
+ emoji?: Pick<RawEmoji, "name" | "id" | "animated">;
18
+ custom_id: string;
19
+ sku_id?: snowflake;
20
+ url?: string;
21
+ disabled?: boolean;
22
+ }
23
+ /** https://discord.com/developers/docs/components/reference#string-select-string-select-structure */
24
+ export interface RawStringSelect {
25
+ type: ComponentTypes.StringSelect;
26
+ id?: number;
27
+ custom_id: string;
28
+ options: Array<RawSelectOption>;
29
+ placeholder?: string;
30
+ min_values?: number;
31
+ max_values?: number;
32
+ required?: boolean;
33
+ disabled?: boolean;
34
+ }
35
+ /** https://discord.com/developers/docs/components/reference#string-select-string-select-interaction-response-structure */
36
+ export interface RawStringSelectInteractionResponse {
37
+ type: ComponentTypes.StringSelect;
38
+ component_type: ComponentTypes.StringSelect;
39
+ id: number;
40
+ custom_id: string;
41
+ values: Array<string>;
42
+ }
43
+ /** https://discord.com/developers/docs/components/reference#string-select-select-option-structure */
44
+ export interface RawSelectOption {
45
+ label: string;
46
+ value: string;
47
+ description?: string;
48
+ emoji?: Pick<RawEmoji, "name" | "id" | "animated">;
49
+ default?: boolean;
50
+ }
51
+ /** https://discord.com/developers/docs/components/reference#text-input-text-input-structure */
52
+ export interface RawTextInput {
53
+ type: ComponentTypes.TextInput;
54
+ id?: number;
55
+ custom_id: string;
56
+ style: TextInputStyles;
57
+ min_length?: number;
58
+ max_length?: number;
59
+ required?: boolean;
60
+ value?: string;
61
+ placeholder?: string;
62
+ label: string;
63
+ }
64
+ /** https://discord.com/developers/docs/components/reference#text-input-text-input-interaction-response-structure */
65
+ export interface RawTextInputInteractionResponse {
66
+ type: ComponentTypes.TextInput;
67
+ id: number;
68
+ custom_id: string;
69
+ value: string;
70
+ }
71
+ /** https://discord.com/developers/docs/components/reference#user-select-user-select-structure */
72
+ export interface RawUserSelect {
73
+ type: ComponentTypes.UserSelect;
74
+ id?: number;
75
+ custom_id: string;
76
+ placeholder?: string;
77
+ default_values?: Array<RawDefaultValue>;
78
+ min_values?: number;
79
+ max_values?: number;
80
+ disabled?: boolean;
81
+ }
82
+ /** https://discord.com/developers/docs/components/reference#user-select-user-select-interaction-response-structure */
83
+ export interface RawUserSelectInteractionResponse {
84
+ type: ComponentTypes.UserSelect;
85
+ component_type: ComponentTypes.UserSelect;
86
+ id: number;
87
+ custom_id: string;
88
+ resolved: RawResolvedData;
89
+ values: Array<snowflake>;
90
+ }
91
+ /** https://discord.com/developers/docs/components/reference#user-select-select-default-value-structure */
92
+ export interface RawDefaultValue {
93
+ id: snowflake;
94
+ type: "user" | "role" | "channel";
95
+ }
96
+ /** https://discord.com/developers/docs/components/reference#role-select-role-select-structure */
97
+ export interface RawRoleSelect {
98
+ type: ComponentTypes.RoleSelect;
99
+ id?: number;
100
+ custom_id: string;
101
+ placeholder?: string;
102
+ default_values?: Array<RawDefaultValue>;
103
+ min_values?: number;
104
+ max_values?: number;
105
+ disabled?: boolean;
106
+ }
107
+ /** https://discord.com/developers/docs/components/reference#role-select-role-select-interaction-response-structure */
108
+ export interface RawRoleSelectInteractionResponse {
109
+ type: ComponentTypes.RoleSelect;
110
+ component_type: ComponentTypes.RoleSelect;
111
+ id: number;
112
+ custom_id: string;
113
+ resolved: RawResolvedData;
114
+ values: Array<snowflake>;
115
+ }
116
+ /** https://discord.com/developers/docs/components/reference#mentionable-select-mentionable-select-structure */
117
+ export interface RawMentionableSelect {
118
+ type: ComponentTypes.MentionableSelect;
119
+ id?: number;
120
+ custom_id: string;
121
+ placeholder?: string;
122
+ default_values?: Array<RawDefaultValue>;
123
+ min_values?: number;
124
+ max_values?: number;
125
+ disabled?: boolean;
126
+ }
127
+ /** https://discord.com/developers/docs/components/reference#mentionable-select-mentionable-select-interaction-response-structure */
128
+ export interface RawMentionableSelectInteractionResponse {
129
+ type: ComponentTypes.MentionableSelect;
130
+ component_type: ComponentTypes.MentionableSelect;
131
+ id: number;
132
+ custom_id: string;
133
+ resolved: RawResolvedData;
134
+ values: Array<snowflake>;
135
+ }
136
+ /** https://discord.com/developers/docs/components/reference#channel-select-channel-select-structure */
137
+ export interface RawChannelSelect {
138
+ type: ComponentTypes.ChannelSelect;
139
+ id?: number;
140
+ custom_id: string;
141
+ channel_types?: Array<ChannelTypes>;
142
+ placeholder?: string;
143
+ default_values?: Array<RawDefaultValue>;
144
+ min_values?: number;
145
+ max_values?: number;
146
+ disabled?: boolean;
147
+ }
148
+ /** https://discord.com/developers/docs/components/reference#channel-select-channel-select-interaction-response-structure */
149
+ export interface RawChannelSelectInteractionResponse {
150
+ type: ComponentTypes.ChannelSelect;
151
+ component_type: ComponentTypes.ChannelSelect;
152
+ id: number;
153
+ custom_id: string;
154
+ resolved: RawResolvedData;
155
+ values: Array<snowflake>;
156
+ }
157
+ /** https://discord.com/developers/docs/components/reference#section-section-structure */
158
+ export interface RawSection {
159
+ type: ComponentTypes.Section;
160
+ id?: number;
161
+ components: Array<RawTextDisplay>;
162
+ accessory: RawButton | RawThumbnail;
163
+ }
164
+ /** https://discord.com/developers/docs/components/reference#text-display-text-display-structure */
165
+ export interface RawTextDisplay {
166
+ type: ComponentTypes.TextDisplay;
167
+ id?: number;
168
+ content: string;
169
+ }
170
+ /** https://discord.com/developers/docs/components/reference#text-display-text-display-interaction-response-structure */
171
+ export interface RawTextDisplayInteractionResponse {
172
+ type: ComponentTypes.TextDisplay;
173
+ id: number;
174
+ }
175
+ /** https://discord.com/developers/docs/components/reference#thumbnail-thumbnail-structure */
176
+ export interface RawThumbnail {
177
+ type: ComponentTypes.Thumbnail;
178
+ id?: number;
179
+ media: RawUnfurledMediaItem;
180
+ description?: string;
181
+ spoiler?: boolean;
182
+ }
183
+ /** https://discord.com/developers/docs/components/reference#media-gallery-media-gallery-structure */
184
+ export interface RawMediaGallery {
185
+ type: ComponentTypes.MediaGallery;
186
+ id?: number;
187
+ items: Array<RawMediaGalleryItem>;
188
+ }
189
+ /** https://discord.com/developers/docs/components/reference#media-gallery-media-gallery-item-structure */
190
+ export interface RawMediaGalleryItem {
191
+ media: RawUnfurledMediaItem;
192
+ description?: string;
193
+ spoiler?: boolean;
194
+ }
195
+ /** https://discord.com/developers/docs/components/reference#file-file-structure */
196
+ export interface RawFile {
197
+ type: ComponentTypes.File;
198
+ id?: number;
199
+ file: RawUnfurledMediaItem;
200
+ spoiler?: boolean;
201
+ name: string;
202
+ size: number;
203
+ }
204
+ /** https://discord.com/developers/docs/components/reference#separator-separator-structure */
205
+ export interface RawSeparator {
206
+ type: ComponentTypes.Separator;
207
+ id?: number;
208
+ divider?: boolean;
209
+ spacing?: SeparatorSpacing;
210
+ }
211
+ /** https://discord.com/developers/docs/components/reference#container-container-structure */
212
+ export interface RawContainer {
213
+ type: ComponentTypes.Container;
214
+ id?: number;
215
+ components: Array<RawActionRow | RawTextDisplay | RawSection | RawMediaGallery | RawSeparator | RawFile>;
216
+ accent_color?: number | null;
217
+ spoiler?: boolean;
218
+ }
219
+ /** https://discord.com/developers/docs/components/reference#label-label-structure */
220
+ export interface RawLabel {
221
+ type: ComponentTypes.Label;
222
+ id?: number;
223
+ label: string;
224
+ description?: string;
225
+ component: RawTextInput | RawStringSelect | RawUserSelect | RawRoleSelect | RawMentionableSelect | RawChannelSelect | RawFileUpload;
226
+ }
227
+ /** https://discord.com/developers/docs/components/reference#label-label-interaction-response-structure */
228
+ export interface RawLabelInteractionResponse {
229
+ type: ComponentTypes.Label;
230
+ id: number;
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>;
248
+ }
249
+ /** https://discord.com/developers/docs/components/reference#unfurled-media-item-unfurled-media-item-structure */
250
+ export interface RawUnfurledMediaItem {
251
+ url: string;
252
+ proxy_url?: string;
253
+ height?: number | null;
254
+ width?: number | null;
255
+ content_type?: string;
256
+ attachment_id?: snowflake;
257
+ }
258
+ /** https://discord.com/developers/docs/components/reference#action-row-action-row-structure */
259
+ export interface ActionRow {
260
+ type: ComponentTypes.ActionRow;
261
+ components: Array<Button | StringSelect | TextInput | UserSelect | RoleSelect | MentionableSelect | ChannelSelect>;
262
+ id?: number;
263
+ }
264
+ /** https://discord.com/developers/docs/components/reference#button-button-structure */
265
+ export interface Button {
266
+ type: ComponentTypes.Button;
267
+ id?: number;
268
+ style: ButtonStyles;
269
+ label?: string;
270
+ emoji?: Pick<Emoji, "name" | "id" | "animated">;
271
+ customId: string;
272
+ skuId?: snowflake;
273
+ url?: string;
274
+ disabled?: boolean;
275
+ }
276
+ /** https://discord.com/developers/docs/components/reference#string-select-string-select-structure */
277
+ export interface StringSelect {
278
+ type: ComponentTypes.StringSelect;
279
+ id?: number;
280
+ customId: string;
281
+ options: Array<SelectOption>;
282
+ placeholder?: string;
283
+ minValues?: number;
284
+ maxValues?: number;
285
+ required?: boolean;
286
+ disabled?: boolean;
287
+ }
288
+ /** https://discord.com/developers/docs/components/reference#string-select-string-select-interaction-response-structure */
289
+ export interface StringSelectInteractionResponse {
290
+ type: ComponentTypes.StringSelect;
291
+ componentType: ComponentTypes.StringSelect;
292
+ id: number;
293
+ customId: string;
294
+ values: Array<string>;
295
+ }
296
+ /** https://discord.com/developers/docs/components/reference#string-select-select-option-structure */
297
+ export interface SelectOption {
298
+ label: string;
299
+ value: string;
300
+ description?: string;
301
+ emoji?: Pick<Emoji, "name" | "id" | "animated">;
302
+ default?: boolean;
303
+ }
304
+ /** https://discord.com/developers/docs/components/reference#text-input-text-input-structure */
305
+ export interface TextInput {
306
+ type: ComponentTypes.TextInput;
307
+ id?: number;
308
+ customId: string;
309
+ style: TextInputStyles;
310
+ minLength?: number;
311
+ maxLength?: number;
312
+ required?: boolean;
313
+ value?: string;
314
+ placeholder?: string;
315
+ label: string;
316
+ }
317
+ /** https://discord.com/developers/docs/components/reference#text-input-text-input-interaction-response-structure */
318
+ export interface TextInputInteractionResponse {
319
+ type: ComponentTypes.TextInput;
320
+ id: number;
321
+ customId: string;
322
+ value: string;
323
+ }
324
+ /** https://discord.com/developers/docs/components/reference#user-select-user-select-structure */
325
+ export interface UserSelect {
326
+ type: ComponentTypes.UserSelect;
327
+ id?: number;
328
+ customId: string;
329
+ placeholder?: string;
330
+ defaultValues?: Array<DefaultValue>;
331
+ minValues?: number;
332
+ maxValues?: number;
333
+ disabled?: boolean;
334
+ }
335
+ /** https://discord.com/developers/docs/components/reference#user-select-user-select-interaction-response-structure */
336
+ export interface UserSelectInteractionResponse {
337
+ type: ComponentTypes.UserSelect;
338
+ componentType: ComponentTypes.UserSelect;
339
+ id: number;
340
+ customId: string;
341
+ resolved: ResolvedData;
342
+ values: Array<snowflake>;
343
+ }
344
+ /** https://discord.com/developers/docs/components/reference#user-select-select-default-value-structure */
345
+ export interface DefaultValue {
346
+ id: snowflake;
347
+ type: "user" | "role" | "channel";
348
+ }
349
+ /** https://discord.com/developers/docs/components/reference#role-select-role-select-structure */
350
+ export interface RoleSelect {
351
+ type: ComponentTypes.RoleSelect;
352
+ id?: number;
353
+ customId: string;
354
+ placeholder?: string;
355
+ defaultValues?: Array<DefaultValue>;
356
+ minValues?: number;
357
+ maxValues?: number;
358
+ disabled?: boolean;
359
+ }
360
+ /** https://discord.com/developers/docs/components/reference#role-select-role-select-interaction-response-structure */
361
+ export interface RoleSelectInteractionResponse {
362
+ type: ComponentTypes.RoleSelect;
363
+ componentType: ComponentTypes.RoleSelect;
364
+ id: number;
365
+ customId: string;
366
+ resolved: ResolvedData;
367
+ values: Array<snowflake>;
368
+ }
369
+ /** https://discord.com/developers/docs/components/reference#mentionable-select-mentionable-select-structure */
370
+ export interface MentionableSelect {
371
+ type: ComponentTypes.MentionableSelect;
372
+ id?: number;
373
+ customId: string;
374
+ placeholder?: string;
375
+ defaultValues?: Array<DefaultValue>;
376
+ minValues?: number;
377
+ maxValues?: number;
378
+ disabled?: boolean;
379
+ }
380
+ /** https://discord.com/developers/docs/components/reference#mentionable-select-mentionable-select-interaction-response-structure */
381
+ export interface MentionableSelectInteractionResponse {
382
+ type: ComponentTypes.MentionableSelect;
383
+ componentType: ComponentTypes.MentionableSelect;
384
+ id: number;
385
+ customId: string;
386
+ resolved: ResolvedData;
387
+ values: Array<snowflake>;
388
+ }
389
+ /** https://discord.com/developers/docs/components/reference#channel-select-channel-select-structure */
390
+ export interface ChannelSelect {
391
+ type: ComponentTypes.ChannelSelect;
392
+ id?: number;
393
+ customId: string;
394
+ channelTypes?: Array<ChannelTypes>;
395
+ placeholder?: string;
396
+ defaultValues?: Array<DefaultValue>;
397
+ minValues?: number;
398
+ maxValues?: number;
399
+ disabled?: boolean;
400
+ }
401
+ /** https://discord.com/developers/docs/components/reference#channel-select-channel-select-interaction-response-structure */
402
+ export interface ChannelSelectInteractionResponse {
403
+ type: ComponentTypes.ChannelSelect;
404
+ componentType: ComponentTypes.ChannelSelect;
405
+ id: number;
406
+ customId: string;
407
+ resolved: ResolvedData;
408
+ values: Array<snowflake>;
409
+ }
410
+ /** https://discord.com/developers/docs/components/reference#section-section-structure */
411
+ export interface Section {
412
+ type: ComponentTypes.Section;
413
+ id?: number;
414
+ components: Array<TextDisplay>;
415
+ accessory: Button | Thumbnail;
416
+ }
417
+ /** https://discord.com/developers/docs/components/reference#text-display-text-display-structure */
418
+ export interface TextDisplay {
419
+ type: ComponentTypes.TextDisplay;
420
+ id?: number;
421
+ content: string;
422
+ }
423
+ /** https://discord.com/developers/docs/components/reference#text-display-text-display-interaction-response-structure */
424
+ export interface TextDisplayInteractionResponse {
425
+ type: ComponentTypes.TextDisplay;
426
+ id: number;
427
+ }
428
+ /** https://discord.com/developers/docs/components/reference#thumbnail-thumbnail-structure */
429
+ export interface Thumbnail {
430
+ type: ComponentTypes.Thumbnail;
431
+ id?: number;
432
+ media: UnfurledMediaItem;
433
+ description?: string;
434
+ spoiler?: boolean;
435
+ }
436
+ /** https://discord.com/developers/docs/components/reference#media-gallery-media-gallery-structure */
437
+ export interface MediaGallery {
438
+ type: ComponentTypes.MediaGallery;
439
+ id?: number;
440
+ items: Array<MediaGalleryItem>;
441
+ }
442
+ /** https://discord.com/developers/docs/components/reference#media-gallery-media-gallery-item-structure */
443
+ export interface MediaGalleryItem {
444
+ media: UnfurledMediaItem;
445
+ description?: string;
446
+ spoiler?: boolean;
447
+ }
448
+ /** https://discord.com/developers/docs/components/reference#file-file-structure */
449
+ export interface File {
450
+ type: ComponentTypes.File;
451
+ id?: number;
452
+ file: UnfurledMediaItem;
453
+ spoiler?: boolean;
454
+ name: string;
455
+ size: number;
456
+ }
457
+ /** https://discord.com/developers/docs/components/reference#separator-separator-structure */
458
+ export interface Separator {
459
+ type: ComponentTypes.Separator;
460
+ id?: number;
461
+ divider?: boolean;
462
+ spacing?: SeparatorSpacing;
463
+ }
464
+ /** https://discord.com/developers/docs/components/reference#container-container-structure */
465
+ export interface Container {
466
+ type: ComponentTypes.Container;
467
+ id?: number;
468
+ components: Array<ActionRow | TextDisplay | Section | MediaGallery | Separator | File>;
469
+ accentColor?: number | null;
470
+ spoiler?: boolean;
471
+ }
472
+ /** https://discord.com/developers/docs/components/reference#label-label-structure */
473
+ export interface Label {
474
+ type: ComponentTypes.Label;
475
+ id?: number;
476
+ label: string;
477
+ description?: string;
478
+ component: TextInput | StringSelect | UserSelect | RoleSelect | MentionableSelect | ChannelSelect | FileUpload;
479
+ }
480
+ /** https://discord.com/developers/docs/components/reference#label-label-interaction-response-structure */
481
+ export interface LabelInteractionResponse {
482
+ type: ComponentTypes.Label;
483
+ id: number;
484
+ component: TextInputInteractionResponse | StringSelectInteractionResponse | UserSelectInteractionResponse | RoleSelectInteractionResponse | MentionableSelectInteractionResponse | ChannelSelectInteractionResponse | FileUploadInteractionResponse;
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 */
503
+ export interface UnfurledMediaItem {
504
+ url: string;
505
+ proxyURL?: string;
506
+ height?: number | null;
507
+ width?: number | null;
508
+ contentType?: string;
509
+ attachmentId?: snowflake;
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
  }