feat(ApplicationCommand): add support for channel_types (#6640)

Co-authored-by: Tiemen <ThaTiemsz@users.noreply.github.com>
Co-authored-by: Sugden <28943913+NotSugden@users.noreply.github.com>
This commit is contained in:
ckohen
2021-09-27 04:49:39 -07:00
committed by GitHub
parent 8426770865
commit 3b14883e34
2 changed files with 66 additions and 7 deletions

45
typings/index.d.ts vendored
View File

@@ -3032,6 +3032,8 @@ export interface BaseApplicationCommandData {
export type CommandOptionDataTypeResolvable = ApplicationCommandOptionType | ApplicationCommandOptionTypes;
export type CommandOptionChannelResolvableType = ApplicationCommandOptionTypes.CHANNEL | 'CHANNEL';
export type CommandOptionChoiceResolvableType =
| ApplicationCommandOptionTypes.NUMBER
| 'NUMBER'
@@ -3048,7 +3050,7 @@ export type CommandOptionSubOptionResolvableType =
export type CommandOptionNonChoiceResolvableType = Exclude<
CommandOptionDataTypeResolvable,
CommandOptionChoiceResolvableType | CommandOptionSubOptionResolvableType
CommandOptionChoiceResolvableType | CommandOptionSubOptionResolvableType | CommandOptionChannelResolvableType
>;
export interface BaseApplicationCommandOptionsData {
@@ -3076,35 +3078,68 @@ export type ApplicationCommandData =
| MessageApplicationCommandData
| ChatInputApplicationCommandData;
export interface ApplicationCommandChannelOptionData extends BaseApplicationCommandOptionsData {
type: CommandOptionChannelResolvableType;
channelTypes?: (keyof typeof ChannelTypes | ChannelTypes)[];
channel_types?: ChannelTypes[];
}
export interface ApplicationCommandChannelOption extends BaseApplicationCommandOptionsData {
type: 'CHANNEL';
channelTypes?: (keyof typeof ChannelTypes)[];
}
export interface ApplicationCommandChoicesData extends BaseApplicationCommandOptionsData {
type: CommandOptionChoiceResolvableType;
choices?: ApplicationCommandOptionChoice[];
}
export interface ApplicationCommandChoicesOption extends BaseApplicationCommandOptionsData {
type: Exclude<CommandOptionChoiceResolvableType, ApplicationCommandOptionTypes>;
choices?: ApplicationCommandOptionChoice[];
}
export interface ApplicationCommandSubGroupData extends BaseApplicationCommandOptionsData {
type: 'SUB_COMMAND_GROUP' | ApplicationCommandOptionTypes.SUB_COMMAND_GROUP;
options?: ApplicationCommandSubCommandData[];
}
export interface ApplicationCommandSubGroup extends BaseApplicationCommandOptionsData {
type: 'SUB_COMMAND_GROUP';
options?: ApplicationCommandSubCommand[];
}
export interface ApplicationCommandSubCommandData extends BaseApplicationCommandOptionsData {
type: 'SUB_COMMAND' | ApplicationCommandOptionTypes.SUB_COMMAND;
options?: (ApplicationCommandChoicesData | ApplicationCommandNonOptionsData)[];
}
export interface ApplicationCommandSubCommand extends BaseApplicationCommandOptionsData {
type: 'SUB_COMMAND';
options?: (ApplicationCommandChoicesOption | ApplicationCommandNonOptions)[];
}
export interface ApplicationCommandNonOptionsData extends BaseApplicationCommandOptionsData {
type: CommandOptionNonChoiceResolvableType;
}
export interface ApplicationCommandNonOptions extends BaseApplicationCommandOptionsData {
type: Exclude<CommandOptionNonChoiceResolvableType, ApplicationCommandOptionTypes>;
}
export type ApplicationCommandOptionData =
| ApplicationCommandSubGroupData
| ApplicationCommandNonOptionsData
| ApplicationCommandChannelOptionData
| ApplicationCommandChoicesData
| ApplicationCommandSubCommandData;
export type ApplicationCommandOption = ApplicationCommandOptionData & {
type: ApplicationCommandOptionType;
options?: ApplicationCommandOption[];
};
export type ApplicationCommandOption =
| ApplicationCommandSubGroup
| ApplicationCommandNonOptions
| ApplicationCommandChannelOption
| ApplicationCommandChoicesOption
| ApplicationCommandSubCommand;
export interface ApplicationCommandOptionChoice {
name: string;