From e34531094cf49c1a8c6fadf6974bc7d34571e25b Mon Sep 17 00:00:00 2001 From: GRZ4NA Date: Sat, 7 Aug 2021 23:44:37 +0200 Subject: [PATCH] binded values to parameters --- src/CommandManager.ts | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/CommandManager.ts b/src/CommandManager.ts index 4474fac..b261677 100644 --- a/src/CommandManager.ts +++ b/src/CommandManager.ts @@ -249,31 +249,32 @@ export class CommandManager { parameters: parameters, }; } else if (interaction.options?.data) { - const paramsList = interaction.options.data.map((o) => o.value); + const paramsList = interaction.options.data; const parameters: InputParameter[] = []; - cmd.parameters.map((p, i) => { - if (!p.optional && !paramsList[i]) { + cmd.parameters.map((p) => { + const inputParam = paramsList.find((d) => d.name == p.name); + if (!p.optional && !inputParam) { throw new MissingParameterError(p); } switch (p.type) { case "string": parameters.push( - new StringParameter(p, paramsList[i]) + new StringParameter(p, inputParam?.value) ); break; case "boolean": parameters.push( - new BooleanParameter(p, paramsList[i]) + new BooleanParameter(p, inputParam?.value) ); break; case "number": parameters.push( - new NumberParameter(p, paramsList[i]) + new NumberParameter(p, inputParam?.value) ); break; default: parameters.push( - new InputParameter(p, paramsList[i]) + new InputParameter(p, inputParam?.value) ); break; }