mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
feat(ApplicationCommand): add min_length and max_length for string option (v13) (#8217)
This commit is contained in:
@@ -226,6 +226,10 @@ class ApplicationCommand extends Base {
|
||||
* the allowed types of channels that can be selected
|
||||
* @property {number} [minValue] The minimum value for an `INTEGER` or `NUMBER` option
|
||||
* @property {number} [maxValue] The maximum value for an `INTEGER` or `NUMBER` option
|
||||
* @property {number} [minLength] The minimum length for a `STRING` option
|
||||
* (maximum of `6000`)
|
||||
* @property {number} [maxLength] The maximum length for a `STRING` option
|
||||
* (maximum of `6000`)
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -454,7 +458,9 @@ class ApplicationCommand extends Base {
|
||||
option.options?.length !== existing.options?.length ||
|
||||
(option.channelTypes ?? option.channel_types)?.length !== existing.channelTypes?.length ||
|
||||
(option.minValue ?? option.min_value) !== existing.minValue ||
|
||||
(option.maxValue ?? option.max_value) !== existing.maxValue
|
||||
(option.maxValue ?? option.max_value) !== existing.maxValue ||
|
||||
(option.minLength ?? option.min_length) !== existing.minLength ||
|
||||
(option.maxLength ?? option.max_length) !== existing.maxLength
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
@@ -510,6 +516,10 @@ class ApplicationCommand extends Base {
|
||||
* the allowed types of channels that can be selected
|
||||
* @property {number} [minValue] The minimum value for an `INTEGER` or `NUMBER` option
|
||||
* @property {number} [maxValue] The maximum value for an `INTEGER` or `NUMBER` option
|
||||
* @property {number} [minLength] The minimum length for a `STRING` option
|
||||
* (maximum of `6000`)
|
||||
* @property {number} [maxLength] The maximum length for a `STRING` option
|
||||
* (maximum of `6000`)
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -533,6 +543,8 @@ class ApplicationCommand extends Base {
|
||||
const channelTypesKey = received ? 'channelTypes' : 'channel_types';
|
||||
const minValueKey = received ? 'minValue' : 'min_value';
|
||||
const maxValueKey = received ? 'maxValue' : 'max_value';
|
||||
const minLengthKey = received ? 'minLength' : 'min_length';
|
||||
const maxLengthKey = received ? 'maxLength' : 'max_length';
|
||||
const nameLocalizationsKey = received ? 'nameLocalizations' : 'name_localizations';
|
||||
const nameLocalizedKey = received ? 'nameLocalized' : 'name_localized';
|
||||
const descriptionLocalizationsKey = received ? 'descriptionLocalizations' : 'description_localizations';
|
||||
@@ -562,6 +574,8 @@ class ApplicationCommand extends Base {
|
||||
option.channel_types,
|
||||
[minValueKey]: option.minValue ?? option.min_value,
|
||||
[maxValueKey]: option.maxValue ?? option.max_value,
|
||||
[minLengthKey]: option.minLength ?? option.min_length,
|
||||
[maxLengthKey]: option.maxLength ?? option.max_length,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
21
typings/index.d.ts
vendored
21
typings/index.d.ts
vendored
@@ -3877,7 +3877,7 @@ export interface ApplicationCommandChoicesData extends Omit<BaseApplicationComma
|
||||
}
|
||||
|
||||
export interface ApplicationCommandChoicesOption extends Omit<BaseApplicationCommandOptionsData, 'autocomplete'> {
|
||||
type: Exclude<CommandOptionChoiceResolvableType, ApplicationCommandOptionTypes>;
|
||||
type: CommandOptionChoiceResolvableType;
|
||||
choices?: ApplicationCommandOptionChoiceData[];
|
||||
autocomplete?: false;
|
||||
}
|
||||
@@ -3890,12 +3890,26 @@ export interface ApplicationCommandNumericOptionData extends ApplicationCommandC
|
||||
max_value?: number;
|
||||
}
|
||||
|
||||
export interface ApplicationCommandStringOptionData extends ApplicationCommandChoicesData {
|
||||
type: ApplicationCommandOptionTypes.STRING;
|
||||
minLength?: number;
|
||||
min_length?: number;
|
||||
maxLength?: number;
|
||||
max_length?: number;
|
||||
}
|
||||
|
||||
export interface ApplicationCommandNumericOption extends ApplicationCommandChoicesOption {
|
||||
type: Exclude<CommandOptionNumericResolvableType, ApplicationCommandOptionTypes>;
|
||||
type: CommandOptionNumericResolvableType;
|
||||
minValue?: number;
|
||||
maxValue?: number;
|
||||
}
|
||||
|
||||
export interface ApplicationCommandStringOption extends ApplicationCommandChoicesOption {
|
||||
type: ApplicationCommandOptionTypes.STRING;
|
||||
minLength?: number;
|
||||
maxLength?: number;
|
||||
}
|
||||
|
||||
export interface ApplicationCommandSubGroupData extends Omit<BaseApplicationCommandOptionsData, 'required'> {
|
||||
type: 'SUB_COMMAND_GROUP' | ApplicationCommandOptionTypes.SUB_COMMAND_GROUP;
|
||||
options?: ApplicationCommandSubCommandData[];
|
||||
@@ -3914,6 +3928,7 @@ export interface ApplicationCommandSubCommandData extends Omit<BaseApplicationCo
|
||||
| ApplicationCommandChannelOptionData
|
||||
| ApplicationCommandAutocompleteOption
|
||||
| ApplicationCommandNumericOptionData
|
||||
| ApplicationCommandStringOptionData
|
||||
)[];
|
||||
}
|
||||
|
||||
@@ -3937,6 +3952,7 @@ export type ApplicationCommandOptionData =
|
||||
| ApplicationCommandChoicesData
|
||||
| ApplicationCommandAutocompleteOption
|
||||
| ApplicationCommandNumericOptionData
|
||||
| ApplicationCommandStringOptionData
|
||||
| ApplicationCommandSubCommandData;
|
||||
|
||||
export type ApplicationCommandOption =
|
||||
@@ -3945,6 +3961,7 @@ export type ApplicationCommandOption =
|
||||
| ApplicationCommandChannelOption
|
||||
| ApplicationCommandChoicesOption
|
||||
| ApplicationCommandNumericOption
|
||||
| ApplicationCommandStringOption
|
||||
| ApplicationCommandSubCommand;
|
||||
|
||||
export interface ApplicationCommandOptionChoiceData {
|
||||
|
||||
Reference in New Issue
Block a user