diff --git a/deno/payloads/v10/_interactions/modalSubmit.ts b/deno/payloads/v10/_interactions/modalSubmit.ts index 7139da6c..2aaccab2 100644 --- a/deno/payloads/v10/_interactions/modalSubmit.ts +++ b/deno/payloads/v10/_interactions/modalSubmit.ts @@ -9,7 +9,6 @@ import type { import type { APIBaseComponent } from '../message.ts'; export interface APIBaseModalSubmitComponent extends APIBaseComponent { - type: T; custom_id: string; } @@ -38,8 +37,13 @@ export interface APIModalSubmitChannelSelectComponent extends APIBaseModalSubmit values: string[]; } +export interface APIModalSubmitFileUploadComponent extends APIBaseModalSubmitComponent { + values: string[]; +} + export type ModalSubmitComponent = | APIModalSubmitChannelSelectComponent + | APIModalSubmitFileUploadComponent | APIModalSubmitMentionableSelectComponent | APIModalSubmitRoleSelectComponent | APIModalSubmitStringSelectComponent diff --git a/deno/payloads/v10/_interactions/responses.ts b/deno/payloads/v10/_interactions/responses.ts index 19582835..2e3e4ce4 100644 --- a/deno/payloads/v10/_interactions/responses.ts +++ b/deno/payloads/v10/_interactions/responses.ts @@ -2,6 +2,7 @@ import type { RESTPostAPIWebhookWithTokenJSONBody } from '../../../v10.ts'; import type { APIActionRowComponent, APIComponentInModalActionRow, + APIFileUploadComponent, APILabelComponent, APITextDisplayComponent, } from '../message.ts'; @@ -133,6 +134,7 @@ export interface APICommandAutocompleteInteractionResponseCallbackData { export type APIModalInteractionResponseCallbackComponent = | APIActionRowComponent + | APIFileUploadComponent | APILabelComponent | APITextDisplayComponent; diff --git a/deno/payloads/v10/message.ts b/deno/payloads/v10/message.ts index 78b4d417..aef0c941 100644 --- a/deno/payloads/v10/message.ts +++ b/deno/payloads/v10/message.ts @@ -1027,6 +1027,10 @@ export enum ComponentType { * Container associating a label and description with a component */ Label, + /** + * Component for uploading files + */ + FileUpload, // EVERYTHING BELOW THIS LINE SHOULD BE OLD NAMES FOR RENAMED ENUM MEMBERS // /** @@ -1654,6 +1658,28 @@ export interface APILabelComponent extends APIBaseComponent component: APIComponentInLabel; } +/** + * @see {@link https://discord.com/developers/docs/components/reference#file-upload} + */ +export interface APIFileUploadComponent extends APIBaseComponent { + /** + * Id for the file upload; max 100 characters + */ + custom_id: string; + /** + * Minimum number of items that must be uploaded (defaults to 1); min 0, max 10 + */ + min_values?: number; + /** + * Maximum number of items that can be uploaded (defaults to 1); max 10 + */ + max_values?: number; + /** + * Whether the file upload requires files to be uploaded before submitting the modal (defaults to `true`) + */ + required?: boolean; +} + /** * @see {@link https://discord.com/developers/docs/resources/message#message-snapshot-object} */ @@ -1734,7 +1760,7 @@ export type APIComponentInModalActionRow = APITextInputComponent; /** * @see {@link https://discord.com/developers/docs/components/reference#label-label-child-components} */ -export type APIComponentInLabel = APISelectMenuComponent | APITextInputComponent; +export type APIComponentInLabel = APIFileUploadComponent | APISelectMenuComponent | APITextInputComponent; /** * @see {@link https://discord.com/developers/docs/components/reference#section} diff --git a/deno/payloads/v9/_interactions/modalSubmit.ts b/deno/payloads/v9/_interactions/modalSubmit.ts index 7139da6c..2aaccab2 100644 --- a/deno/payloads/v9/_interactions/modalSubmit.ts +++ b/deno/payloads/v9/_interactions/modalSubmit.ts @@ -9,7 +9,6 @@ import type { import type { APIBaseComponent } from '../message.ts'; export interface APIBaseModalSubmitComponent extends APIBaseComponent { - type: T; custom_id: string; } @@ -38,8 +37,13 @@ export interface APIModalSubmitChannelSelectComponent extends APIBaseModalSubmit values: string[]; } +export interface APIModalSubmitFileUploadComponent extends APIBaseModalSubmitComponent { + values: string[]; +} + export type ModalSubmitComponent = | APIModalSubmitChannelSelectComponent + | APIModalSubmitFileUploadComponent | APIModalSubmitMentionableSelectComponent | APIModalSubmitRoleSelectComponent | APIModalSubmitStringSelectComponent diff --git a/deno/payloads/v9/_interactions/responses.ts b/deno/payloads/v9/_interactions/responses.ts index b63ee9e5..a15a7b32 100644 --- a/deno/payloads/v9/_interactions/responses.ts +++ b/deno/payloads/v9/_interactions/responses.ts @@ -2,6 +2,7 @@ import type { RESTPostAPIWebhookWithTokenJSONBody } from '../../../v9.ts'; import type { APIActionRowComponent, APIComponentInModalActionRow, + APIFileUploadComponent, APILabelComponent, APITextDisplayComponent, } from '../message.ts'; @@ -133,6 +134,7 @@ export interface APICommandAutocompleteInteractionResponseCallbackData { export type APIModalInteractionResponseCallbackComponent = | APIActionRowComponent + | APIFileUploadComponent | APILabelComponent | APITextDisplayComponent; diff --git a/deno/payloads/v9/message.ts b/deno/payloads/v9/message.ts index 5a08bd9e..ad17cf6e 100644 --- a/deno/payloads/v9/message.ts +++ b/deno/payloads/v9/message.ts @@ -1022,6 +1022,10 @@ export enum ComponentType { * Container associating a label and description with a component */ Label, + /** + * Component for uploading files + */ + FileUpload, // EVERYTHING BELOW THIS LINE SHOULD BE OLD NAMES FOR RENAMED ENUM MEMBERS // /** @@ -1649,6 +1653,28 @@ export interface APILabelComponent extends APIBaseComponent component: APIComponentInLabel; } +/** + * @see {@link https://discord.com/developers/docs/components/reference#file-upload} + */ +export interface APIFileUploadComponent extends APIBaseComponent { + /** + * Id for the file upload; max 100 characters + */ + custom_id: string; + /** + * Minimum number of items that must be uploaded (defaults to 1); min 0, max 10 + */ + min_values?: number; + /** + * Maximum number of items that can be uploaded (defaults to 1); max 10 + */ + max_values?: number; + /** + * Whether the file upload requires files to be uploaded before submitting the modal (defaults to `true`) + */ + required?: boolean; +} + /** * @see {@link https://discord.com/developers/docs/resources/message#message-snapshot-object} */ @@ -1729,7 +1755,7 @@ export type APIComponentInModalActionRow = APITextInputComponent; /** * @see {@link https://discord.com/developers/docs/components/reference#label-label-child-components} */ -export type APIComponentInLabel = APISelectMenuComponent | APITextInputComponent; +export type APIComponentInLabel = APIFileUploadComponent | APISelectMenuComponent | APITextInputComponent; /** * @see {@link https://discord.com/developers/docs/components/reference#section} diff --git a/payloads/v10/_interactions/modalSubmit.ts b/payloads/v10/_interactions/modalSubmit.ts index 535fd0be..b23daec8 100644 --- a/payloads/v10/_interactions/modalSubmit.ts +++ b/payloads/v10/_interactions/modalSubmit.ts @@ -9,7 +9,6 @@ import type { import type { APIBaseComponent } from '../message'; export interface APIBaseModalSubmitComponent extends APIBaseComponent { - type: T; custom_id: string; } @@ -38,8 +37,13 @@ export interface APIModalSubmitChannelSelectComponent extends APIBaseModalSubmit values: string[]; } +export interface APIModalSubmitFileUploadComponent extends APIBaseModalSubmitComponent { + values: string[]; +} + export type ModalSubmitComponent = | APIModalSubmitChannelSelectComponent + | APIModalSubmitFileUploadComponent | APIModalSubmitMentionableSelectComponent | APIModalSubmitRoleSelectComponent | APIModalSubmitStringSelectComponent diff --git a/payloads/v10/_interactions/responses.ts b/payloads/v10/_interactions/responses.ts index 4ba751b1..b10fbf88 100644 --- a/payloads/v10/_interactions/responses.ts +++ b/payloads/v10/_interactions/responses.ts @@ -2,6 +2,7 @@ import type { RESTPostAPIWebhookWithTokenJSONBody } from '../../../v10'; import type { APIActionRowComponent, APIComponentInModalActionRow, + APIFileUploadComponent, APILabelComponent, APITextDisplayComponent, } from '../message'; @@ -133,6 +134,7 @@ export interface APICommandAutocompleteInteractionResponseCallbackData { export type APIModalInteractionResponseCallbackComponent = | APIActionRowComponent + | APIFileUploadComponent | APILabelComponent | APITextDisplayComponent; diff --git a/payloads/v10/message.ts b/payloads/v10/message.ts index c8d37221..77bba110 100644 --- a/payloads/v10/message.ts +++ b/payloads/v10/message.ts @@ -1027,6 +1027,10 @@ export enum ComponentType { * Container associating a label and description with a component */ Label, + /** + * Component for uploading files + */ + FileUpload, // EVERYTHING BELOW THIS LINE SHOULD BE OLD NAMES FOR RENAMED ENUM MEMBERS // /** @@ -1654,6 +1658,28 @@ export interface APILabelComponent extends APIBaseComponent component: APIComponentInLabel; } +/** + * @see {@link https://discord.com/developers/docs/components/reference#file-upload} + */ +export interface APIFileUploadComponent extends APIBaseComponent { + /** + * Id for the file upload; max 100 characters + */ + custom_id: string; + /** + * Minimum number of items that must be uploaded (defaults to 1); min 0, max 10 + */ + min_values?: number; + /** + * Maximum number of items that can be uploaded (defaults to 1); max 10 + */ + max_values?: number; + /** + * Whether the file upload requires files to be uploaded before submitting the modal (defaults to `true`) + */ + required?: boolean; +} + /** * @see {@link https://discord.com/developers/docs/resources/message#message-snapshot-object} */ @@ -1734,7 +1760,7 @@ export type APIComponentInModalActionRow = APITextInputComponent; /** * @see {@link https://discord.com/developers/docs/components/reference#label-label-child-components} */ -export type APIComponentInLabel = APISelectMenuComponent | APITextInputComponent; +export type APIComponentInLabel = APIFileUploadComponent | APISelectMenuComponent | APITextInputComponent; /** * @see {@link https://discord.com/developers/docs/components/reference#section} diff --git a/payloads/v9/_interactions/modalSubmit.ts b/payloads/v9/_interactions/modalSubmit.ts index 535fd0be..b23daec8 100644 --- a/payloads/v9/_interactions/modalSubmit.ts +++ b/payloads/v9/_interactions/modalSubmit.ts @@ -9,7 +9,6 @@ import type { import type { APIBaseComponent } from '../message'; export interface APIBaseModalSubmitComponent extends APIBaseComponent { - type: T; custom_id: string; } @@ -38,8 +37,13 @@ export interface APIModalSubmitChannelSelectComponent extends APIBaseModalSubmit values: string[]; } +export interface APIModalSubmitFileUploadComponent extends APIBaseModalSubmitComponent { + values: string[]; +} + export type ModalSubmitComponent = | APIModalSubmitChannelSelectComponent + | APIModalSubmitFileUploadComponent | APIModalSubmitMentionableSelectComponent | APIModalSubmitRoleSelectComponent | APIModalSubmitStringSelectComponent diff --git a/payloads/v9/_interactions/responses.ts b/payloads/v9/_interactions/responses.ts index b3ede5c2..77acfd81 100644 --- a/payloads/v9/_interactions/responses.ts +++ b/payloads/v9/_interactions/responses.ts @@ -2,6 +2,7 @@ import type { RESTPostAPIWebhookWithTokenJSONBody } from '../../../v9'; import type { APIActionRowComponent, APIComponentInModalActionRow, + APIFileUploadComponent, APILabelComponent, APITextDisplayComponent, } from '../message'; @@ -133,6 +134,7 @@ export interface APICommandAutocompleteInteractionResponseCallbackData { export type APIModalInteractionResponseCallbackComponent = | APIActionRowComponent + | APIFileUploadComponent | APILabelComponent | APITextDisplayComponent; diff --git a/payloads/v9/message.ts b/payloads/v9/message.ts index da1b36ee..09885772 100644 --- a/payloads/v9/message.ts +++ b/payloads/v9/message.ts @@ -1022,6 +1022,10 @@ export enum ComponentType { * Container associating a label and description with a component */ Label, + /** + * Component for uploading files + */ + FileUpload, // EVERYTHING BELOW THIS LINE SHOULD BE OLD NAMES FOR RENAMED ENUM MEMBERS // /** @@ -1649,6 +1653,28 @@ export interface APILabelComponent extends APIBaseComponent component: APIComponentInLabel; } +/** + * @see {@link https://discord.com/developers/docs/components/reference#file-upload} + */ +export interface APIFileUploadComponent extends APIBaseComponent { + /** + * Id for the file upload; max 100 characters + */ + custom_id: string; + /** + * Minimum number of items that must be uploaded (defaults to 1); min 0, max 10 + */ + min_values?: number; + /** + * Maximum number of items that can be uploaded (defaults to 1); max 10 + */ + max_values?: number; + /** + * Whether the file upload requires files to be uploaded before submitting the modal (defaults to `true`) + */ + required?: boolean; +} + /** * @see {@link https://discord.com/developers/docs/resources/message#message-snapshot-object} */ @@ -1729,7 +1755,7 @@ export type APIComponentInModalActionRow = APITextInputComponent; /** * @see {@link https://discord.com/developers/docs/components/reference#label-label-child-components} */ -export type APIComponentInLabel = APISelectMenuComponent | APITextInputComponent; +export type APIComponentInLabel = APIFileUploadComponent | APISelectMenuComponent | APITextInputComponent; /** * @see {@link https://discord.com/developers/docs/components/reference#section}