types(ApplicationCommandData): Stronger typings for ApplicationCommandData variants. (#6382)

This commit is contained in:
Suneet Tipirneni
2021-08-11 03:14:54 -04:00
committed by GitHub
parent de3c86f804
commit 75b48d8d0f

24
typings/index.d.ts vendored
View File

@@ -2881,14 +2881,30 @@ export interface ApplicationAsset {
type: 'BIG' | 'SMALL';
}
export interface ApplicationCommandData {
export interface BaseApplicationCommandData {
name: string;
description?: string;
type?: ApplicationCommandType | ApplicationCommandTypes;
options?: ApplicationCommandOptionData[];
defaultPermission?: boolean;
}
export interface UserApplicationCommandData extends BaseApplicationCommandData {
type: 'USER' | ApplicationCommandTypes.USER;
}
export interface MessageApplicationCommandData extends BaseApplicationCommandData {
type: 'MESSAGE' | ApplicationCommandTypes.MESSAGE;
}
export interface ChatInputApplicationCommandData extends BaseApplicationCommandData {
description: string;
type: 'CHAT_INPUT' | ApplicationCommandTypes.CHAT_INPUT;
options?: ApplicationCommandOptionData[];
}
export type ApplicationCommandData =
| UserApplicationCommandData
| MessageApplicationCommandData
| ChatInputApplicationCommandData;
export interface ApplicationCommandOptionData {
type: ApplicationCommandOptionType | ApplicationCommandOptionTypes;
name: string;