mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-15 11:03:30 +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
|
* the allowed types of channels that can be selected
|
||||||
* @property {number} [minValue] The minimum value for an `INTEGER` or `NUMBER` option
|
* @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} [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.options?.length !== existing.options?.length ||
|
||||||
(option.channelTypes ?? option.channel_types)?.length !== existing.channelTypes?.length ||
|
(option.channelTypes ?? option.channel_types)?.length !== existing.channelTypes?.length ||
|
||||||
(option.minValue ?? option.min_value) !== existing.minValue ||
|
(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;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -510,6 +516,10 @@ class ApplicationCommand extends Base {
|
|||||||
* the allowed types of channels that can be selected
|
* the allowed types of channels that can be selected
|
||||||
* @property {number} [minValue] The minimum value for an `INTEGER` or `NUMBER` option
|
* @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} [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 channelTypesKey = received ? 'channelTypes' : 'channel_types';
|
||||||
const minValueKey = received ? 'minValue' : 'min_value';
|
const minValueKey = received ? 'minValue' : 'min_value';
|
||||||
const maxValueKey = received ? 'maxValue' : 'max_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 nameLocalizationsKey = received ? 'nameLocalizations' : 'name_localizations';
|
||||||
const nameLocalizedKey = received ? 'nameLocalized' : 'name_localized';
|
const nameLocalizedKey = received ? 'nameLocalized' : 'name_localized';
|
||||||
const descriptionLocalizationsKey = received ? 'descriptionLocalizations' : 'description_localizations';
|
const descriptionLocalizationsKey = received ? 'descriptionLocalizations' : 'description_localizations';
|
||||||
@@ -562,6 +574,8 @@ class ApplicationCommand extends Base {
|
|||||||
option.channel_types,
|
option.channel_types,
|
||||||
[minValueKey]: option.minValue ?? option.min_value,
|
[minValueKey]: option.minValue ?? option.min_value,
|
||||||
[maxValueKey]: option.maxValue ?? option.max_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'> {
|
export interface ApplicationCommandChoicesOption extends Omit<BaseApplicationCommandOptionsData, 'autocomplete'> {
|
||||||
type: Exclude<CommandOptionChoiceResolvableType, ApplicationCommandOptionTypes>;
|
type: CommandOptionChoiceResolvableType;
|
||||||
choices?: ApplicationCommandOptionChoiceData[];
|
choices?: ApplicationCommandOptionChoiceData[];
|
||||||
autocomplete?: false;
|
autocomplete?: false;
|
||||||
}
|
}
|
||||||
@@ -3890,12 +3890,26 @@ export interface ApplicationCommandNumericOptionData extends ApplicationCommandC
|
|||||||
max_value?: number;
|
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 {
|
export interface ApplicationCommandNumericOption extends ApplicationCommandChoicesOption {
|
||||||
type: Exclude<CommandOptionNumericResolvableType, ApplicationCommandOptionTypes>;
|
type: CommandOptionNumericResolvableType;
|
||||||
minValue?: number;
|
minValue?: number;
|
||||||
maxValue?: number;
|
maxValue?: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface ApplicationCommandStringOption extends ApplicationCommandChoicesOption {
|
||||||
|
type: ApplicationCommandOptionTypes.STRING;
|
||||||
|
minLength?: number;
|
||||||
|
maxLength?: number;
|
||||||
|
}
|
||||||
|
|
||||||
export interface ApplicationCommandSubGroupData extends Omit<BaseApplicationCommandOptionsData, 'required'> {
|
export interface ApplicationCommandSubGroupData extends Omit<BaseApplicationCommandOptionsData, 'required'> {
|
||||||
type: 'SUB_COMMAND_GROUP' | ApplicationCommandOptionTypes.SUB_COMMAND_GROUP;
|
type: 'SUB_COMMAND_GROUP' | ApplicationCommandOptionTypes.SUB_COMMAND_GROUP;
|
||||||
options?: ApplicationCommandSubCommandData[];
|
options?: ApplicationCommandSubCommandData[];
|
||||||
@@ -3914,6 +3928,7 @@ export interface ApplicationCommandSubCommandData extends Omit<BaseApplicationCo
|
|||||||
| ApplicationCommandChannelOptionData
|
| ApplicationCommandChannelOptionData
|
||||||
| ApplicationCommandAutocompleteOption
|
| ApplicationCommandAutocompleteOption
|
||||||
| ApplicationCommandNumericOptionData
|
| ApplicationCommandNumericOptionData
|
||||||
|
| ApplicationCommandStringOptionData
|
||||||
)[];
|
)[];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3937,6 +3952,7 @@ export type ApplicationCommandOptionData =
|
|||||||
| ApplicationCommandChoicesData
|
| ApplicationCommandChoicesData
|
||||||
| ApplicationCommandAutocompleteOption
|
| ApplicationCommandAutocompleteOption
|
||||||
| ApplicationCommandNumericOptionData
|
| ApplicationCommandNumericOptionData
|
||||||
|
| ApplicationCommandStringOptionData
|
||||||
| ApplicationCommandSubCommandData;
|
| ApplicationCommandSubCommandData;
|
||||||
|
|
||||||
export type ApplicationCommandOption =
|
export type ApplicationCommandOption =
|
||||||
@@ -3945,6 +3961,7 @@ export type ApplicationCommandOption =
|
|||||||
| ApplicationCommandChannelOption
|
| ApplicationCommandChannelOption
|
||||||
| ApplicationCommandChoicesOption
|
| ApplicationCommandChoicesOption
|
||||||
| ApplicationCommandNumericOption
|
| ApplicationCommandNumericOption
|
||||||
|
| ApplicationCommandStringOption
|
||||||
| ApplicationCommandSubCommand;
|
| ApplicationCommandSubCommand;
|
||||||
|
|
||||||
export interface ApplicationCommandOptionChoiceData {
|
export interface ApplicationCommandOptionChoiceData {
|
||||||
|
|||||||
Reference in New Issue
Block a user