mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-03-17 03:14:19 +00:00
[AB-xxx] fixing string command parameters in combination with attachments, the attachment was still part of the parameters and used normally, if the parameter type is string, attachments are being skipped
This commit is contained in:
@@ -273,7 +273,9 @@ public class CommandReceivedHandler extends ListenerAdapter {
|
||||
parsedParameters.add(ParseResult.builder().parameter(param).result(future).build());
|
||||
} else {
|
||||
Object result = handler.handle(value, iterators, param, message, command);
|
||||
parsedParameters.add(ParseResult.builder().parameter(param).result(result).build());
|
||||
if(result != null) {
|
||||
parsedParameters.add(ParseResult.builder().parameter(param).result(result).build());
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -300,13 +302,15 @@ public class CommandReceivedHandler extends ListenerAdapter {
|
||||
}).collect(Collectors.toList());
|
||||
List<ParseResult> parseResults = new ArrayList<>();
|
||||
for (int i = 0; i < allParamResults.size(); i++) {
|
||||
ParseResult parseResult = ParseResult
|
||||
.builder()
|
||||
.result(allParamResults.get(i))
|
||||
// all parameters beyond the most possible ones are attributed to be from the last parameter
|
||||
.parameter(parameters.get(Math.min(i, parameters.size() - 1)))
|
||||
.build();
|
||||
parseResults.add(parseResult);
|
||||
if(allParamResults.get(i) != null) {
|
||||
ParseResult parseResult = ParseResult
|
||||
.builder()
|
||||
.result(allParamResults.get(i))
|
||||
// all parameters beyond the most possible ones are attributed to be from the last parameter
|
||||
.parameter(parameters.get(Math.min(i, parameters.size() - 1)))
|
||||
.build();
|
||||
parseResults.add(parseResult);
|
||||
}
|
||||
}
|
||||
multipleFuturesFuture.complete(Parameters.builder().parameters(extractParametersFromParsed(parseResults)).build());
|
||||
});
|
||||
|
||||
@@ -13,7 +13,11 @@ public class StringParameterHandlerImpl implements StringParameterHandler {
|
||||
|
||||
@Override
|
||||
public Object handle(UnparsedCommandParameterPiece input, CommandParameterIterators iterators, Parameter param, Message context, Command command) {
|
||||
return input.getValue().toString();
|
||||
if(input.getValue() instanceof String) {
|
||||
return input.getValue().toString();
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user