disgroove 2.2.6 → 2.2.7-dev.19963da

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.
@@ -1,81 +1,161 @@
1
1
  import type { ButtonStyles, ChannelTypes, ComponentTypes, SeparatorSpacing, TextInputStyles } from "../constants";
2
2
  import type { snowflake } from "./common";
3
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
+ }
4
11
  /** https://discord.com/developers/docs/components/reference#button-button-structure */
5
12
  export interface RawButton {
6
13
  type: ComponentTypes.Button;
14
+ id?: number;
7
15
  style: ButtonStyles;
8
16
  label?: string;
9
17
  emoji?: Pick<RawEmoji, "name" | "id" | "animated">;
10
- custom_id?: string;
18
+ custom_id: string;
11
19
  sku_id?: snowflake;
12
20
  url?: string;
13
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;
14
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;
15
34
  }
16
- /** https://discord.com/developers/docs/components/reference#container-container-structure */
17
- export interface RawContainer {
18
- type: ComponentTypes.Container;
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;
19
54
  id?: number;
20
- components: Array<RawActionRow | RawTextDisplay | RawSection | RawMediaGallery | RawSeparator | RawFile>;
21
- accent_color?: number | null;
22
- spoiler?: boolean;
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;
23
63
  }
24
- /** https://discord.com/developers/docs/components/reference#file-file-structure */
25
- export interface RawFile {
26
- type: ComponentTypes.File;
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;
27
74
  id?: number;
28
- file: RawUnfurledMediaItem;
29
- spoiler?: boolean;
30
- name: string;
31
- size: number;
75
+ custom_id: string;
76
+ placeholder?: string;
77
+ default_values?: Array<RawDefaultValue>;
78
+ min_values?: number;
79
+ max_values?: number;
80
+ disabled?: boolean;
32
81
  }
