mirror of
https://github.com/discordjs/discord-api-types.git
synced 2026-09-18 09:17:25 +00:00
fix: move required out of subcommands and groups
This commit is contained in:
+2
-2
@@ -1,10 +1,10 @@
|
||||
import type { Snowflake } from '../../../../../globals.ts';
|
||||
import type { APIApplicationCommandOptionBase, APIInteractionDataOptionBase } from './base.ts';
|
||||
import type { APIApplicationCommandBasicOptionBase, APIInteractionDataOptionBase } from './base.ts';
|
||||
import type { ApplicationCommandOptionType } from './shared.ts';
|
||||
|
||||
export type FileUploadType = 'audio' | 'image' | 'video' | `.${string}`;
|
||||
|
||||
export interface APIApplicationCommandAttachmentOption extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.Attachment> {
|
||||
export interface APIApplicationCommandAttachmentOption extends APIApplicationCommandBasicOptionBase<ApplicationCommandOptionType.Attachment> {
|
||||
file_types?: FileUploadType[];
|
||||
}
|
||||
|
||||
|
||||
@@ -7,6 +7,11 @@ export interface APIApplicationCommandOptionBase<Type extends ApplicationCommand
|
||||
name_localizations?: LocalizationMap | null;
|
||||
description: string;
|
||||
description_localizations?: LocalizationMap | null;
|
||||
}
|
||||
|
||||
export interface APIApplicationCommandBasicOptionBase<
|
||||
Type extends ApplicationCommandOptionType,
|
||||
> extends APIApplicationCommandOptionBase<Type> {
|
||||
required?: boolean;
|
||||
}
|
||||
|
||||
|
||||
+3
-2
@@ -1,7 +1,8 @@
|
||||
import type { APIApplicationCommandOptionBase, APIInteractionDataOptionBase } from './base.ts';
|
||||
import type { APIApplicationCommandBasicOptionBase, APIInteractionDataOptionBase } from './base.ts';
|
||||
import type { ApplicationCommandOptionType } from './shared.ts';
|
||||
|
||||
export type APIApplicationCommandBooleanOption = APIApplicationCommandOptionBase<ApplicationCommandOptionType.Boolean>;
|
||||
export type APIApplicationCommandBooleanOption =
|
||||
APIApplicationCommandBasicOptionBase<ApplicationCommandOptionType.Boolean>;
|
||||
|
||||
export type APIApplicationCommandInteractionDataBooleanOption = APIInteractionDataOptionBase<
|
||||
ApplicationCommandOptionType.Boolean,
|
||||
|
||||
+2
-2
@@ -1,9 +1,9 @@
|
||||
import type { Snowflake } from '../../../../../globals.ts';
|
||||
import type { ApplicationCommandOptionAllowedChannelType } from '../../../channel.ts';
|
||||
import type { APIApplicationCommandOptionBase, APIInteractionDataOptionBase } from './base.ts';
|
||||
import type { APIApplicationCommandBasicOptionBase, APIInteractionDataOptionBase } from './base.ts';
|
||||
import type { ApplicationCommandOptionType } from './shared.ts';
|
||||
|
||||
export interface APIApplicationCommandChannelOption extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.Channel> {
|
||||
export interface APIApplicationCommandChannelOption extends APIApplicationCommandBasicOptionBase<ApplicationCommandOptionType.Channel> {
|
||||
channel_types?: ApplicationCommandOptionAllowedChannelType[];
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -1,12 +1,12 @@
|
||||
import type { InteractionType } from '../../responses.ts';
|
||||
import type {
|
||||
APIApplicationCommandOptionBase,
|
||||
APIApplicationCommandBasicOptionBase,
|
||||
APIApplicationCommandOptionWithAutocompleteOrChoicesWrapper,
|
||||
APIInteractionDataOptionBase,
|
||||
} from './base.ts';
|
||||
import type { APIApplicationCommandOptionChoice, ApplicationCommandOptionType } from './shared.ts';
|
||||
|
||||
export interface APIApplicationCommandIntegerOptionBase extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.Integer> {
|
||||
export interface APIApplicationCommandIntegerOptionBase extends APIApplicationCommandBasicOptionBase<ApplicationCommandOptionType.Integer> {
|
||||
/**
|
||||
* If the option is an `INTEGER` or `NUMBER` type, the minimum value permitted.
|
||||
*/
|
||||
|
||||
+2
-2
@@ -1,9 +1,9 @@
|
||||
import type { Snowflake } from '../../../../../globals.ts';
|
||||
import type { APIApplicationCommandOptionBase, APIInteractionDataOptionBase } from './base.ts';
|
||||
import type { APIApplicationCommandBasicOptionBase, APIInteractionDataOptionBase } from './base.ts';
|
||||
import type { ApplicationCommandOptionType } from './shared.ts';
|
||||
|
||||
export type APIApplicationCommandMentionableOption =
|
||||
APIApplicationCommandOptionBase<ApplicationCommandOptionType.Mentionable>;
|
||||
APIApplicationCommandBasicOptionBase<ApplicationCommandOptionType.Mentionable>;
|
||||
|
||||
export type APIApplicationCommandInteractionDataMentionableOption = APIInteractionDataOptionBase<
|
||||
ApplicationCommandOptionType.Mentionable,
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import type { InteractionType } from '../../responses.ts';
|
||||
import type {
|
||||
APIApplicationCommandOptionBase,
|
||||
APIApplicationCommandBasicOptionBase,
|
||||
APIApplicationCommandOptionWithAutocompleteOrChoicesWrapper,
|
||||
APIInteractionDataOptionBase,
|
||||
} from './base.ts';
|
||||
import type { APIApplicationCommandOptionChoice, ApplicationCommandOptionType } from './shared.ts';
|
||||
|
||||
export interface APIApplicationCommandNumberOptionBase extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.Number> {
|
||||
export interface APIApplicationCommandNumberOptionBase extends APIApplicationCommandBasicOptionBase<ApplicationCommandOptionType.Number> {
|
||||
/**
|
||||
* If the option is an `INTEGER` or `NUMBER` type, the minimum value permitted.
|
||||
*/
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import type { Snowflake } from '../../../../../globals.ts';
|
||||
import type { APIApplicationCommandOptionBase, APIInteractionDataOptionBase } from './base.ts';
|
||||
import type { APIApplicationCommandBasicOptionBase, APIInteractionDataOptionBase } from './base.ts';
|
||||
import type { ApplicationCommandOptionType } from './shared.ts';
|
||||
|
||||
export type APIApplicationCommandRoleOption = APIApplicationCommandOptionBase<ApplicationCommandOptionType.Role>;
|
||||
export type APIApplicationCommandRoleOption = APIApplicationCommandBasicOptionBase<ApplicationCommandOptionType.Role>;
|
||||
|
||||
export type APIApplicationCommandInteractionDataRoleOption = APIInteractionDataOptionBase<
|
||||
ApplicationCommandOptionType.Role,
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import type {
|
||||
APIApplicationCommandOptionBase,
|
||||
APIApplicationCommandBasicOptionBase,
|
||||
APIApplicationCommandOptionWithAutocompleteOrChoicesWrapper,
|
||||
APIInteractionDataOptionBase,
|
||||
} from './base.ts';
|
||||
import type { APIApplicationCommandOptionChoice, ApplicationCommandOptionType } from './shared.ts';
|
||||
|
||||
export interface APIApplicationCommandStringOptionBase extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.String> {
|
||||
export interface APIApplicationCommandStringOptionBase extends APIApplicationCommandBasicOptionBase<ApplicationCommandOptionType.String> {
|
||||
/**
|
||||
* For option type `STRING`, the minimum allowed length (minimum of `0`, maximum of `6000`).
|
||||
*/
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import type { Snowflake } from '../../../../../globals.ts';
|
||||
import type { APIApplicationCommandOptionBase, APIInteractionDataOptionBase } from './base.ts';
|
||||
import type { APIApplicationCommandBasicOptionBase, APIInteractionDataOptionBase } from './base.ts';
|
||||
import type { ApplicationCommandOptionType } from './shared.ts';
|
||||
|
||||
export type APIApplicationCommandUserOption = APIApplicationCommandOptionBase<ApplicationCommandOptionType.User>;
|
||||
export type APIApplicationCommandUserOption = APIApplicationCommandBasicOptionBase<ApplicationCommandOptionType.User>;
|
||||
|
||||
export type APIApplicationCommandInteractionDataUserOption = APIInteractionDataOptionBase<
|
||||
ApplicationCommandOptionType.User,
|
||||
|
||||
+2
-2
@@ -1,10 +1,10 @@
|
||||
import type { Snowflake } from '../../../../../globals.ts';
|
||||
import type { APIApplicationCommandOptionBase, APIInteractionDataOptionBase } from './base.ts';
|
||||
import type { APIApplicationCommandBasicOptionBase, APIInteractionDataOptionBase } from './base.ts';
|
||||
import type { ApplicationCommandOptionType } from './shared.ts';
|
||||
|
||||
export type FileUploadType = 'audio' | 'image' | 'video' | `.${string}`;
|
||||
|
||||
export interface APIApplicationCommandAttachmentOption extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.Attachment> {
|
||||
export interface APIApplicationCommandAttachmentOption extends APIApplicationCommandBasicOptionBase<ApplicationCommandOptionType.Attachment> {
|
||||
file_types?: FileUploadType[];
|
||||
}
|
||||
|
||||
|
||||
@@ -7,6 +7,11 @@ export interface APIApplicationCommandOptionBase<Type extends ApplicationCommand
|
||||
name_localizations?: LocalizationMap | null;
|
||||
description: string;
|
||||
description_localizations?: LocalizationMap | null;
|
||||
}
|
||||
|
||||
export interface APIApplicationCommandBasicOptionBase<
|
||||
Type extends ApplicationCommandOptionType,
|
||||
> extends APIApplicationCommandOptionBase<Type> {
|
||||
required?: boolean;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
import type { APIApplicationCommandOptionBase, APIInteractionDataOptionBase } from './base.ts';
|
||||
import type { APIApplicationCommandBasicOptionBase, APIInteractionDataOptionBase } from './base.ts';
|
||||
import type { ApplicationCommandOptionType } from './shared.ts';
|
||||
|
||||
export type APIApplicationCommandBooleanOption = APIApplicationCommandOptionBase<ApplicationCommandOptionType.Boolean>;
|
||||
export type APIApplicationCommandBooleanOption =
|
||||
APIApplicationCommandBasicOptionBase<ApplicationCommandOptionType.Boolean>;
|
||||
|
||||
export type APIApplicationCommandInteractionDataBooleanOption = APIInteractionDataOptionBase<
|
||||
ApplicationCommandOptionType.Boolean,
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import type { Snowflake } from '../../../../../globals.ts';
|
||||
import type { ChannelType } from '../../../channel.ts';
|
||||
import type { APIApplicationCommandOptionBase, APIInteractionDataOptionBase } from './base.ts';
|
||||
import type { APIApplicationCommandBasicOptionBase, APIInteractionDataOptionBase } from './base.ts';
|
||||
import type { ApplicationCommandOptionType } from './shared.ts';
|
||||
|
||||
export interface APIApplicationCommandChannelOption extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.Channel> {
|
||||
export interface APIApplicationCommandChannelOption extends APIApplicationCommandBasicOptionBase<ApplicationCommandOptionType.Channel> {
|
||||
channel_types?: Exclude<ChannelType, ChannelType.GuildDirectory>[];
|
||||
}
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import type { InteractionType } from '../../responses.ts';
|
||||
import type {
|
||||
APIApplicationCommandOptionBase,
|
||||
APIApplicationCommandBasicOptionBase,
|
||||
APIApplicationCommandOptionWithAutocompleteOrChoicesWrapper,
|
||||
APIInteractionDataOptionBase,
|
||||
} from './base.ts';
|
||||
import type { APIApplicationCommandOptionChoice, ApplicationCommandOptionType } from './shared.ts';
|
||||
|
||||
export interface APIApplicationCommandIntegerOptionBase extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.Integer> {
|
||||
export interface APIApplicationCommandIntegerOptionBase extends APIApplicationCommandBasicOptionBase<ApplicationCommandOptionType.Integer> {
|
||||
/**
|
||||
* If the option is an `INTEGER` or `NUMBER` type, the minimum value permitted.
|
||||
*/
|
||||
|
||||
+2
-2
@@ -1,9 +1,9 @@
|
||||
import type { Snowflake } from '../../../../../globals.ts';
|
||||
import type { APIApplicationCommandOptionBase, APIInteractionDataOptionBase } from './base.ts';
|
||||
import type { APIApplicationCommandBasicOptionBase, APIInteractionDataOptionBase } from './base.ts';
|
||||
import type { ApplicationCommandOptionType } from './shared.ts';
|
||||
|
||||
export type APIApplicationCommandMentionableOption =
|
||||
APIApplicationCommandOptionBase<ApplicationCommandOptionType.Mentionable>;
|
||||
APIApplicationCommandBasicOptionBase<ApplicationCommandOptionType.Mentionable>;
|
||||
|
||||
export type APIApplicationCommandInteractionDataMentionableOption = APIInteractionDataOptionBase<
|
||||
ApplicationCommandOptionType.Mentionable,
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import type { InteractionType } from '../../responses.ts';
|
||||
import type {
|
||||
APIApplicationCommandOptionBase,
|
||||
APIApplicationCommandBasicOptionBase,
|
||||
APIApplicationCommandOptionWithAutocompleteOrChoicesWrapper,
|
||||
APIInteractionDataOptionBase,
|
||||
} from './base.ts';
|
||||
import type { APIApplicationCommandOptionChoice, ApplicationCommandOptionType } from './shared.ts';
|
||||
|
||||
export interface APIApplicationCommandNumberOptionBase extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.Number> {
|
||||
export interface APIApplicationCommandNumberOptionBase extends APIApplicationCommandBasicOptionBase<ApplicationCommandOptionType.Number> {
|
||||
/**
|
||||
* If the option is an `INTEGER` or `NUMBER` type, the minimum value permitted.
|
||||
*/
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import type { Snowflake } from '../../../../../globals.ts';
|
||||
import type { APIApplicationCommandOptionBase, APIInteractionDataOptionBase } from './base.ts';
|
||||
import type { APIApplicationCommandBasicOptionBase, APIInteractionDataOptionBase } from './base.ts';
|
||||
import type { ApplicationCommandOptionType } from './shared.ts';
|
||||
|
||||
export type APIApplicationCommandRoleOption = APIApplicationCommandOptionBase<ApplicationCommandOptionType.Role>;
|
||||
export type APIApplicationCommandRoleOption = APIApplicationCommandBasicOptionBase<ApplicationCommandOptionType.Role>;
|
||||
|
||||
export type APIApplicationCommandInteractionDataRoleOption = APIInteractionDataOptionBase<
|
||||
ApplicationCommandOptionType.Role,
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import type {
|
||||
APIApplicationCommandOptionBase,
|
||||
APIApplicationCommandBasicOptionBase,
|
||||
APIApplicationCommandOptionWithAutocompleteOrChoicesWrapper,
|
||||
APIInteractionDataOptionBase,
|
||||
} from './base.ts';
|
||||
import type { APIApplicationCommandOptionChoice, ApplicationCommandOptionType } from './shared.ts';
|
||||
|
||||
export interface APIApplicationCommandStringOptionBase extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.String> {
|
||||
export interface APIApplicationCommandStringOptionBase extends APIApplicationCommandBasicOptionBase<ApplicationCommandOptionType.String> {
|
||||
/**
|
||||
* For option type `STRING`, the minimum allowed length (minimum of `0`, maximum of `6000`).
|
||||
*/
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import type { Snowflake } from '../../../../../globals.ts';
|
||||
import type { APIApplicationCommandOptionBase, APIInteractionDataOptionBase } from './base.ts';
|
||||
import type { APIApplicationCommandBasicOptionBase, APIInteractionDataOptionBase } from './base.ts';
|
||||
import type { ApplicationCommandOptionType } from './shared.ts';
|
||||
|
||||
export type APIApplicationCommandUserOption = APIApplicationCommandOptionBase<ApplicationCommandOptionType.User>;
|
||||
export type APIApplicationCommandUserOption = APIApplicationCommandBasicOptionBase<ApplicationCommandOptionType.User>;
|
||||
|
||||
export type APIApplicationCommandInteractionDataUserOption = APIInteractionDataOptionBase<
|
||||
ApplicationCommandOptionType.User,
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import type { Snowflake } from '../../../../../globals';
|
||||
import type { APIApplicationCommandOptionBase, APIInteractionDataOptionBase } from './base';
|
||||
import type { APIApplicationCommandBasicOptionBase, APIInteractionDataOptionBase } from './base';
|
||||
import type { ApplicationCommandOptionType } from './shared';
|
||||
|
||||
export type FileUploadType = 'audio' | 'image' | 'video' | `.${string}`;
|
||||
|
||||
export interface APIApplicationCommandAttachmentOption extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.Attachment> {
|
||||
export interface APIApplicationCommandAttachmentOption extends APIApplicationCommandBasicOptionBase<ApplicationCommandOptionType.Attachment> {
|
||||
file_types?: FileUploadType[];
|
||||
}
|
||||
|
||||
|
||||
@@ -7,6 +7,11 @@ export interface APIApplicationCommandOptionBase<Type extends ApplicationCommand
|
||||
name_localizations?: LocalizationMap | null;
|
||||
description: string;
|
||||
description_localizations?: LocalizationMap | null;
|
||||
}
|
||||
|
||||
export interface APIApplicationCommandBasicOptionBase<
|
||||
Type extends ApplicationCommandOptionType,
|
||||
> extends APIApplicationCommandOptionBase<Type> {
|
||||
required?: boolean;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
import type { APIApplicationCommandOptionBase, APIInteractionDataOptionBase } from './base';
|
||||
import type { APIApplicationCommandBasicOptionBase, APIInteractionDataOptionBase } from './base';
|
||||
import type { ApplicationCommandOptionType } from './shared';
|
||||
|
||||
export type APIApplicationCommandBooleanOption = APIApplicationCommandOptionBase<ApplicationCommandOptionType.Boolean>;
|
||||
export type APIApplicationCommandBooleanOption =
|
||||
APIApplicationCommandBasicOptionBase<ApplicationCommandOptionType.Boolean>;
|
||||
|
||||
export type APIApplicationCommandInteractionDataBooleanOption = APIInteractionDataOptionBase<
|
||||
ApplicationCommandOptionType.Boolean,
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import type { Snowflake } from '../../../../../globals';
|
||||
import type { ApplicationCommandOptionAllowedChannelType } from '../../../channel';
|
||||
import type { APIApplicationCommandOptionBase, APIInteractionDataOptionBase } from './base';
|
||||
import type { APIApplicationCommandBasicOptionBase, APIInteractionDataOptionBase } from './base';
|
||||
import type { ApplicationCommandOptionType } from './shared';
|
||||
|
||||
export interface APIApplicationCommandChannelOption extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.Channel> {
|
||||
export interface APIApplicationCommandChannelOption extends APIApplicationCommandBasicOptionBase<ApplicationCommandOptionType.Channel> {
|
||||
channel_types?: ApplicationCommandOptionAllowedChannelType[];
|
||||
}
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import type { InteractionType } from '../../responses';
|
||||
import type {
|
||||
APIApplicationCommandOptionBase,
|
||||
APIApplicationCommandBasicOptionBase,
|
||||
APIApplicationCommandOptionWithAutocompleteOrChoicesWrapper,
|
||||
APIInteractionDataOptionBase,
|
||||
} from './base';
|
||||
import type { APIApplicationCommandOptionChoice, ApplicationCommandOptionType } from './shared';
|
||||
|
||||
export interface APIApplicationCommandIntegerOptionBase extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.Integer> {
|
||||
export interface APIApplicationCommandIntegerOptionBase extends APIApplicationCommandBasicOptionBase<ApplicationCommandOptionType.Integer> {
|
||||
/**
|
||||
* If the option is an `INTEGER` or `NUMBER` type, the minimum value permitted.
|
||||
*/
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import type { Snowflake } from '../../../../../globals';
|
||||
import type { APIApplicationCommandOptionBase, APIInteractionDataOptionBase } from './base';
|
||||
import type { APIApplicationCommandBasicOptionBase, APIInteractionDataOptionBase } from './base';
|
||||
import type { ApplicationCommandOptionType } from './shared';
|
||||
|
||||
export type APIApplicationCommandMentionableOption =
|
||||
APIApplicationCommandOptionBase<ApplicationCommandOptionType.Mentionable>;
|
||||
APIApplicationCommandBasicOptionBase<ApplicationCommandOptionType.Mentionable>;
|
||||
|
||||
export type APIApplicationCommandInteractionDataMentionableOption = APIInteractionDataOptionBase<
|
||||
ApplicationCommandOptionType.Mentionable,
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import type { InteractionType } from '../../responses';
|
||||
import type {
|
||||
APIApplicationCommandOptionBase,
|
||||
APIApplicationCommandBasicOptionBase,
|
||||
APIApplicationCommandOptionWithAutocompleteOrChoicesWrapper,
|
||||
APIInteractionDataOptionBase,
|
||||
} from './base';
|
||||
import type { APIApplicationCommandOptionChoice, ApplicationCommandOptionType } from './shared';
|
||||
|
||||
export interface APIApplicationCommandNumberOptionBase extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.Number> {
|
||||
export interface APIApplicationCommandNumberOptionBase extends APIApplicationCommandBasicOptionBase<ApplicationCommandOptionType.Number> {
|
||||
/**
|
||||
* If the option is an `INTEGER` or `NUMBER` type, the minimum value permitted.
|
||||
*/
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import type { Snowflake } from '../../../../../globals';
|
||||
import type { APIApplicationCommandOptionBase, APIInteractionDataOptionBase } from './base';
|
||||
import type { APIApplicationCommandBasicOptionBase, APIInteractionDataOptionBase } from './base';
|
||||
import type { ApplicationCommandOptionType } from './shared';
|
||||
|
||||
export type APIApplicationCommandRoleOption = APIApplicationCommandOptionBase<ApplicationCommandOptionType.Role>;
|
||||
export type APIApplicationCommandRoleOption = APIApplicationCommandBasicOptionBase<ApplicationCommandOptionType.Role>;
|
||||
|
||||
export type APIApplicationCommandInteractionDataRoleOption = APIInteractionDataOptionBase<
|
||||
ApplicationCommandOptionType.Role,
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import type {
|
||||
APIApplicationCommandOptionBase,
|
||||
APIApplicationCommandBasicOptionBase,
|
||||
APIApplicationCommandOptionWithAutocompleteOrChoicesWrapper,
|
||||
APIInteractionDataOptionBase,
|
||||
} from './base';
|
||||
import type { APIApplicationCommandOptionChoice, ApplicationCommandOptionType } from './shared';
|
||||
|
||||
export interface APIApplicationCommandStringOptionBase extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.String> {
|
||||
export interface APIApplicationCommandStringOptionBase extends APIApplicationCommandBasicOptionBase<ApplicationCommandOptionType.String> {
|
||||
/**
|
||||
* For option type `STRING`, the minimum allowed length (minimum of `0`, maximum of `6000`).
|
||||
*/
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import type { Snowflake } from '../../../../../globals';
|
||||
import type { APIApplicationCommandOptionBase, APIInteractionDataOptionBase } from './base';
|
||||
import type { APIApplicationCommandBasicOptionBase, APIInteractionDataOptionBase } from './base';
|
||||
import type { ApplicationCommandOptionType } from './shared';
|
||||
|
||||
export type APIApplicationCommandUserOption = APIApplicationCommandOptionBase<ApplicationCommandOptionType.User>;
|
||||
export type APIApplicationCommandUserOption = APIApplicationCommandBasicOptionBase<ApplicationCommandOptionType.User>;
|
||||
|
||||
export type APIApplicationCommandInteractionDataUserOption = APIInteractionDataOptionBase<
|
||||
ApplicationCommandOptionType.User,
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import type { Snowflake } from '../../../../../globals';
|
||||
import type { APIApplicationCommandOptionBase, APIInteractionDataOptionBase } from './base';
|
||||
import type { APIApplicationCommandBasicOptionBase, APIInteractionDataOptionBase } from './base';
|
||||
import type { ApplicationCommandOptionType } from './shared';
|
||||
|
||||
export type FileUploadType = 'audio' | 'image' | 'video' | `.${string}`;
|
||||
|
||||
export interface APIApplicationCommandAttachmentOption extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.Attachment> {
|
||||
export interface APIApplicationCommandAttachmentOption extends APIApplicationCommandBasicOptionBase<ApplicationCommandOptionType.Attachment> {
|
||||
file_types?: FileUploadType[];
|
||||
}
|
||||
|
||||
|
||||
@@ -7,6 +7,11 @@ export interface APIApplicationCommandOptionBase<Type extends ApplicationCommand
|
||||
name_localizations?: LocalizationMap | null;
|
||||
description: string;
|
||||
description_localizations?: LocalizationMap | null;
|
||||
}
|
||||
|
||||
export interface APIApplicationCommandBasicOptionBase<
|
||||
Type extends ApplicationCommandOptionType,
|
||||
> extends APIApplicationCommandOptionBase<Type> {
|
||||
required?: boolean;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
import type { APIApplicationCommandOptionBase, APIInteractionDataOptionBase } from './base';
|
||||
import type { APIApplicationCommandBasicOptionBase, APIInteractionDataOptionBase } from './base';
|
||||
import type { ApplicationCommandOptionType } from './shared';
|
||||
|
||||
export type APIApplicationCommandBooleanOption = APIApplicationCommandOptionBase<ApplicationCommandOptionType.Boolean>;
|
||||
export type APIApplicationCommandBooleanOption =
|
||||
APIApplicationCommandBasicOptionBase<ApplicationCommandOptionType.Boolean>;
|
||||
|
||||
export type APIApplicationCommandInteractionDataBooleanOption = APIInteractionDataOptionBase<
|
||||
ApplicationCommandOptionType.Boolean,
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import type { Snowflake } from '../../../../../globals';
|
||||
import type { ChannelType } from '../../../channel';
|
||||
import type { APIApplicationCommandOptionBase, APIInteractionDataOptionBase } from './base';
|
||||
import type { APIApplicationCommandBasicOptionBase, APIInteractionDataOptionBase } from './base';
|
||||
import type { ApplicationCommandOptionType } from './shared';
|
||||
|
||||
export interface APIApplicationCommandChannelOption extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.Channel> {
|
||||
export interface APIApplicationCommandChannelOption extends APIApplicationCommandBasicOptionBase<ApplicationCommandOptionType.Channel> {
|
||||
channel_types?: Exclude<ChannelType, ChannelType.GuildDirectory>[];
|
||||
}
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import type { InteractionType } from '../../responses';
|
||||
import type {
|
||||
APIApplicationCommandOptionBase,
|
||||
APIApplicationCommandBasicOptionBase,
|
||||
APIApplicationCommandOptionWithAutocompleteOrChoicesWrapper,
|
||||
APIInteractionDataOptionBase,
|
||||
} from './base';
|
||||
import type { APIApplicationCommandOptionChoice, ApplicationCommandOptionType } from './shared';
|
||||
|
||||
export interface APIApplicationCommandIntegerOptionBase extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.Integer> {
|
||||
export interface APIApplicationCommandIntegerOptionBase extends APIApplicationCommandBasicOptionBase<ApplicationCommandOptionType.Integer> {
|
||||
/**
|
||||
* If the option is an `INTEGER` or `NUMBER` type, the minimum value permitted.
|
||||
*/
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import type { Snowflake } from '../../../../../globals';
|
||||
import type { APIApplicationCommandOptionBase, APIInteractionDataOptionBase } from './base';
|
||||
import type { APIApplicationCommandBasicOptionBase, APIInteractionDataOptionBase } from './base';
|
||||
import type { ApplicationCommandOptionType } from './shared';
|
||||
|
||||
export type APIApplicationCommandMentionableOption =
|
||||
APIApplicationCommandOptionBase<ApplicationCommandOptionType.Mentionable>;
|
||||
APIApplicationCommandBasicOptionBase<ApplicationCommandOptionType.Mentionable>;
|
||||
|
||||
export type APIApplicationCommandInteractionDataMentionableOption = APIInteractionDataOptionBase<
|
||||
ApplicationCommandOptionType.Mentionable,
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import type { InteractionType } from '../../responses';
|
||||
import type {
|
||||
APIApplicationCommandOptionBase,
|
||||
APIApplicationCommandBasicOptionBase,
|
||||
APIApplicationCommandOptionWithAutocompleteOrChoicesWrapper,
|
||||
APIInteractionDataOptionBase,
|
||||
} from './base';
|
||||
import type { APIApplicationCommandOptionChoice, ApplicationCommandOptionType } from './shared';
|
||||
|
||||
export interface APIApplicationCommandNumberOptionBase extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.Number> {
|
||||
export interface APIApplicationCommandNumberOptionBase extends APIApplicationCommandBasicOptionBase<ApplicationCommandOptionType.Number> {
|
||||
/**
|
||||
* If the option is an `INTEGER` or `NUMBER` type, the minimum value permitted.
|
||||
*/
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import type { Snowflake } from '../../../../../globals';
|
||||
import type { APIApplicationCommandOptionBase, APIInteractionDataOptionBase } from './base';
|
||||
import type { APIApplicationCommandBasicOptionBase, APIInteractionDataOptionBase } from './base';
|
||||
import type { ApplicationCommandOptionType } from './shared';
|
||||
|
||||
export type APIApplicationCommandRoleOption = APIApplicationCommandOptionBase<ApplicationCommandOptionType.Role>;
|
||||
export type APIApplicationCommandRoleOption = APIApplicationCommandBasicOptionBase<ApplicationCommandOptionType.Role>;
|
||||
|
||||
export type APIApplicationCommandInteractionDataRoleOption = APIInteractionDataOptionBase<
|
||||
ApplicationCommandOptionType.Role,
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import type {
|
||||
APIApplicationCommandOptionBase,
|
||||
APIApplicationCommandBasicOptionBase,
|
||||
APIApplicationCommandOptionWithAutocompleteOrChoicesWrapper,
|
||||
APIInteractionDataOptionBase,
|
||||
} from './base';
|
||||
import type { APIApplicationCommandOptionChoice, ApplicationCommandOptionType } from './shared';
|
||||
|
||||
export interface APIApplicationCommandStringOptionBase extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.String> {
|
||||
export interface APIApplicationCommandStringOptionBase extends APIApplicationCommandBasicOptionBase<ApplicationCommandOptionType.String> {
|
||||
/**
|
||||
* For option type `STRING`, the minimum allowed length (minimum of `0`, maximum of `6000`).
|
||||
*/
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import type { Snowflake } from '../../../../../globals';
|
||||
import type { APIApplicationCommandOptionBase, APIInteractionDataOptionBase } from './base';
|
||||
import type { APIApplicationCommandBasicOptionBase, APIInteractionDataOptionBase } from './base';
|
||||
import type { ApplicationCommandOptionType } from './shared';
|
||||
|
||||
export type APIApplicationCommandUserOption = APIApplicationCommandOptionBase<ApplicationCommandOptionType.User>;
|
||||
export type APIApplicationCommandUserOption = APIApplicationCommandBasicOptionBase<ApplicationCommandOptionType.User>;
|
||||
|
||||
export type APIApplicationCommandInteractionDataUserOption = APIInteractionDataOptionBase<
|
||||
ApplicationCommandOptionType.User,
|
||||
|
||||
@@ -1,10 +1,20 @@
|
||||
import type {
|
||||
APIApplicationCommandAttachmentOption,
|
||||
APIApplicationCommandBasicOption,
|
||||
APIApplicationCommandBooleanOption,
|
||||
APIApplicationCommandChannelOption,
|
||||
APIApplicationCommandIntegerOption,
|
||||
APIApplicationCommandMentionableOption,
|
||||
APIApplicationCommandNumberOption,
|
||||
APIApplicationCommandOption,
|
||||
APIApplicationCommandRoleOption,
|
||||
APIApplicationCommandStringOption,
|
||||
APIApplicationCommandSubcommandGroupOption,
|
||||
APIApplicationCommandSubcommandOption,
|
||||
APIApplicationCommandUserOption,
|
||||
} from '../../v10';
|
||||
import { ApplicationCommandOptionType } from '../../v10';
|
||||
import { expectAssignable } from '../__utils__/type-assertions';
|
||||
|
||||
const baseValues = {
|
||||
name: 'test',
|
||||
@@ -77,3 +87,119 @@ const baseValues = {
|
||||
autocomplete: true,
|
||||
};
|
||||
}
|
||||
|
||||
{
|
||||
const option: APIApplicationCommandAttachmentOption = {
|
||||
...baseValues,
|
||||
type: ApplicationCommandOptionType.Attachment,
|
||||
required: true,
|
||||
};
|
||||
}
|
||||
|
||||
{
|
||||
const option: APIApplicationCommandBooleanOption = {
|
||||
...baseValues,
|
||||
type: ApplicationCommandOptionType.Boolean,
|
||||
required: true,
|
||||
};
|
||||
}
|
||||
|
||||
{
|
||||
const option: APIApplicationCommandChannelOption = {
|
||||
...baseValues,
|
||||
type: ApplicationCommandOptionType.Channel,
|
||||
required: true,
|
||||
};
|
||||
}
|
||||
|
||||
{
|
||||
const option: APIApplicationCommandIntegerOption = {
|
||||
...baseValues,
|
||||
type: ApplicationCommandOptionType.Integer,
|
||||
required: true,
|
||||
};
|
||||
}
|
||||
|
||||
{
|
||||
const option: APIApplicationCommandMentionableOption = {
|
||||
...baseValues,
|
||||
type: ApplicationCommandOptionType.Mentionable,
|
||||
required: true,
|
||||
};
|
||||
}
|
||||
|
||||
{
|
||||
const option: APIApplicationCommandNumberOption = {
|
||||
...baseValues,
|
||||
type: ApplicationCommandOptionType.Number,
|
||||
required: true,
|
||||
};
|
||||
}
|
||||
|
||||
{
|
||||
const option: APIApplicationCommandRoleOption = {
|
||||
...baseValues,
|
||||
type: ApplicationCommandOptionType.Role,
|
||||
required: true,
|
||||
};
|
||||
}
|
||||
|
||||
{
|
||||
const option: APIApplicationCommandStringOption = {
|
||||
...baseValues,
|
||||
type: ApplicationCommandOptionType.String,
|
||||
required: true,
|
||||
};
|
||||
}
|
||||
|
||||
{
|
||||
const option: APIApplicationCommandUserOption = {
|
||||
...baseValues,
|
||||
type: ApplicationCommandOptionType.User,
|
||||
required: true,
|
||||
};
|
||||
}
|
||||
|
||||
{
|
||||
const option: APIApplicationCommandSubcommandOption = {
|
||||
...baseValues,
|
||||
type: ApplicationCommandOptionType.Subcommand,
|
||||
options: [],
|
||||
// @ts-expect-error - Required is not allowed on subcommands.
|
||||
required: true,
|
||||
};
|
||||
}
|
||||
|
||||
{
|
||||
const option: APIApplicationCommandSubcommandGroupOption = {
|
||||
...baseValues,
|
||||
type: ApplicationCommandOptionType.SubcommandGroup,
|
||||
options: [],
|
||||
// @ts-expect-error - Required is not allowed on subcommand groups.
|
||||
required: false,
|
||||
};
|
||||
}
|
||||
|
||||
{
|
||||
const option: APIApplicationCommandOption = {
|
||||
...baseValues,
|
||||
type: ApplicationCommandOptionType.Subcommand,
|
||||
// @ts-expect-error - Required is not allowed on subcommands.
|
||||
required: true,
|
||||
};
|
||||
}
|
||||
|
||||
{
|
||||
const option: APIApplicationCommandOption = {
|
||||
...baseValues,
|
||||
type: ApplicationCommandOptionType.SubcommandGroup,
|
||||
// @ts-expect-error - Required is not allowed on subcommand groups.
|
||||
required: true,
|
||||
};
|
||||
}
|
||||
|
||||
expectAssignable<keyof APIApplicationCommandBasicOption>('required');
|
||||
// @ts-expect-error - Required is not valid for subcommands.
|
||||
expectAssignable<keyof APIApplicationCommandSubcommandOption>('required');
|
||||
// @ts-expect-error - Required is not valid for subcommand groups.
|
||||
expectAssignable<keyof APIApplicationCommandSubcommandGroupOption>('required');
|
||||
|
||||
Reference in New Issue
Block a user