From f4e7cd3b0d1afc4db76a00dd071b544e05d2fd78 Mon Sep 17 00:00:00 2001 From: ITOH Date: Sun, 23 May 2021 14:08:34 +0200 Subject: [PATCH] better way of doing options --- src/util/utils.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/util/utils.ts b/src/util/utils.ts index bd86f0486..43d48466e 100644 --- a/src/util/utils.ts +++ b/src/util/utils.ts @@ -126,11 +126,13 @@ function validateSlashOptionChoices( /** @private */ function validateSlashOptions(options: ApplicationCommandOption[]) { - let allowRequired = true; - const newOptions: ApplicationCommandOption[] = []; + const requiredOptions: ApplicationCommandOption[] = []; + const optionalOptions: ApplicationCommandOption[] = []; for (const option of options) { eventHandlers.debug?.("loop", `Running for of loop in validateSlashOptions function.`); + option.name = option.name.toLowerCase(); + if (option.choices?.length) { if (option.choices.length > 25) throw new Error(Errors.TOO_MANY_SLASH_OPTION_CHOICES); if ( @@ -149,17 +151,15 @@ function validateSlashOptions(options: ApplicationCommandOption[]) { validateSlashOptionChoices(option.choices, option.type); } - if (!allowRequired && option.required) { - newOptions.unshift(option); + if (option.required) { + requiredOptions.push(option); continue; } - if (allowRequired && !option.required) allowRequired = false; - - newOptions.push(option); + optionalOptions.push(option); } - return newOptions; + return [...requiredOptions, ...optionalOptions]; } export function validateSlashCommands(