33
- /** https://discord.com/developers/docs/components/reference#media-gallery-media-gallery-structure */
34
- export interface RawMediaGallery {
35
- type: ComponentTypes.MediaGallery;
82
+ /** https://discord.com/developers/docs/components/reference#user-select-user-select-interaction-response-structure */
83
+ export interface RawUserSelectInteractionResponse {
84
+ component_type: ComponentTypes.UserSelect;
85
+ id: number;
86
+ custom_id: string;
87
+ resolved: RawResolvedData;
88
+ values: Array<snowflake>;
89
+ }
90
+ /** https://discord.com/developers/docs/components/reference#user-select-select-default-value-structure */
91
+ export interface RawDefaultValue {
92
+ id: snowflake;
93
+ type: "user" | "role" | "channel";
94
+ }
95
+ /** https://discord.com/developers/docs/components/reference#role-select-role-select-structure */
96
+ export interface RawRoleSelect {
97
+ type: ComponentTypes.RoleSelect;
36
98
  id?: number;
37
- items: Array<RawMediaGalleryItem>;
99
+ custom_id: string;
100
+ placeholder?: string;
101
+ default_values?: Array<RawDefaultValue>;
102
+ min_values?: number;
103
+ max_values?: number;
104
+ disabled?: boolean;
38
105
  }
39
- /** https://discord.com/developers/docs/components/reference#media-gallery-media-gallery-item-structure */
40
- export interface RawMediaGalleryItem {
41
- media: RawUnfurledMediaItem;
42
- description?: string;
43
- spoiler?: boolean;
106
+ /** https://discord.com/developers/docs/components/reference#role-select-role-select-interaction-response-structure */
107
+ export interface RawRoleSelectInteractionResponse {
108
+ component_type: ComponentTypes.RoleSelect;
109
+ id: number;
110
+ custom_id: string;
111
+ resolved: RawResolvedData;
112
+ values: Array<snowflake>;
44
113
  }
45
- /** https://discord.com/developers/docs/components/reference#section-section-structure */
46
- export interface RawSection {
47
- type: ComponentTypes.Section;
114
+ /** https://discord.com/developers/docs/components/reference#mentionable-select-mentionable-select-structure */
115
+ export interface RawMentionableSelect {
116
+ type: ComponentTypes.MentionableSelect;
48
117
  id?: number;
49
- components: Array<RawTextDisplay>;
50
- accessory: RawThumbnail | RawButton;
118
+ custom_id: string;
119
+ placeholder?: string;
120
+ default_values?: Array<RawDefaultValue>;
121
+ min_values?: number;
122
+ max_values?: number;
123
+ disabled?: boolean;
51
124
  }
52
- /** https://discord.com/developers/docs/interactions/message-components#select-menu-object-select-menu-structure */
53
- export interface RawSelectMenu {
54
- type: ComponentTypes.ChannelSelect | ComponentTypes.MentionableSelect | ComponentTypes.RoleSelect | ComponentTypes.StringSelect | ComponentTypes.UserSelect;
125
+ /** https://discord.com/developers/docs/components/reference#mentionable-select-mentionable-select-interaction-response-structure */
126
+ export interface RawMentionableSelectInteractionResponse {
127
+ component_type: ComponentTypes.MentionableSelect;
128
+ id: number;
129
+ custom_id: string;
130
+ resolved: RawResolvedData;
131
+ values: Array<snowflake>;
132
+ }
133
+ /** https://discord.com/developers/docs/components/reference#channel-select-channel-select-structure */
134
+ export interface RawChannelSelect {
135
+ type: ComponentTypes.ChannelSelect;
136
+ id?: number;
55
137
  custom_id: string;
56
- options?: Array<RawSelectOption>;
57
138
  channel_types?: Array<ChannelTypes>;
58
139
  placeholder?: string;
59
140
  default_values?: Array<RawDefaultValue>;
60
141
  min_values?: number;
61
142
  max_values?: number;
62
143
  disabled?: boolean;
63
- id?: number;
64
144
  }
65
- /** https://discord.com/developers/docs/components/reference#string-select-select-option-structure */
66
- export interface RawSelectOption {
67
- label: string;
68
- value: string;
69
- description?: string;
70
- emoji?: Pick<RawEmoji, "name" | "id" | "animated">;
71
- default?: boolean;
145
+ /** https://discord.com/developers/docs/components/reference#channel-select-channel-select-interaction-response-structure */
146
+ export interface RawChannelSelectInteractionResponse {
147
+ component_type: ComponentTypes.ChannelSelect;
148
+ id: number;
149
+ custom_id: string;
150
+ resolved: RawResolvedData;
151
+ values: Array<snowflake>;
72
152
  }
73
- /** https://discord.com/developers/docs/components/reference#separator-separator-structure */
74
- export interface RawSeparator {
75
- type: ComponentTypes.Separator;
153
+ /** https://discord.com/developers/docs/components/reference#section-section-structure */
154
+ export interface RawSection {
155
+ type: ComponentTypes.Section;
76
156
  id?: number;
77
- divider?: boolean;
78
- spacing?: SeparatorSpacing;
157
+ components: Array<RawTextDisplay>;
158
+ accessory: RawButton | RawThumbnail;
79
159
  }
80
160
  /** https://discord.com/developers/docs/components/reference#text-display-text-display-structure */
81
161
  export interface RawTextDisplay {
@@ -91,31 +171,51 @@ export interface RawThumbnail {
91
171
  description?: string;
92
172
  spoiler?: boolean;
93
173
  }
94
- /** https://discord.com/developers/docs/components/reference#user-select-select-default-value-structure */
95
- export interface RawDefaultValue {
96
- id: snowflake;
97
- type: string;
174
+ /** https://discord.com/developers/docs/components/reference#media-gallery-media-gallery-structure */
175
+ export interface RawMediaGallery {
176
+ type: ComponentTypes.MediaGallery;
177
+ id?: number;
178
+ items: Array<RawMediaGalleryItem>;
98
179
  }
99
- /** https://discord.com/developers/docs/components/reference#text-input-text-input-structure */
100
- export interface RawTextInput {
101
- type: ComponentTypes.TextInput;
102
- custom_id: string;
103
- style: TextInputStyles;
104
- label: string;
105
- min_length?: number;
106
- max_length?: number;
107
- required?: boolean;
108
- value?: string;
109
- placeholder?: string;
180
+ /** https://discord.com/developers/docs/components/reference#media-gallery-media-gallery-item-structure */
181
+ export interface RawMediaGalleryItem {
182
+ media: RawUnfurledMediaItem;
183
+ description?: string;
184
+ spoiler?: boolean;
185
+ }
186
+ /** https://discord.com/developers/docs/components/reference#file-file-structure */
187
+ export interface RawFile {
188
+ type: ComponentTypes.File;
110
189
  id?: number;
190
+ file: RawUnfurledMediaItem;
191
+ spoiler?: boolean;
192
+ name: string;
193
+ size: number;
111
194
  }
112
- /** https://discord.com/developers/docs/components/reference#action-row-action-row-structure */
113
- export interface RawActionRow {
114
- type: ComponentTypes.ActionRow;
115
- components: Array<RawButton | RawSelectMenu | RawTextInput>;
195
+ /** https://discord.com/developers/docs/components/reference#separator-separator-structure */
196
+ export interface RawSeparator {
197
+ type: ComponentTypes.Separator;
198
+ id?: number;
199
+ divider?: boolean;
200
+ spacing?: SeparatorSpacing;
201
+ }
202
+ /** https://discord.com/developers/docs/components/reference#container-container-structure */
203
+ export interface RawContainer {
204
+ type: ComponentTypes.Container;
205
+ id?: number;
206
+ components: Array<RawActionRow | RawTextDisplay | RawSection | RawMediaGallery | RawSeparator | RawFile>;
207
+ accent_color?: number | null;
208
+ spoiler?: boolean;
209
+ }
210
+ /** https://discord.com/developers/docs/components/reference#label-label-structure */
211
+ export interface RawLabel {
212
+ type: ComponentTypes.Label;
116
213
  id?: number;
214
+ label: string;
215
+ description?: string;
216
+ component: RawTextInput | RawStringSelect;
117
217
  }
118
- /** https://discord.com/developers/docs/components/reference#unfurled-media-item-structure */
218
+ /** https://discord.com/developers/docs/components/reference#unfurled-media-item-unfurled-media-item-structure */
119
219
  export interface RawUnfurledMediaItem {
120
220
  url: string;
121
221
  proxy_url?: string;
@@ -124,72 +224,143 @@ export interface RawUnfurledMediaItem {
124
224
  content_type?: string;
125
225
  attachment_id?: snowflake;
126
226
  }
227
+ export interface ActionRow {
228
+ type: ComponentTypes.ActionRow;
229
+ components: Array<Button | StringSelect | TextInput | UserSelect | RoleSelect | MentionableSelect | ChannelSelect>;
230
+ id?: number;
231
+ }
127
232
  export interface Button {
128
233
  type: ComponentTypes.Button;
234
+ id?: number;
129
235
  style: ButtonStyles;
130
236
  label?: string;
131
237
  emoji?: Pick<Emoji, "name" | "id" | "animated">;
132
- customID?: string;
238
+ customID: string;
133
239
  skuID?: snowflake;
134
240
  url?: string;
135
241
  disabled?: boolean;
242
+ }
243
+ export interface StringSelect {
244
+ type: ComponentTypes.StringSelect;
136
245
  id?: number;
246
+ customID: string;
247
+ options: Array<SelectOption>;
248
+ placeholder?: string;
249
+ minValues?: number;
250
+ maxValues?: number;
251
+ required?: boolean;
252
+ disabled?: boolean;
137
253
  }
138
- export interface Container {
139
- type: ComponentTypes.Container;
254
+ export interface StringSelectInteractionResponse {
255
+ type: ComponentTypes.StringSelect;
256
+ componentType: ComponentTypes.StringSelect;
257
+ id: number;
258
+ customID: string;
259
+ values: Array<string>;
260
+ }
261
+ export interface SelectOption {
262
+ label: string;
263
+ value: string;
264
+ description?: string;
265
+ emoji?: Pick<Emoji, "name" | "id" | "animated">;
266
+ default?: boolean;
267
+ }
268
+ export interface TextInput {
269
+ type: ComponentTypes.TextInput;
140
270
  id?: number;
141
- components: Array<ActionRow | TextDisplay | Section | MediaGallery | Separator | File>;
142
- accentColor?: number | null;
143
- spoiler?: boolean;
271
+ customID: string;
272
+ style: TextInputStyles;
273
+ minLength?: number;
274
+ maxLength?: number;
275
+ required?: boolean;
276
+ value?: string;
277
+ placeholder?: string;
278
+ label: string;
144
279
  }
145
- export interface File {
146
- type: ComponentTypes.File;
280
+ export interface TextInputInteractionResponse {
281
+ type: ComponentTypes.TextInput;
282
+ id: number;
283
+ customID: string;
284
+ value: string;
285
+ }
286
+ export interface UserSelect {
287
+ type: ComponentTypes.UserSelect;
147
288
  id?: number;
148
- file: UnfurledMediaItem;
149
- spoiler?: boolean;
150
- name: string;
151
- size: number;
289
+ customID: string;
290
+ placeholder?: string;
291
+ defaultValues?: Array<DefaultValue>;
292
+ minValues?: number;
293
+ maxValues?: number;
294
+ disabled?: boolean;
152
295
  }
153
- export interface MediaGallery {
154
- type: ComponentTypes.MediaGallery;
296
+ export interface UserSelectInteractionResponse {
297
+ component_type: ComponentTypes.UserSelect;
298
+ id: number;
299
+ customID: string;
300
+ resolved: ResolvedData;
301
+ values: Array<snowflake>;
302
+ }
303
+ export interface DefaultValue {
304
+ id: snowflake;
305
+ type: "user" | "role" | "channel";
306
+ }
307
+ export interface RoleSelect {
308
+ type: ComponentTypes.RoleSelect;
155
309
  id?: number;
156
- items: Array<MediaGalleryItem>;
310
+ customID: string;
311
+ placeholder?: string;
312
+ defaultValues?: Array<DefaultValue>;
313
+ minValues?: number;
314
+ maxValues?: number;
315
+ disabled?: boolean;
157
316
  }
158
- export interface MediaGalleryItem {
159
- media: UnfurledMediaItem;
160
- description?: string;
161
- spoiler?: boolean;
317
+ export interface RoleSelectInteractionResponse {
318
+ componentType: ComponentTypes.RoleSelect;
319
+ id: number;
320
+ customID: string;
321
+ resolved: ResolvedData;
322
+ values: Array<snowflake>;
162
323
  }
163
- export interface Section {
164
- type: ComponentTypes.Section;
324
+ export interface MentionableSelect {
325
+ type: ComponentTypes.MentionableSelect;
165
326
  id?: number;
166
- components: Array<TextDisplay>;
167
- accessory: Thumbnail | Button;
327
+ customID: string;
328
+ placeholder?: string;
329
+ defaultValues?: Array<DefaultValue>;
330
+ minValues?: number;
331
+ maxValues?: number;
332
+ disabled?: boolean;
168
333
  }
169
- export interface SelectMenu {
170
- type: ComponentTypes.ChannelSelect | ComponentTypes.MentionableSelect | ComponentTypes.RoleSelect | ComponentTypes.StringSelect | ComponentTypes.UserSelect;
334
+ export interface MentionableSelectInteractionResponse {
335
+ componentType: ComponentTypes.MentionableSelect;
336
+ id: number;
337
+ customID: string;
338
+ resolved: ResolvedData;
339
+ values: Array<snowflake>;
340
+ }
341
+ export interface ChannelSelect {
342
+ type: ComponentTypes.ChannelSelect;
343
+ id?: number;
171
344
  customID: string;
172
- options?: Array<SelectOption>;
173
345
  channelTypes?: Array<ChannelTypes>;
174
346
  placeholder?: string;
175
347
  defaultValues?: Array<DefaultValue>;
176
348
  minValues?: number;
177
349
  maxValues?: number;
178
350
  disabled?: boolean;
179
- id?: number;
180
351
  }
181
- export interface SelectOption {
182
- label: string;
183
- value: string;
184
- description?: string;
185
- emoji?: Pick<Emoji, "name" | "id" | "animated">;
186
- default?: boolean;
352
+ export interface ChannelSelectInteractionResponse {
353
+ componentType: ComponentTypes.ChannelSelect;
354
+ id: number;
355
+ customID: string;
356
+ resolved: ResolvedData;
357
+ values: Array<snowflake>;
187
358
  }
188
- export interface Separator {
189
- type: ComponentTypes.Separator;
359
+ export interface Section {
360
+ type: ComponentTypes.Section;
190
361
  id?: number;
191
- divider?: boolean;
192
- spacing?: SeparatorSpacing;
362
+ components: Array<TextDisplay>;
363
+ accessory: Button | Thumbnail;
193
364
  }
194
365
  export interface TextDisplay {
195
366
  type: ComponentTypes.TextDisplay;
@@ -203,26 +374,43 @@ export interface Thumbnail {
203
374
  description?: string;
204
375
  spoiler?: boolean;
205
376
  }
206
- export interface DefaultValue {
207
- id: snowflake;
208
- type: string;
377
+ export interface MediaGallery {
378
+ type: ComponentTypes.MediaGallery;
379
+ id?: number;
380
+ items: Array<MediaGalleryItem>;
209
381
  }
210
- export interface TextInput {
211
- type: ComponentTypes.TextInput;
212
- customID: string;
213
- style: TextInputStyles;
214
- label: string;
215
- minLength?: number;
216
- maxLength?: number;
217
- required?: boolean;
218
- value?: string;
219
- placeholder?: string;
382
+ export interface MediaGalleryItem {
383
+ media: UnfurledMediaItem;
384
+ description?: string;
385
+ spoiler?: boolean;
386
+ }
387
+ export interface File {
388
+ type: ComponentTypes.File;
389
+ id?: number;
390
+ file: UnfurledMediaItem;
391
+ spoiler?: boolean;
392
+ name: string;
393
+ size: number;
394
+ }
395
+ export interface Separator {
396
+ type: ComponentTypes.Separator;
220
397
  id?: number;
398
+ divider?: boolean;
399
+ spacing?: SeparatorSpacing;
221
400
  }
222
- export interface ActionRow {
223
- type: ComponentTypes.ActionRow;
224
- components: Array<Button | SelectMenu | TextInput>;
401
+ export interface Container {
402
+ type: ComponentTypes.Container;
225
403
  id?: number;
404
+ components: Array<ActionRow | TextDisplay | Section | MediaGallery | Separator | File>;
405
+ accentColor?: number | null;
406
+ spoiler?: boolean;
407
+ }
408
+ export interface Label {
409
+ type: ComponentTypes.Label;
410
+ id?: number;
411
+ label: string;
412
+ description?: string;
413
+ component: TextInput | StringSelect;
226
414
  }
227
415
  export interface UnfurledMediaItem {
228
416
  url: string;
@@ -38,7 +38,7 @@ export interface RawMessage {
38
38
  interaction_metadata?: RawMessageInteractionMetadata;
39
39
  interaction?: RawMessageInteraction;
40
40
  thread?: RawChannel;
41
- components?: Array<RawMessageTopLevelComponent>;
41
+ components?: Array<RawActionRow | RawSection | RawTextDisplay | RawMediaGallery | RawFile | RawSeparator | RawContainer>;
42
42
  sticker_items?: Array<RawStickerItem>;
43
43
  stickers?: Array<RawSticker>;
44
44
  position?: number;
@@ -47,7 +47,6 @@ export interface RawMessage {
47
47
  poll?: RawPoll;
48
48
  call?: RawMessageCall;
49
49
  }
50
- export type RawMessageTopLevelComponent = RawActionRow | RawTextDisplay | RawContainer | RawFile | RawSection | RawSeparator | RawMediaGallery;
51
50
  /** https://discord.com/developers/docs/resources/message#message-object-message-activity-structure */
52
51
  export interface RawMessageActivity {
53
52
  type: MessageActivityTypes;
@@ -231,7 +230,7 @@ export interface Message {
231
230
  interactionMetadata?: MessageInteractionMetadata;
232
231
  interaction?: MessageInteraction;
233
232
  thread?: Channel;
234
- components?: Array<MessageTopLevelComponent>;
233
+ components?: Array<ActionRow | Section | TextDisplay | MediaGallery | File | Separator | Container>;
235
234
  stickerItems?: Array<StickerItem>;
236
235
  stickers?: Array<Sticker>;
237
236
  position?: number;
@@ -240,7 +239,6 @@ export interface Message {
240
239
  poll?: Poll;
241
240
  call?: MessageCall;
242
241
  }
243
- export type MessageTopLevelComponent = ActionRow | TextDisplay | Container | File | Section | Separator | MediaGallery;
244
242
  export interface MessageActivity {
245
243
  type: MessageActivityTypes;
246
244
  partyID?: string;
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "disgroove",
3
- "version": "2.2.6",
3
+ "version": "2.2.7-dev.19963da",
4
4
  "description": "A module to interface with Discord",
5
5
  "main": "./dist/lib/index.js",
6
6
  "types": "./dist/lib/index.d.ts",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "disgroove",
3
- "version": "2.2.6",
3
+ "version": "2.2.7-dev.19963da",
4
4
  "description": "A module to interface with Discord",
5
5
  "main": "./dist/lib/index.js",
6
6
  "types": "./dist/lib/index.d.ts",