Skip to content

Commit 51b2d4e

Browse files
authored
feat: Add support for file upload components (#1372)
1 parent 687f474 commit 51b2d4e

File tree

12 files changed

+136
-8
lines changed

12 files changed

+136
-8
lines changed

deno/payloads/v10/_interactions/modalSubmit.ts

Lines changed: 5 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

deno/payloads/v10/_interactions/responses.ts

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

deno/payloads/v10/message.ts

Lines changed: 27 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

deno/payloads/v9/_interactions/modalSubmit.ts

Lines changed: 5 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

deno/payloads/v9/_interactions/responses.ts

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

deno/payloads/v9/message.ts

Lines changed: 27 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

payloads/v10/_interactions/modalSubmit.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import type {
99
import type { APIBaseComponent } from '../message';
1010

1111
export interface APIBaseModalSubmitComponent<T extends ComponentType> extends APIBaseComponent<T> {
12-
type: T;
1312
custom_id: string;
1413
}
1514

@@ -38,8 +37,13 @@ export interface APIModalSubmitChannelSelectComponent extends APIBaseModalSubmit
3837
values: string[];
3938
}
4039

40+
export interface APIModalSubmitFileUploadComponent extends APIBaseModalSubmitComponent<ComponentType.FileUpload> {
41+
values: string[];
42+
}
43+
4144
export type ModalSubmitComponent =
4245
| APIModalSubmitChannelSelectComponent
46+
| APIModalSubmitFileUploadComponent
4347
| APIModalSubmitMentionableSelectComponent
4448
| APIModalSubmitRoleSelectComponent
4549
| APIModalSubmitStringSelectComponent

payloads/v10/_interactions/responses.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import type { RESTPostAPIWebhookWithTokenJSONBody } from '../../../v10';
22
import type {
33
APIActionRowComponent,
44
APIComponentInModalActionRow,
5+
APIFileUploadComponent,
56
APILabelComponent,
67
APITextDisplayComponent,
78
} from '../message';
@@ -133,6 +134,7 @@ export interface APICommandAutocompleteInteractionResponseCallbackData {
133134

134135
export type APIModalInteractionResponseCallbackComponent =
135136
| APIActionRowComponent<APIComponentInModalActionRow>
137+
| APIFileUploadComponent
136138
| APILabelComponent
137139
| APITextDisplayComponent;
138140

payloads/v10/message.ts

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1027,6 +1027,10 @@ export enum ComponentType {
10271027
* Container associating a label and description with a component
10281028
*/
10291029
Label,
1030+
/**
1031+
* Component for uploading files
1032+
*/
1033+
FileUpload,
10301034
// EVERYTHING BELOW THIS LINE SHOULD BE OLD NAMES FOR RENAMED ENUM MEMBERS //
10311035

10321036
/**
@@ -1654,6 +1658,28 @@ export interface APILabelComponent extends APIBaseComponent<ComponentType.Label>
16541658
component: APIComponentInLabel;
16551659
}
16561660

1661+
/**
1662+
* @see {@link https://discord.com/developers/docs/components/reference#file-upload}
1663+
*/
1664+
export interface APIFileUploadComponent extends APIBaseComponent<ComponentType.FileUpload> {
1665+
/**
1666+
* Id for the file upload; max 100 characters
1667+
*/
1668+
custom_id: string;
1669+
/**
1670+
* Minimum number of items that must be uploaded (defaults to 1); min 0, max 10
1671+
*/
1672+
min_values?: number;
1673+
/**
1674+
* Maximum number of items that can be uploaded (defaults to 1); max 10
1675+
*/
1676+
max_values?: number;
1677+
/**
1678+
* Whether the file upload requires files to be uploaded before submitting the modal (defaults to `true`)
1679+
*/
1680+
required?: boolean;
1681+
}
1682+
16571683
/**
16581684
* @see {@link https://discord.com/developers/docs/resources/message#message-snapshot-object}
16591685
*/
@@ -1734,7 +1760,7 @@ export type APIComponentInModalActionRow = APITextInputComponent;
17341760
/**
17351761
* @see {@link https://discord.com/developers/docs/components/reference#label-label-child-components}
17361762
*/
1737-
export type APIComponentInLabel = APISelectMenuComponent | APITextInputComponent;
1763+
export type APIComponentInLabel = APIFileUploadComponent | APISelectMenuComponent | APITextInputComponent;
17381764

17391765
/**
17401766
* @see {@link https://discord.com/developers/docs/components/reference#section}

payloads/v9/_interactions/modalSubmit.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import type {
99
import type { APIBaseComponent } from '../message';
1010

1111
export interface APIBaseModalSubmitComponent<T extends ComponentType> extends APIBaseComponent<T> {
12-
type: T;
1312
custom_id: string;
1413
}
1514

@@ -38,8 +37,13 @@ export interface APIModalSubmitChannelSelectComponent extends APIBaseModalSubmit
3837
values: string[];
3938
}
4039

40+
export interface APIModalSubmitFileUploadComponent extends APIBaseModalSubmitComponent<ComponentType.FileUpload> {
41+
values: string[];
42+
}
43+
4144
export type ModalSubmitComponent =
4245
| APIModalSubmitChannelSelectComponent
46+
| APIModalSubmitFileUploadComponent
4347
| APIModalSubmitMentionableSelectComponent
4448
| APIModalSubmitRoleSelectComponent
4549
| APIModalSubmitStringSelectComponent

0 commit comments

Comments
 (0)