Fix oversight in forceEnum slash commands
| @@ -59,7 +59,7 @@ export class SlashCommandArgument { | |||
| 59 | * @param {string|SlashCommandEnumValue|(string|SlashCommandEnumValue)[]} enums | 59 | * @param {string|SlashCommandEnumValue|(string|SlashCommandEnumValue)[]} enums |
| 60 | * @param {(executor:SlashCommandExecutor)=>SlashCommandEnumValue[]} enumProvider function that returns auto complete options | 60 | * @param {(executor:SlashCommandExecutor)=>SlashCommandEnumValue[]} enumProvider function that returns auto complete options |
| 61 | */ | 61 | */ |
| 62 | constructor(description, types, isRequired = false, acceptsMultiple = false, defaultValue = null, enums = [], enumProvider = null, forceEnum = true) { | 62 | constructor(description, types, isRequired = false, acceptsMultiple = false, defaultValue = null, enums = [], enumProvider = null, forceEnum = false) { |
| 63 | this.description = description; | 63 | this.description = description; |
| 64 | this.typeList = types ? Array.isArray(types) ? types : [types] : []; | 64 | this.typeList = types ? Array.isArray(types) ? types : [types] : []; |
| 65 | this.isRequired = isRequired ?? false; | 65 | this.isRequired = isRequired ?? false; |
| @@ -90,7 +90,7 @@ export class SlashCommandNamedArgument extends SlashCommandArgument { | |||
| 90 | * @param {string|SlashCommandClosure} [props.defaultValue=null] default value if no value is provided | 90 | * @param {string|SlashCommandClosure} [props.defaultValue=null] default value if no value is provided |
| 91 | * @param {string|SlashCommandEnumValue|(string|SlashCommandEnumValue)[]} [props.enumList=[]] list of accepted values | 91 | * @param {string|SlashCommandEnumValue|(string|SlashCommandEnumValue)[]} [props.enumList=[]] list of accepted values |
| 92 | * @param {(executor:SlashCommandExecutor)=>SlashCommandEnumValue[]} [props.enumProvider=null] function that returns auto complete options | 92 | * @param {(executor:SlashCommandExecutor)=>SlashCommandEnumValue[]} [props.enumProvider=null] function that returns auto complete options |
| 93 | * @param {boolean} [props.forceEnum=true] default: true - whether the input must match one of the enum values | 93 | * @param {boolean} [props.forceEnum=false] default: false - whether the input must match one of the enum values |
| 94 | */ | 94 | */ |
| 95 | static fromProps(props) { | 95 | static fromProps(props) { |
| 96 | return new SlashCommandNamedArgument( | 96 | return new SlashCommandNamedArgument( |
| @@ -103,7 +103,7 @@ export class SlashCommandNamedArgument extends SlashCommandArgument { | |||
| 103 | props.enumList ?? [], | 103 | props.enumList ?? [], |
| 104 | props.aliasList ?? [], | 104 | props.aliasList ?? [], |
| 105 | props.enumProvider ?? null, | 105 | props.enumProvider ?? null, |
| 106 | props.forceEnum ?? true, | 106 | props.forceEnum ?? false, |
| 107 | ); | 107 | ); |
| 108 | } | 108 | } |
| 109 | 109 | ||
| @@ -120,9 +120,9 @@ export class SlashCommandNamedArgument extends SlashCommandArgument { | |||
| 120 | * @param {string|SlashCommandEnumValue|(string|SlashCommandEnumValue)[]} [enums=[]] | 120 | * @param {string|SlashCommandEnumValue|(string|SlashCommandEnumValue)[]} [enums=[]] |
| 121 | * @param {string[]} [aliases=[]] | 121 | * @param {string[]} [aliases=[]] |
| 122 | * @param {(executor:SlashCommandExecutor)=>SlashCommandEnumValue[]} [enumProvider=null] function that returns auto complete options | 122 | * @param {(executor:SlashCommandExecutor)=>SlashCommandEnumValue[]} [enumProvider=null] function that returns auto complete options |
| 123 | * @param {boolean} [forceEnum=true] | 123 | * @param {boolean} [forceEnum=false] |
| 124 | */ | 124 | */ |
| 125 | constructor(name, description, types, isRequired = false, acceptsMultiple = false, defaultValue = null, enums = [], aliases = [], enumProvider = null, forceEnum = true) { | 125 | constructor(name, description, types, isRequired = false, acceptsMultiple = false, defaultValue = null, enums = [], aliases = [], enumProvider = null, forceEnum = false) { |
| 126 | super(description, types, isRequired, acceptsMultiple, defaultValue, enums, enumProvider, forceEnum); | 126 | super(description, types, isRequired, acceptsMultiple, defaultValue, enums, enumProvider, forceEnum); |
| 127 | this.name = name; | 127 | this.name = name; |
| 128 | this.aliasList = aliases ? Array.isArray(aliases) ? aliases : [aliases] : []; | 128 | this.aliasList = aliases ? Array.isArray(aliases) ? aliases : [aliases] : []; |