disgroove 3.0.1-dev.739a5a9 → 3.0.1-dev.c03cf79

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.
@@ -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
@@ -23,6 +23,7 @@ export interface RawApplication {
23
23
  slug?: string;
24
24
  cover_image?: string;
25
25
  flags?: ApplicationFlags;
26
+ flags_new?: string;
26
27
  approximate_guild_count?: number;
27
28
  approximate_user_install_count?: number;
28
29
  approximate_user_authorization_count?: number;
@@ -30,7 +31,7 @@ export interface RawApplication {
30
31
  interactions_endpoint_url?: string;
31
32
  role_connections_verification_url?: string;
32
33
  event_webhooks_url?: string | null;
33
- event_webhooks_status: ApplicationEventWebhookStatus;
34
+ event_webhooks_status?: ApplicationEventWebhookStatus;
34
35
  event_webhooks_types?: Array<string>;
35
36
  tags?: Array<string>;
36
37
  install_params?: RawInstallParams;
@@ -81,6 +82,7 @@ export interface Application {
81
82
  slug?: string;
82
83
  coverImage?: string;
83
84
  flags?: ApplicationFlags;
85
+ flagsNew?: string;
84
86
  approximateGuildCount?: number;
85
87
  approximateUserInstallCount?: number;
86
88
  approximateUserAuthorizationCount?: number;
@@ -88,7 +90,7 @@ export interface Application {
88
90
  interactionsEndpointURL?: string;
89
91
  roleConnectionsVerificationURL?: string;
90
92
  eventWebhooksURL?: string | null;
91
- eventWebhooksStatus: ApplicationEventWebhookStatus;
93
+ eventWebhooksStatus?: ApplicationEventWebhookStatus;
92
94
  eventWebhooksTypes?: Array<string>;
93
95
  tags?: Array<string>;
94
96
  installParams?: InstallParams;
@@ -42,6 +42,7 @@ export interface RawOptionalAuditLogEntryInfo {
42
42
  role_name: string;
43
43
  type: string;
44
44
  integration_type: string;
45
+ status: string;
45
46
  }
46
47
  /** https://discord.com/developers/docs/resources/audit-log#audit-log-change-object-audit-log-change-structure */
47
48
  export interface RawAuditLogChange {
@@ -84,6 +85,7 @@ export interface OptionalAuditLogEntryInfo {
84
85
  roleName: string;
85
86
  type: string;
86
87
  integrationType: string;
88
+ status: string;
87
89
  }
88
90
  /** https://discord.com/developers/docs/resources/audit-log#audit-log-change-object-audit-log-change-structure */
89
91
  export interface AuditLogChange {
@@ -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";
@@ -15,7 +15,7 @@ export interface RawButton {
15
15
  style: ButtonStyles;
16
16
  label?: string;
17
17
  emoji?: Pick<RawEmoji, "name" | "id" | "animated">;
18
- custom_id: string;
18
+ custom_id?: string;
19
19
  sku_id?: snowflake;
20
20
  url?: string;
21
21
  disabled?: boolean;
@@ -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;
@@ -268,7 +331,7 @@ export interface Button {
268
331
  style: ButtonStyles;
269
332
  label?: string;
270
333
  emoji?: Pick<Emoji, "name" | "id" | "animated">;
271
- customId: string;
334
+ customId?: string;
272
335
  skuId?: snowflake;
273
336
  url?: string;
274
337
  disabled?: boolean;
@@ -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
+ }