disgroove 3.0.1-dev.24a02ed → 3.0.1-dev.6d98962

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.
@@ -103,6 +103,44 @@ class Components {
103
103
  disabled: channelSelect.disabled,
104
104
  };
105
105
  }
106
+ static checkboxFromRaw(checkbox) {
107
+ return {
108
+ type: checkbox.type,
109
+ id: checkbox.id,
110
+ customId: checkbox.custom_id,
111
+ default: checkbox.default,
112
+ };
113
+ }
114
+ static checkboxToRaw(checkbox) {
115
+ return {
116
+ type: checkbox.type,
117
+ id: checkbox.id,
118
+ custom_id: checkbox.customId,
119
+ default: checkbox.default,
120
+ };
121
+ }
122
+ static checkboxGroupFromRaw(checkboxGroup) {
123
+ return {
124
+ type: checkboxGroup.type,
125
+ id: checkboxGroup.id,
126
+ customId: checkboxGroup.custom_id,
127
+ options: checkboxGroup.options,
128
+ minValues: checkboxGroup.min_values,
129
+ maxValues: checkboxGroup.max_values,
130
+ required: checkboxGroup.required,
131
+ };
132
+ }
133
+ static checkboxGroupToRaw(checkboxGroup) {
134
+ return {
135
+ type: checkboxGroup.type,
136
+ id: checkboxGroup.id,
137
+ custom_id: checkboxGroup.customId,
138
+ options: checkboxGroup.options,
139
+ min_values: checkboxGroup.minValues,
140
+ max_values: checkboxGroup.maxValues,
141
+ required: checkboxGroup.required,
142
+ };
143
+ }
106
144
  static containerFromRaw(container) {
107
145
  return {
108
146
  type: container.type,
@@ -227,6 +265,14 @@ class Components {
227
265
  case constants_1.ComponentTypes.FileUpload:
228
266
  component = Components.fileUploadFromRaw(label.component);
229
267
  break;
268
+ case constants_1.ComponentTypes.RadioGroup:
269
+ component = Components.radioGroupFromRaw(label.component);
270
+ break;
271
+ case constants_1.ComponentTypes.CheckboxGroup:
272
+ component = Components.checkboxGroupFromRaw(label.component);
273
+ break;
274
+ case constants_1.ComponentTypes.Checkbox:
275
+ component = Components.checkboxFromRaw(label.component);
230
276
  }
231
277
  return {
232
278
  type: label.type,
@@ -260,6 +306,14 @@ class Components {
260
306
  case constants_1.ComponentTypes.FileUpload:
261
307
  component = Components.fileUploadToRaw(label.component);
262
308
  break;
309
+ case constants_1.ComponentTypes.RadioGroup:
310
+ component = Components.radioGroupToRaw(label.component);
311
+ break;
312
+ case constants_1.ComponentTypes.CheckboxGroup:
313
+ component = Components.checkboxGroupToRaw(label.component);
314
+ break;
315
+ case constants_1.ComponentTypes.Checkbox:
316
+ component = Components.checkboxToRaw(label.component);
263
317
  }
264
318
  return {
265
319
  type: label.type,
@@ -315,6 +369,24 @@ class Components {
315
369
  disabled: mentionableSelect.disabled,
316
370
  };
317
371
  }
372
+ static radioGroupFromRaw(radioGroup) {
373
+ return {
374
+ type: radioGroup.type,
375
+ id: radioGroup.id,
376
+ customId: radioGroup.custom_id,
377
+ options: radioGroup.options,
378
+ required: radioGroup.required,
379
+ };
380
+ }
381
+ static radioGroupToRaw(radioGroup) {
382
+ return {
383
+ type: radioGroup.type,
384
+ id: radioGroup.id,
385
+ custom_id: radioGroup.customId,
386
+ options: radioGroup.options,
387
+ required: radioGroup.required,
388
+ };
389
+ }
318
390
  static roleSelectFromRaw(roleSelect) {
319
391
  return {
320
392
  type: roleSelect.type,
@@ -512,7 +584,11 @@ class Components {
512
584
  proxyURL: unfurledMediaItem.proxy_url,
513
585
  height: unfurledMediaItem.height,
514
586
  width: unfurledMediaItem.width,
587
+ placeholder: unfurledMediaItem.placeholder,
588
+ placeholderVersion: unfurledMediaItem.placeholder_version,
515
589
  contentType: unfurledMediaItem.content_type,
590
+ flags: unfurledMediaItem.flags,
591
+ attachmentId: unfurledMediaItem.attachment_id,
516
592
  };
517
593
  }
518
594
  static unfurledMediaItemToRaw(unfurledMediaItem) {
@@ -521,7 +597,11 @@ class Components {
521
597
  proxy_url: unfurledMediaItem.proxyURL,
522
598
  height: unfurledMediaItem.height,
523
599
  width: unfurledMediaItem.width,
600
+ placeholder: unfurledMediaItem.placeholder,
601
+ placeholder_version: unfurledMediaItem.placeholderVersion,
524
602
  content_type: unfurledMediaItem.contentType,
603
+ flags: unfurledMediaItem.flags,
604
+ attachment_id: unfurledMediaItem.attachmentId,
525
605
  };
526
606
  }
527
607
  static userSelectFromRaw(userSelect) {
@@ -119,6 +119,11 @@ class Guilds {
119
119
  }
120
120
  : null
121
121
  : undefined,
122
+ collectibles: guildMember.collectibles !== undefined
123
+ ? guildMember.collectibles !== null
124
+ ? Users_1.Users.collectiblesFromRaw(guildMember.collectibles)
125
+ : null
126
+ : undefined,
122
127
  };
123
128
  }
124
129
  static guildMemberToRaw(guildMember) {
@@ -145,6 +150,11 @@ class Guilds {
145
150
  }
146
151
  : null
147
152
  : undefined,
153
+ collectibles: guildMember.collectibles !== undefined
154
+ ? guildMember.collectibles !== null
155
+ ? Users_1.Users.collectiblesToRaw(guildMember.collectibles)
156
+ : null
157
+ : undefined,
148
158
  };
149
159
  }
150
160
  static guildToRaw(guild) {
@@ -211,6 +211,29 @@ class Interactions {
211
211
  values: component.component.values,
212
212
  };
213
213
  break;
214
+ case constants_1.ComponentTypes.RadioGroup:
215
+ c = {
216
+ type: component.component.type,
217
+ id: component.component.id,
218
+ customId: component.component.custom_id,
219
+ value: component.component.value
220
+ };
221
+ break;
222
+ case constants_1.ComponentTypes.CheckboxGroup:
223
+ c = {
224
+ type: component.component.type,
225
+ id: component.component.id,
226
+ customId: component.component.custom_id,
227
+ values: component.component.values,
228
+ };
229
+ break;
230
+ case constants_1.ComponentTypes.Checkbox:
231
+ c = {
232
+ type: component.component.type,
233
+ id: component.component.id,
234
+ customId: component.component.custom_id,
235
+ value: component.component.value
236
+ };
214
237
  }
215
238
  return {
216
239
  type: component.type,
@@ -449,6 +472,29 @@ class Interactions {
449
472
  values: component.component.values,
450
473
  };
451
474
  break;
475
+ case constants_1.ComponentTypes.RadioGroup:
476
+ c = {
477
+ type: component.component.type,
478
+ id: component.component.id,
479
+ custom_id: component.component.customId,
480
+ value: component.component.value
481
+ };
482
+ break;
483
+ case constants_1.ComponentTypes.CheckboxGroup:
484
+ c = {
485
+ type: component.component.type,
486
+ id: component.component.id,
487
+ custom_id: component.component.customId,
488
+ values: component.component.values,
489
+ };
490
+ break;
491
+ case constants_1.ComponentTypes.Checkbox:
492
+ c = {
493
+ type: component.component.type,
494
+ id: component.component.id,
495
+ custom_id: component.component.customId,
496
+ value: component.component.value
497
+ };
452
498
  }
453
499
  return {
454
500
  type: component.type,
@@ -1,5 +1,8 @@
1
1
  import type { RawInvite, Invite } from "../types/invite";
2
+ import { RawRole, Role } from "../types/role";
2
3
  export declare class Invites {
3
4
  static inviteFromRaw(invite: RawInvite): Invite;
4
5
  static inviteToRaw(invite: Invite): RawInvite;
6
+ static partialRoleFromRaw(role: Pick<RawRole, "id" | "name" | "position" | "color" | "colors" | "icon" | "unicode_emoji">): Pick<Role, "id" | "name" | "position" | "color" | "colors" | "icon" | "unicodeEmoji">;
7
+ static partialRoleToRaw(role: Pick<Role, "id" | "name" | "position" | "color" | "colors" | "icon" | "unicodeEmoji">): Pick<RawRole, "id" | "name" | "position" | "color" | "colors" | "icon" | "unicode_emoji">;
5
8
  }
@@ -40,6 +40,7 @@ class Invites {
40
40
  ? GuildScheduledEvents_1.GuildScheduledEvents.guildScheduledEventFromRaw(invite.guild_scheduled_event)
41
41
  : undefined,
42
42
  flags: invite.flags,
43
+ roles: invite.roles?.map((role) => Invites.partialRoleFromRaw(role))
43
44
  };
44
45
  }
45
46
  static inviteToRaw(invite) {
@@ -75,6 +76,37 @@ class Invites {
75
76
  ? GuildScheduledEvents_1.GuildScheduledEvents.guildScheduledEventToRaw(invite.guildScheduledEvent)
76
77
  : undefined,
77
78
  flags: invite.flags,
79
+ roles: invite.roles?.map((role) => Invites.partialRoleToRaw(role))
80
+ };
81
+ }
82
+ static partialRoleFromRaw(role) {
83
+ return {
84
+ id: role.id,
85
+ name: role.name,
86
+ position: role.position,
87
+ color: role.color,
88
+ colors: {
89
+ primaryColor: role.colors.primary_color,
90
+ secondaryColor: role.colors.secondary_color,
91
+ tertiaryColor: role.colors.tertiary_color
92
+ },
93
+ icon: role.icon,
94
+ unicodeEmoji: role.unicode_emoji
95
+ };
96
+ }
97
+ static partialRoleToRaw(role) {
98
+ return {
99
+ id: role.id,
100
+ name: role.name,
101
+ position: role.position,
102
+ color: role.color,
103
+ colors: {
104
+ primary_color: role.colors.primaryColor,
105
+ secondary_color: role.colors.secondaryColor,
106
+ tertiary_color: role.colors.tertiaryColor
107
+ },
108
+ icon: role.icon,
109
+ unicode_emoji: role.unicodeEmoji
78
110
  };
79
111
  }
80
112
  }
@@ -1,4 +1,4 @@
1
- import { RawAttachment, Attachment, RawEmbed, Embed, RawMessage, Message } from "../types/message";
1
+ import type { RawAttachment, Attachment, RawEmbed, Embed, RawMessage, Message } from "../types/message";
2
2
  import type { ActionRow, Container, File, MediaGallery, RawActionRow, RawContainer, RawFile, RawMediaGallery, RawSection, RawSeparator, RawTextDisplay, Section, Separator, TextDisplay } from "../types/components";
3
3
  export declare class Messages {
4
4
  static attachmentFromRaw(attachment: RawAttachment): Attachment;
@@ -28,6 +28,13 @@ class Messages {
28
28
  durationSecs: attachment.duration_secs,
29
29
  waveform: attachment.waveform,
30
30
  flags: attachment.flags,
31
+ clipParticipants: attachment.clip_participants?.map((user) => Users_1.Users.userFromRaw(user)),
32
+ clipCreatedAt: attachment.clip_created_at,
33
+ application: attachment.application !== undefined
34
+ ? attachment.application !== null
35
+ ? Applications_1.Applications.applicationFromRaw(attachment.application)
36
+ : null
37
+ : undefined,
31
38
  };
32
39
  }
33
40
  static attachmentToRaw(attachment) {
@@ -46,6 +53,13 @@ class Messages {
46
53
  duration_secs: attachment.durationSecs,
47
54
  waveform: attachment.waveform,
48
55
  flags: attachment.flags,
56
+ clip_participants: attachment.clipParticipants?.map((user) => Users_1.Users.userToRaw(user)),
57
+ clip_created_at: attachment.clipCreatedAt,
58
+ application: attachment.application !== undefined
59
+ ? attachment.application !== null
60
+ ? Applications_1.Applications.applicationToRaw(attachment.application)
61
+ : null
62
+ : undefined,
49
63
  };
50
64
  }
51
65
  static componentsFromRaw(components) {
@@ -109,6 +123,11 @@ class Messages {
109
123
  proxyURL: embed.image.proxy_url,
110
124
  height: embed.image.height,
111
125
  width: embed.image.width,
126
+ contentType: embed.image.content_type,
127
+ placeholder: embed.image.placeholder,
128
+ placeholderVersion: embed.image.placeholder_version,
129
+ description: embed.image.description,
130
+ flags: embed.image.flags,
112
131
  }
113
132
  : undefined,
114
133
  thumbnail: embed.thumbnail !== undefined
@@ -119,16 +138,25 @@ class Messages {
119
138
  width: embed.thumbnail.width,
120
139
  }
121
140
  : undefined,
122
- video: {
123
- url: embed.video?.url,
124
- proxyURL: embed.video?.proxy_url,
125
- height: embed.video?.height,
126
- width: embed.video?.width,
127
- },
128
- provider: {
129
- name: embed.provider?.name,
130
- url: embed.provider?.url,
131
- },
141
+ video: embed.video !== undefined
142
+ ? {
143
+ url: embed.video.url,
144
+ proxyURL: embed.video.proxy_url,
145
+ height: embed.video.height,
146
+ width: embed.video.width,
147
+ contentType: embed.video.content_type,
148
+ placeholder: embed.video.placeholder,
149
+ placeholderVersion: embed.video.placeholder_version,
150
+ description: embed.video.description,
151
+ flags: embed.video.flags,
152
+ }
153
+ : undefined,
154
+ provider: embed.provider !== undefined
155
+ ? {
156
+ name: embed.provider.name,
157
+ url: embed.provider.url,
158
+ }
159
+ : undefined,
132
160
  author: embed.author !== undefined
133
161
  ? {
134
162
  name: embed.author.name,
@@ -161,6 +189,11 @@ class Messages {
161
189
  proxy_url: embed.image.proxyURL,
162
190
  height: embed.image.height,
163
191
  width: embed.image.width,
192
+ content_type: embed.image.contentType,
193
+ placeholder: embed.image.placeholder,
194
+ placeholder_version: embed.image.placeholderVersion,
195
+ description: embed.image.description,
196
+ flags: embed.image.flags,
164
197
  }
165
198
  : undefined,
166
199
  thumbnail: embed.thumbnail !== undefined
@@ -171,16 +204,25 @@ class Messages {
171
204
  width: embed.thumbnail.width,
172
205
  }
173
206
  : undefined,
174
- video: {
175
- url: embed.video?.url,
176
- proxy_url: embed.video?.proxyURL,
177
- height: embed.video?.height,
178
- width: embed.video?.width,
179
- },
180
- provider: {
181
- name: embed.provider?.name,
182
- url: embed.provider?.url,
183
- },
207
+ video: embed.video !== undefined
208
+ ? {
209
+ url: embed.video.url,
210
+ proxy_url: embed.video.proxyURL,
211
+ height: embed.video.height,
212
+ width: embed.video.width,
213
+ content_type: embed.video.contentType,
214
+ placeholder: embed.video.placeholder,
215
+ placeholder_version: embed.video.placeholderVersion,
216
+ description: embed.video.description,
217
+ flags: embed.video.flags,
218
+ }
219
+ : undefined,
220
+ provider: embed.provider !== undefined
221
+ ? {
222
+ name: embed.provider.name,
223
+ url: embed.provider.url,
224
+ }
225
+ : undefined,
184
226
  author: embed.author !== undefined
185
227
  ? {
186
228
  name: embed.author.name,
@@ -298,6 +340,14 @@ class Messages {
298
340
  ? Polls_1.Polls.pollFromRaw(message.poll)
299
341
  : undefined,
300
342
  call: message.call,
343
+ sharedClientTheme: message.shared_client_theme !== undefined
344
+ ? {
345
+ colors: message.shared_client_theme.colors,
346
+ gradientAngle: message.shared_client_theme.gradient_angle,
347
+ baseMix: message.shared_client_theme.base_mix,
348
+ baseTheme: message.shared_client_theme.base_theme,
349
+ }
350
+ : undefined,
301
351
  };
302
352
  }
303
353
  static messageToRaw(message) {
@@ -404,6 +454,14 @@ class Messages {
404
454
  : undefined,
405
455
  poll: message.poll !== undefined ? Polls_1.Polls.pollToRaw(message.poll) : undefined,
406
456
  call: message.call,
457
+ shared_client_theme: message.sharedClientTheme !== undefined
458
+ ? {
459
+ colors: message.sharedClientTheme.colors,
460
+ gradient_angle: message.sharedClientTheme.gradientAngle,
461
+ base_mix: message.sharedClientTheme.baseMix,
462
+ base_theme: message.sharedClientTheme.baseTheme,
463
+ }
464
+ : undefined,
407
465
  };
408
466
  }
409
467
  }
@@ -1,5 +1,7 @@
1
- import type { Nameplate, RawNameplate, RawUser, User } from "../types/user";
1
+ import type { Collectibles, Nameplate, RawCollectibles, RawNameplate, RawUser, User } from "../types/user";
2
2
  export declare class Users {
3
+ static collectiblesFromRaw(collectibles: RawCollectibles): Collectibles;
4
+ static collectiblesToRaw(collectibles: Collectibles): RawCollectibles;
3
5
  static nameplateFromRaw(nameplate: RawNameplate): Nameplate;
4
6
  static nameplateToRaw(nameplate: Nameplate): RawNameplate;
5
7
  static userFromRaw(user: RawUser): User;
@@ -2,6 +2,20 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Users = void 0;
4
4
  class Users {
5
+ static collectiblesFromRaw(collectibles) {
6
+ return {
7
+ nameplate: collectibles.nameplate !== undefined
8
+ ? this.nameplateFromRaw(collectibles.nameplate)
9
+ : undefined,
10
+ };
11
+ }
12
+ static collectiblesToRaw(collectibles) {
13
+ return {
14
+ nameplate: collectibles.nameplate !== undefined
15
+ ? this.nameplateToRaw(collectibles.nameplate)
16
+ : undefined,
17
+ };
18
+ }
5
19
  static nameplateFromRaw(nameplate) {
6
20
  return {
7
21
  skuId: nameplate.sku_id,
@@ -46,11 +60,7 @@ class Users {
46
60
  : undefined,
47
61
  collectibles: user.collectibles !== undefined
48
62
  ? user.collectibles !== null
49
- ? {
50
- nameplate: user.collectibles.nameplate !== undefined
51
- ? this.nameplateFromRaw(user.collectibles.nameplate)
52
- : undefined,
53
- }
63
+ ? this.collectiblesFromRaw(user.collectibles)
54
64
  : null
55
65
  : undefined,
56
66
  primaryGuild: user.primary_guild !== undefined
@@ -93,11 +103,7 @@ class Users {
93
103
  : undefined,
94
104
  collectibles: user.collectibles !== undefined
95
105
  ? user.collectibles !== null
96
- ? {
97
- nameplate: user.collectibles.nameplate !== undefined
98
- ? this.nameplateToRaw(user.collectibles.nameplate)
99
- : undefined,
100
- }
106
+ ? this.collectiblesToRaw(user.collectibles)
101
107
  : null
102
108
  : undefined,
103
109
  primary_guild: user.primaryGuild !== undefined
@@ -30,7 +30,7 @@ export interface RawApplication {
30
30
  interactions_endpoint_url?: string;
31
31
  role_connections_verification_url?: string;
32
32
  event_webhooks_url?: string | null;
33
- event_webhooks_status: ApplicationEventWebhookStatus;
33
+ event_webhooks_status?: ApplicationEventWebhookStatus;
34
34
  event_webhooks_types?: Array<string>;
35
35
  tags?: Array<string>;
36
36
  install_params?: RawInstallParams;
@@ -88,7 +88,7 @@ export interface Application {
88
88
  interactionsEndpointURL?: string;
89
89
  roleConnectionsVerificationURL?: string;
90
90
  eventWebhooksURL?: string | null;
91
- eventWebhooksStatus: ApplicationEventWebhookStatus;
91
+ eventWebhooksStatus?: ApplicationEventWebhookStatus;
92
92
  eventWebhooksTypes?: Array<string>;
93
93
  tags?: Array<string>;
94
94
  installParams?: InstallParams;
@@ -1,4 +1,4 @@
1
- import type { ButtonStyles, ChannelTypes, ComponentTypes, SeparatorSpacing, TextInputStyles } from "../constants";
1
+ import type { ButtonStyles, ChannelTypes, ComponentTypes, SeparatorSpacing, TextInputStyles, UnfurledMediaItemFlags } from "../constants";
2
2
  import type { snowflake } from "./common";
3
3
  import type { RawEmoji, Emoji } from "./emoji";
4
4
  import type { RawResolvedData, ResolvedData } from "./interaction";
@@ -222,13 +222,13 @@ export interface RawLabel {
222
222
  id?: number;
223
223
  label: string;
224
224
  description?: string;
225
- component: RawTextInput | RawStringSelect | RawUserSelect | RawRoleSelect | RawMentionableSelect | RawChannelSelect | RawFileUpload;
225
+ component: RawTextInput | RawStringSelect | RawUserSelect | RawRoleSelect | RawMentionableSelect | RawChannelSelect | RawFileUpload | RawRadioGroup | RawCheckboxGroup | RawCheckbox;
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 | RawFileUploadInteractionResponse;
231
+ component: RawTextInputInteractionResponse | RawStringSelectInteractionResponse | RawUserSelectInteractionResponse | RawRoleSelectInteractionResponse | RawMentionableSelectInteractionResponse | RawChannelSelectInteractionResponse | RawFileUploadInteractionResponse | RawRadioGroupInteractionResponse | RawCheckboxGroupInteractionResponse | RawCheckboxInteractionResponse;
232
232
  }
233
233
  /** https://discord.com/developers/docs/components/reference#file-upload-file-upload-structure */
234
234
  export interface RawFileUpload {
@@ -252,9 +252,72 @@ export interface RawUnfurledMediaItem {
252
252
  proxy_url?: string;
253
253
  height?: number | null;
254
254
  width?: number | null;
255
+ placeholder?: string;
256
+ placeholder_version?: number;
255
257
  content_type?: string;
258
+ flags?: UnfurledMediaItemFlags;
256
259
  attachment_id?: snowflake;
257
260
  }
261
+ /** https://docs.discord.com/developers/components/reference#radio-group-structure */
262
+ export interface RawRadioGroup {
263
+ type: ComponentTypes.RadioGroup;
264
+ id?: number;
265
+ custom_id: string;
266
+ options: Array<RawRadioGroupOptions>;
267
+ required?: boolean;
268
+ }
269
+ /** https://docs.discord.com/developers/components/reference#radio-group-option-structure */
270
+ export interface RawRadioGroupOptions {
271
+ value: string;
272
+ label: string;
273
+ description?: string;
274
+ default?: boolean;
275
+ }
276
+ /** https://docs.discord.com/developers/components/reference#radio-group-interaction-response-structure */
277
+ export interface RawRadioGroupInteractionResponse {
278
+ type: ComponentTypes.RadioGroup;
279
+ id: number;
280
+ custom_id: string;
281
+ value: string | null;
282
+ }
283
+ /** https://docs.discord.com/developers/components/reference#checkbox-group-structure */
284
+ export interface RawCheckboxGroup {
285
+ type: ComponentTypes.CheckboxGroup;
286
+ id?: number;
287
+ custom_id: string;
288
+ options: Array<RawCheckboxGroupOptions>;
289
+ min_values?: number;
290
+ max_values?: number;
291
+ required?: boolean;
292
+ }
293
+ /** https://docs.discord.com/developers/components/reference#checkbox-group-option-structure */
294
+ export interface RawCheckboxGroupOptions {
295
+ value: string;
296
+ label: string;
297
+ description?: string;
298
+ default?: boolean;
299
+ }
300
+ /** https://docs.discord.com/developers/components/reference#checkbox-group-interaction-response-structure */
301
+ export interface RawCheckboxGroupInteractionResponse {
302
+ type: ComponentTypes.CheckboxGroup;
303
+ id: number;
304
+ custom_id: string;
305
+ values: Array<string>;
306
+ }
307
+ /** https://docs.discord.com/developers/components/reference#checkbox-structure */
308
+ export interface RawCheckbox {
309
+ type: ComponentTypes.Checkbox;
310
+ id?: number;
311
+ custom_id: string;
312
+ default?: boolean;
313
+ }
314
+ /** https://docs.discord.com/developers/components/reference#checkbox-interaction-response-structure */
315
+ export interface RawCheckboxInteractionResponse {
316
+ type: ComponentTypes.Checkbox;
317
+ id: number;
318
+ custom_id: string;
319
+ value: boolean;
320
+ }
258
321
  /** https://discord.com/developers/docs/components/reference#action-row-action-row-structure */
259
322
  export interface ActionRow {
260
323
  type: ComponentTypes.ActionRow;
@@ -475,13 +538,13 @@ export interface Label {
475
538
  id?: number;
476
539
  label: string;
477
540
  description?: string;
478
- component: TextInput | StringSelect | UserSelect | RoleSelect | MentionableSelect | ChannelSelect | FileUpload;
541
+ component: TextInput | StringSelect | UserSelect | RoleSelect | MentionableSelect | ChannelSelect | FileUpload | RadioGroup | CheckboxGroup | Checkbox;
479
542
  }
480
543
  /** https://discord.com/developers/docs/components/reference#label-label-interaction-response-structure */
481
544
  export interface LabelInteractionResponse {
482
545
  type: ComponentTypes.Label;
483
546
  id: number;
484
- component: TextInputInteractionResponse | StringSelectInteractionResponse | UserSelectInteractionResponse | RoleSelectInteractionResponse | MentionableSelectInteractionResponse | ChannelSelectInteractionResponse | FileUploadInteractionResponse;
547
+ component: TextInputInteractionResponse | StringSelectInteractionResponse | UserSelectInteractionResponse | RoleSelectInteractionResponse | MentionableSelectInteractionResponse | ChannelSelectInteractionResponse | FileUploadInteractionResponse | RadioGroupInteractionResponse | CheckboxGroupInteractionResponse | CheckboxInteractionResponse;
485
548
  }
486
549
  /** https://discord.com/developers/docs/components/reference#file-upload-file-upload-structure */
487
550
  export interface FileUpload {
@@ -505,6 +568,69 @@ export interface UnfurledMediaItem {
505
568
  proxyURL?: string;
506
569
  height?: number | null;
507
570
  width?: number | null;
571
+ placeholder?: string;
572
+ placeholderVersion?: number;
508
573
  contentType?: string;
574
+ flags?: UnfurledMediaItemFlags;
509
575
  attachmentId?: snowflake;
510
576
  }
577
+ /** https://docs.discord.com/developers/components/reference#radio-group-structure */
578
+ export interface RadioGroup {
579
+ type: ComponentTypes.RadioGroup;
580
+ id?: number;
581
+ customId: string;
582
+ options: Array<RadioGroupOptions>;
583
+ required?: boolean;
584
+ }
585
+ /** https://docs.discord.com/developers/components/reference#radio-group-option-structure */
586
+ export interface RadioGroupOptions {
587
+ value: string;
588
+ label: string;
589
+ description?: string;
590
+ default?: boolean;
591
+ }
592
+ /** https://docs.discord.com/developers/components/reference#radio-group-interaction-response-structure */
593
+ export interface RadioGroupInteractionResponse {
594
+ type: ComponentTypes.RadioGroup;
595
+ id: number;
596
+ customId: string;
597
+ value: string | null;
598
+ }
599
+ /** https://docs.discord.com/developers/components/reference#checkbox-group-structure */
600
+ export interface CheckboxGroup {
601
+ type: ComponentTypes.CheckboxGroup;
602
+ id?: number;
603
+ customId: string;
604
+ options: Array<CheckboxGroupOptions>;
605
+ minValues?: number;
606
+ maxValues?: number;
607
+ required?: boolean;
608
+ }
609
+ /** https://docs.discord.com/developers/components/reference#checkbox-group-option-structure */
610
+ export interface CheckboxGroupOptions {
611
+ value: string;
612
+ label: string;
613
+ description?: string;
614
+ default?: boolean;
615
+ }
616
+ /** https://docs.discord.com/developers/components/reference#checkbox-group-interaction-response-structure */
617
+ export interface CheckboxGroupInteractionResponse {
618
+ type: ComponentTypes.CheckboxGroup;
619
+ id: number;
620
+ customId: string;
621
+ values: Array<string>;
622
+ }
623
+ /** https://docs.discord.com/developers/components/reference#checkbox-structure */
624
+ export interface Checkbox {
625
+ type: ComponentTypes.Checkbox;
626
+ id?: number;
627
+ customId: string;
628
+ default?: boolean;
629
+ }
630
+ /** https://docs.discord.com/developers/components/reference#checkbox-interaction-response-structure */
631
+ export interface CheckboxInteractionResponse {
632
+ type: ComponentTypes.Checkbox;
633
+ id: number;
634
+ customId: string;
635
+ value: boolean;
636
+ }