Compare commits

...

5 Commits

99 changed files with 205 additions and 105 deletions

2
.env
View File

@@ -1,2 +1,2 @@
REGISTRY_PREFIX=harbor.sheldan.dev/abstracto/ REGISTRY_PREFIX=harbor.sheldan.dev/abstracto/
VERSION=1.6.12 VERSION=1.6.13

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>anti-raid</artifactId> <artifactId>anti-raid</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>anti-raid</artifactId> <artifactId>anti-raid</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>abstracto-modules</artifactId> <artifactId>abstracto-modules</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<artifactId>assignable-roles</artifactId> <artifactId>assignable-roles</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -74,7 +74,7 @@ public class CreateAssignableRolePlace extends AbstractConditionableCommand {
@Override @Override
public CommandConfiguration getConfiguration() { public CommandConfiguration getConfiguration() {
List<ParameterValidator> rolePlaceNameValidator = Arrays.asList(MaxStringLengthValidator.max(AssignableRolePlace.ASSIGNABLE_PLACE_NAME_LIMIT)); List<ParameterValidator> rolePlaceNameValidator = Arrays.asList(MaxStringLengthValidator.max(AssignableRolePlace.ASSIGNABLE_PLACE_NAME_LIMIT.intValue()));
Parameter rolePostName = Parameter Parameter rolePostName = Parameter
.builder() .builder()
.name(ASSIGNABLE_ROLE_PLACE_NAME_PARAMETER) .name(ASSIGNABLE_ROLE_PLACE_NAME_PARAMETER)
@@ -95,7 +95,7 @@ public class CreateAssignableRolePlace extends AbstractConditionableCommand {
.templated(true) .templated(true)
.optional(true) .optional(true)
.build(); .build();
List<ParameterValidator> rolePlaceDescriptionValidator = Arrays.asList(MaxStringLengthValidator.max(AssignableRolePlace.ASSIGNABLE_PLACE_NAME_LIMIT)); List<ParameterValidator> rolePlaceDescriptionValidator = Arrays.asList(MaxStringLengthValidator.max(AssignableRolePlace.ASSIGNABLE_PLACE_NAME_LIMIT.intValue()));
Parameter text = Parameter Parameter text = Parameter
.builder() .builder()
.name(ASSIGNABLE_ROLE_PLACE_TEXT_PARAMETER) .name(ASSIGNABLE_ROLE_PLACE_TEXT_PARAMETER)

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<artifactId>assignable-roles</artifactId> <artifactId>assignable-roles</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>assignable-roles-int</artifactId> <artifactId>assignable-roles-int</artifactId>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<artifactId>abstracto-modules</artifactId> <artifactId>abstracto-modules</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<artifactId>custom-command</artifactId> <artifactId>custom-command</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<artifactId>custom-command</artifactId> <artifactId>custom-command</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>abstracto-modules</artifactId> <artifactId>abstracto-modules</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<artifactId>dynamic-activity</artifactId> <artifactId>dynamic-activity</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>dynamic-activity</artifactId> <artifactId>dynamic-activity</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>abstracto-modules</artifactId> <artifactId>abstracto-modules</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>entertainment</artifactId> <artifactId>entertainment</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>entertainment</artifactId> <artifactId>entertainment</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>abstracto-modules</artifactId> <artifactId>abstracto-modules</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<artifactId>experience-tracking</artifactId> <artifactId>experience-tracking</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -158,7 +158,6 @@ public class LeaderBoardCommand extends AbstractConditionableCommand {
Parameter focusMe = Parameter Parameter focusMe = Parameter
.builder() .builder()
.name(FOCUS_PARAMETER) .name(FOCUS_PARAMETER)
.validators(leaderBoardPageValidators)
.optional(true) .optional(true)
.slashCommandOnly(true) .slashCommandOnly(true)
.templated(true) .templated(true)

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<artifactId>experience-tracking</artifactId> <artifactId>experience-tracking</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<artifactId>abstracto-modules</artifactId> <artifactId>abstracto-modules</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<artifactId>giveaway</artifactId> <artifactId>giveaway</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<artifactId>giveaway-impl</artifactId> <artifactId>giveaway-impl</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<artifactId>giveaway</artifactId> <artifactId>giveaway</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<artifactId>giveaway-int</artifactId> <artifactId>giveaway-int</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<artifactId>abstracto-modules</artifactId> <artifactId>abstracto-modules</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<artifactId>giveaway</artifactId> <artifactId>giveaway</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<artifactId>image-generation</artifactId> <artifactId>image-generation</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<artifactId>image-generation-impl</artifactId> <artifactId>image-generation-impl</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<artifactId>image-generation</artifactId> <artifactId>image-generation</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<artifactId>image-generation-int</artifactId> <artifactId>image-generation-int</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<artifactId>abstracto-modules</artifactId> <artifactId>abstracto-modules</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<artifactId>image-generation</artifactId> <artifactId>image-generation</artifactId>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>invite-filter</artifactId> <artifactId>invite-filter</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>invite-filter</artifactId> <artifactId>invite-filter</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
@@ -18,7 +18,7 @@
<dependency> <dependency>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<artifactId>moderation-int</artifactId> <artifactId>moderation-int</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>abstracto-modules</artifactId> <artifactId>abstracto-modules</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>link-embed</artifactId> <artifactId>link-embed</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>link-embed</artifactId> <artifactId>link-embed</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>abstracto-modules</artifactId> <artifactId>abstracto-modules</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>logging</artifactId> <artifactId>logging</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>logging</artifactId> <artifactId>logging</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>abstracto-modules</artifactId> <artifactId>abstracto-modules</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<artifactId>moderation</artifactId> <artifactId>moderation</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<artifactId>moderation</artifactId> <artifactId>moderation</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<artifactId>abstracto-modules</artifactId> <artifactId>abstracto-modules</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<artifactId>modmail</artifactId> <artifactId>modmail</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<artifactId>modmail</artifactId> <artifactId>modmail</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<artifactId>abstracto-modules</artifactId> <artifactId>abstracto-modules</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto</groupId> <groupId>dev.sheldan.abstracto</groupId>
<artifactId>abstracto-application</artifactId> <artifactId>abstracto-application</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>abstracto-modules</artifactId> <artifactId>abstracto-modules</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>profanity-filter</artifactId> <artifactId>profanity-filter</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<artifactId>profanity-filter</artifactId> <artifactId>profanity-filter</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>abstracto-modules</artifactId> <artifactId>abstracto-modules</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>remind</artifactId> <artifactId>remind</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>remind</artifactId> <artifactId>remind</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>abstracto-modules</artifactId> <artifactId>abstracto-modules</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>repost-detection</artifactId> <artifactId>repost-detection</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>repost-detection</artifactId> <artifactId>repost-detection</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>abstracto-modules</artifactId> <artifactId>abstracto-modules</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>starboard</artifactId> <artifactId>starboard</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>starboard</artifactId> <artifactId>starboard</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<artifactId>abstracto-modules</artifactId> <artifactId>abstracto-modules</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<artifactId>statistic</artifactId> <artifactId>statistic</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<artifactId>statistic</artifactId> <artifactId>statistic</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>abstracto-modules</artifactId> <artifactId>abstracto-modules</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<artifactId>sticky-roles</artifactId> <artifactId>sticky-roles</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<artifactId>sticky-roles-impl</artifactId> <artifactId>sticky-roles-impl</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<artifactId>sticky-roles</artifactId> <artifactId>sticky-roles</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<artifactId>sticky-roles-int</artifactId> <artifactId>sticky-roles-int</artifactId>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>abstracto-modules</artifactId> <artifactId>abstracto-modules</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>suggestion</artifactId> <artifactId>suggestion</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>suggestion</artifactId> <artifactId>suggestion</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>abstracto-modules</artifactId> <artifactId>abstracto-modules</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>twitch</artifactId> <artifactId>twitch</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<artifactId>twitch</artifactId> <artifactId>twitch</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<artifactId>abstracto-modules</artifactId> <artifactId>abstracto-modules</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<artifactId>utility</artifactId> <artifactId>utility</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<artifactId>utility</artifactId> <artifactId>utility</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>abstracto-modules</artifactId> <artifactId>abstracto-modules</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<artifactId>voice-channel-context</artifactId> <artifactId>voice-channel-context</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<artifactId>voice-channel-context</artifactId> <artifactId>voice-channel-context</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<artifactId>abstracto-modules</artifactId> <artifactId>abstracto-modules</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<artifactId>webservices</artifactId> <artifactId>webservices</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -39,7 +39,7 @@ public class WikipediaServiceBean implements WikipediaService {
Response response = okHttpClient.newCall(request).execute(); Response response = okHttpClient.newCall(request).execute();
if(!response.isSuccessful()) { if(!response.isSuccessful()) {
if(log.isDebugEnabled()) { if(log.isDebugEnabled()) {
log.error("Failed to retrieve wikipedia summary. Response had code {} with body {}.", log.debug("Failed to retrieve wikipedia summary. Response had code {} with body {}.",
response.code(), response.body()); response.code(), response.body());
} }
throw new WikipediaRequestException(response.code()); throw new WikipediaRequestException(response.code());

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto.modules</groupId> <groupId>dev.sheldan.abstracto.modules</groupId>
<artifactId>webservices</artifactId> <artifactId>webservices</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto</groupId> <groupId>dev.sheldan.abstracto</groupId>
<artifactId>abstracto-application</artifactId> <artifactId>abstracto-application</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto.core</groupId> <groupId>dev.sheldan.abstracto.core</groupId>
<artifactId>core</artifactId> <artifactId>core</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging> <packaging>jar</packaging>

View File

@@ -32,7 +32,7 @@ public class SetPrefix extends AbstractConditionableCommand {
@Override @Override
public CommandConfiguration getConfiguration() { public CommandConfiguration getConfiguration() {
List<ParameterValidator> validators = Arrays.asList(MaxStringLengthValidator.max(10L)); List<ParameterValidator> validators = Arrays.asList(MaxStringLengthValidator.max(10));
Parameter newPrefixParameter = Parameter Parameter newPrefixParameter = Parameter
.builder() .builder()
.name("prefix") .name("prefix")

View File

@@ -50,7 +50,7 @@ public class SetEmote extends AbstractConditionableCommand {
@Override @Override
public CommandConfiguration getConfiguration() { public CommandConfiguration getConfiguration() {
List<ParameterValidator> emoteKeyValidators = Arrays.asList(MaxStringLengthValidator.max(255L)); List<ParameterValidator> emoteKeyValidators = Arrays.asList(MaxStringLengthValidator.max(255));
Parameter emoteKey = Parameter Parameter emoteKey = Parameter
.builder() .builder()
.name(EMOTE_KEY_PARAMETER) .name(EMOTE_KEY_PARAMETER)

View File

@@ -6,7 +6,6 @@ import com.google.gson.GsonBuilder;
import com.google.gson.typeadapters.RuntimeTypeAdapterFactory; import com.google.gson.typeadapters.RuntimeTypeAdapterFactory;
import dev.sheldan.abstracto.core.logging.OkHttpLogger; import dev.sheldan.abstracto.core.logging.OkHttpLogger;
import dev.sheldan.abstracto.core.metric.OkHttpMetrics; import dev.sheldan.abstracto.core.metric.OkHttpMetrics;
import dev.sheldan.abstracto.core.service.BotService;
import dev.sheldan.abstracto.core.templating.model.messagecomponents.ActionRowButtonConfig; import dev.sheldan.abstracto.core.templating.model.messagecomponents.ActionRowButtonConfig;
import dev.sheldan.abstracto.core.templating.model.messagecomponents.ActionRowItemConfig; import dev.sheldan.abstracto.core.templating.model.messagecomponents.ActionRowItemConfig;
import dev.sheldan.abstracto.core.templating.model.messagecomponents.ComponentConfig; import dev.sheldan.abstracto.core.templating.model.messagecomponents.ComponentConfig;
@@ -37,15 +36,15 @@ import java.util.List;
@Configuration @Configuration
public class CoreConfig { public class CoreConfig {
@Autowired
private BotService botService;
@Autowired @Autowired
private OkHttpMetrics okHttpMetrics; private OkHttpMetrics okHttpMetrics;
@Autowired @Autowired
private OkHttpLogger okHttpLogger; private OkHttpLogger okHttpLogger;
@Autowired
private OkHttpUserAgentSetter okHttpUserAgentSetter;
@Autowired @Autowired
private List<CustomJsonSerializer> customJsonSerializers; private List<CustomJsonSerializer> customJsonSerializers;
@@ -95,6 +94,7 @@ public class CoreConfig {
return new OkHttpClient.Builder() return new OkHttpClient.Builder()
.addInterceptor(okHttpMetrics) .addInterceptor(okHttpMetrics)
.addInterceptor(okHttpLogger) .addInterceptor(okHttpLogger)
.addInterceptor(okHttpUserAgentSetter)
.build(); .build();
} }

View File

@@ -0,0 +1,26 @@
package dev.sheldan.abstracto.core.config;
import java.io.IOException;
import okhttp3.Interceptor;
import okhttp3.Request;
import okhttp3.Response;
import org.jetbrains.annotations.NotNull;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class OkHttpUserAgentSetter implements Interceptor {
@Value("${abstracto.okhttp.useragent}")
private String userAgent;
@NotNull
@Override
public Response intercept(@NotNull Chain chain) throws IOException {
Request originalRequest = chain.request();
Request requestWithUserAgent = originalRequest.newBuilder()
.header("User-Agent", userAgent)
.build();
return chain.proceed(requestWithUserAgent);
}
}

View File

@@ -2,6 +2,10 @@ package dev.sheldan.abstracto.core.interaction.slash;
import dev.sheldan.abstracto.core.command.config.CommandConfiguration; import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
import dev.sheldan.abstracto.core.command.config.Parameter; import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.config.validator.MaxIntegerValueValidator;
import dev.sheldan.abstracto.core.command.config.validator.MaxStringLengthValidator;
import dev.sheldan.abstracto.core.command.config.validator.MinIntegerValueValidator;
import dev.sheldan.abstracto.core.command.config.validator.MinStringLengthValidator;
import dev.sheldan.abstracto.core.command.execution.CommandParameterKey; import dev.sheldan.abstracto.core.command.execution.CommandParameterKey;
import dev.sheldan.abstracto.core.command.execution.CommandResult; import dev.sheldan.abstracto.core.command.execution.CommandResult;
import dev.sheldan.abstracto.core.command.config.UserCommandConfig; import dev.sheldan.abstracto.core.command.config.UserCommandConfig;
@@ -184,6 +188,39 @@ public class SlashCommandServiceBean implements SlashCommandService {
convertCommandConfigToCommandData(commandConfiguration, existingCommands, null, false); convertCommandConfigToCommandData(commandConfiguration, existingCommands, null, false);
} }
// TODO at some point replace this with more "native" solutions than using a validator instance
private Optional<Integer> getMaxLengthOfParameter(Parameter parameter) {
return parameter
.getValidators()
.stream().filter(parameterValidator -> parameterValidator instanceof MaxStringLengthValidator)
.findFirst().map(MaxStringLengthValidator.class::cast)
.map(MaxStringLengthValidator::getMaxLength);
}
private Optional<Long> getMaxValueOfParameter(Parameter parameter) {
return parameter
.getValidators()
.stream().filter(parameterValidator -> parameterValidator instanceof MaxIntegerValueValidator)
.findFirst().map(MaxIntegerValueValidator.class::cast)
.map(MaxIntegerValueValidator::getMaxValue);
}
private Optional<Long> getMinValueOfParameter(Parameter parameter) {
return parameter
.getValidators()
.stream().filter(parameterValidator -> parameterValidator instanceof MinIntegerValueValidator)
.findFirst().map(MinIntegerValueValidator.class::cast)
.map(MinIntegerValueValidator::getMinValue);
}
private Optional<Integer> getMinLengthOfParameter(Parameter parameter) {
return parameter
.getValidators()
.stream().filter(parameterValidator -> parameterValidator instanceof MinStringLengthValidator)
.findFirst().map(MinStringLengthValidator.class::cast)
.map(MinStringLengthValidator::getMinLength);
}
private List<OptionData> getParameters(CommandConfiguration commandConfiguration, boolean isTemplated, String internalCommandName, Long serverId, boolean userCommandsOnly) { private List<OptionData> getParameters(CommandConfiguration commandConfiguration, boolean isTemplated, String internalCommandName, Long serverId, boolean userCommandsOnly) {
List<OptionData> requiredParameters = new ArrayList<>(); List<OptionData> requiredParameters = new ArrayList<>();
List<OptionData> optionalParameters = new ArrayList<>(); List<OptionData> optionalParameters = new ArrayList<>();
@@ -195,6 +232,10 @@ public class SlashCommandServiceBean implements SlashCommandService {
return; return;
} }
List<OptionType> types = slashCommandParameterService.getTypesFromParameter(parameter); List<OptionType> types = slashCommandParameterService.getTypesFromParameter(parameter);
Optional<Integer> maxLengthOptional = getMaxLengthOfParameter(parameter);
Optional<Long> maxValueOptional = getMaxValueOfParameter(parameter);
Optional<Long> minValueOptional = getMinValueOfParameter(parameter);
Optional<Integer> minLengthOptional = getMinLengthOfParameter(parameter);
if(types.size() > 1) { if(types.size() > 1) {
if(parameter.isListParam()) { if(parameter.isListParam()) {
for (int i = 0; i < parameter.getListSize(); i++) { for (int i = 0; i < parameter.getListSize(); i++) {
@@ -203,6 +244,10 @@ public class SlashCommandServiceBean implements SlashCommandService {
String parameterDescription = isTemplated ? templateService.renderSimpleTemplate(internalCommandName + "_parameter_" + parameter.getName(), serverId) : parameter.getDescription(); String parameterDescription = isTemplated ? templateService.renderSimpleTemplate(internalCommandName + "_parameter_" + parameter.getName(), serverId) : parameter.getDescription();
OptionData optionData = new OptionData(type, parameterName, parameterDescription, false); OptionData optionData = new OptionData(type, parameterName, parameterDescription, false);
addChoices(optionData, parameter, internalCommandName, isTemplated, serverId); addChoices(optionData, parameter, internalCommandName, isTemplated, serverId);
setMaxLength(maxLengthOptional, optionData);
setMinLength(minLengthOptional, optionData);
setMaxValue(maxValueOptional, optionData);
setMinValue(minValueOptional, optionData);
optionalParameters.add(optionData); optionalParameters.add(optionData);
} }
} }
@@ -212,6 +257,10 @@ public class SlashCommandServiceBean implements SlashCommandService {
String parameterDescription = isTemplated ? templateService.renderSimpleTemplate(internalCommandName + "_parameter_" + parameter.getName(), serverId) : parameter.getDescription(); String parameterDescription = isTemplated ? templateService.renderSimpleTemplate(internalCommandName + "_parameter_" + parameter.getName(), serverId) : parameter.getDescription();
OptionData optionData = new OptionData(type, parameterName, parameterDescription, false); OptionData optionData = new OptionData(type, parameterName, parameterDescription, false);
addChoices(optionData, parameter, internalCommandName, isTemplated, serverId); addChoices(optionData, parameter, internalCommandName, isTemplated, serverId);
setMaxLength(maxLengthOptional, optionData);
setMinLength(minLengthOptional, optionData);
setMaxValue(maxValueOptional, optionData);
setMinValue(minValueOptional, optionData);
optionalParameters.add(optionData); optionalParameters.add(optionData);
}); });
} }
@@ -222,11 +271,19 @@ public class SlashCommandServiceBean implements SlashCommandService {
for (int i = 0; i < parameter.getListSize(); i++) { for (int i = 0; i < parameter.getListSize(); i++) {
OptionData optionData = new OptionData(type, parameter.getSlashCompatibleName() + "_" + i, parameterDescription, false); OptionData optionData = new OptionData(type, parameter.getSlashCompatibleName() + "_" + i, parameterDescription, false);
addChoices(optionData, parameter, internalCommandName, isTemplated, serverId); addChoices(optionData, parameter, internalCommandName, isTemplated, serverId);
setMaxLength(maxLengthOptional, optionData);
setMinLength(minLengthOptional, optionData);
setMaxValue(maxValueOptional, optionData);
setMinValue(minValueOptional, optionData);
optionalParameters.add(optionData); optionalParameters.add(optionData);
} }
} else { } else {
OptionData optionData = new OptionData(type, parameter.getSlashCompatibleName(), parameterDescription, !parameter.isOptional(), parameter.getSupportsAutoComplete()); OptionData optionData = new OptionData(type, parameter.getSlashCompatibleName(), parameterDescription, !parameter.isOptional(), parameter.getSupportsAutoComplete());
addChoices(optionData, parameter, internalCommandName, isTemplated, serverId); addChoices(optionData, parameter, internalCommandName, isTemplated, serverId);
setMaxLength(maxLengthOptional, optionData);
setMinLength(minLengthOptional, optionData);
setMaxValue(maxValueOptional, optionData);
setMinValue(minValueOptional, optionData);
requiredParameters.add(optionData); requiredParameters.add(optionData);
} }
} }
@@ -235,6 +292,22 @@ public class SlashCommandServiceBean implements SlashCommandService {
return requiredParameters; return requiredParameters;
} }
private void setMaxLength(Optional<Integer> maxLengthOptional, OptionData optionData) {
maxLengthOptional.ifPresent(optionData::setMaxLength);
}
private void setMaxValue(Optional<Long> maxValueOptional, OptionData optionData) {
maxValueOptional.ifPresent(optionData::setMaxValue);
}
private void setMinLength(Optional<Integer> minLengthOptional, OptionData optionData) {
minLengthOptional.ifPresent(optionData::setMinLength);
}
private void setMinValue(Optional<Long> minValueOptional, OptionData optionData) {
minValueOptional.ifPresent(optionData::setMinValue);
}
private void addChoices(OptionData optionData, Parameter parameter, String commandName, boolean isTemplated, Long serverId) { private void addChoices(OptionData optionData, Parameter parameter, String commandName, boolean isTemplated, Long serverId) {
if(CommandParameterKey.class.isAssignableFrom(parameter.getType())) { if(CommandParameterKey.class.isAssignableFrom(parameter.getType())) {
parameter.setChoices(CommandParameterKey.getKeys(parameter.getType())); parameter.setChoices(CommandParameterKey.getKeys(parameter.getType()));

View File

@@ -42,7 +42,7 @@ public class SlashCommandFeatureActivationListener implements FeatureActivationL
List<Command> incomingSlashCommands = slashCommandListenerBean.getSlashCommands() List<Command> incomingSlashCommands = slashCommandListenerBean.getSlashCommands()
.stream() .stream()
.filter(command -> command.getFeature().getKey().equals(model.getFeatureName())) .filter(command -> command.getFeature().getKey().equals(model.getFeatureName()))
.collect(Collectors.toList()); .toList();
if(incomingSlashCommands.isEmpty()) { if(incomingSlashCommands.isEmpty()) {
return DefaultListenerResult.IGNORED; return DefaultListenerResult.IGNORED;
} }

View File

@@ -22,4 +22,6 @@ abstracto.systemConfigs.maxMessages.name=maxMessages
abstracto.systemConfigs.maxMessages.longValue=3 abstracto.systemConfigs.maxMessages.longValue=3
abstracto.featureFlags.core.featureName=core abstracto.featureFlags.core.featureName=core
abstracto.featureFlags.core.enabled=true abstracto.featureFlags.core.enabled=true
abstracto.okhttp.useragent=abstracto (https://github.com/Sheldan/)

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto.core</groupId> <groupId>dev.sheldan.abstracto.core</groupId>
<artifactId>core</artifactId> <artifactId>core</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging> <packaging>jar</packaging>

View File

@@ -14,7 +14,7 @@ import java.util.List;
@Builder @Builder
public class MaxStringLengthValidator implements ParameterValidator { public class MaxStringLengthValidator implements ParameterValidator {
private Long maxLength; private Integer maxLength;
@Override @Override
public boolean validate(Object value) { public boolean validate(Object value) {
@@ -33,7 +33,7 @@ public class MaxStringLengthValidator implements ParameterValidator {
public List<ValidatorParam> getParameters() { public List<ValidatorParam> getParameters() {
SingleNumberValidatorParam param = SingleNumberValidatorParam SingleNumberValidatorParam param = SingleNumberValidatorParam
.builder() .builder()
.number(maxLength) .number(maxLength.longValue())
.build(); .build();
return Arrays.asList(param); return Arrays.asList(param);
} }
@@ -43,7 +43,7 @@ public class MaxStringLengthValidator implements ParameterValidator {
return "command_parameter_validation_string_too_long"; return "command_parameter_validation_string_too_long";
} }
public static MaxStringLengthValidator max(Long number) { public static MaxStringLengthValidator max(Integer number) {
return MaxStringLengthValidator return MaxStringLengthValidator
.builder() .builder()
.maxLength(number) .maxLength(number)

View File

@@ -14,7 +14,7 @@ import java.util.List;
@Builder @Builder
public class MinStringLengthValidator implements ParameterValidator { public class MinStringLengthValidator implements ParameterValidator {
private Long minLength; private Integer minLength;
@Override @Override
public boolean validate(Object value) { public boolean validate(Object value) {
@@ -33,7 +33,7 @@ public class MinStringLengthValidator implements ParameterValidator {
public List<ValidatorParam> getParameters() { public List<ValidatorParam> getParameters() {
SingleNumberValidatorParam param = SingleNumberValidatorParam SingleNumberValidatorParam param = SingleNumberValidatorParam
.builder() .builder()
.number(minLength) .number(minLength.longValue())
.build(); .build();
return Arrays.asList(param); return Arrays.asList(param);
} }

View File

@@ -16,7 +16,7 @@ public class MaxStringLengthValidatorTest {
@Before @Before
public void setup() { public void setup() {
validator.setMaxLength(4L); validator.setMaxLength(4);
} }
@Test(expected = ValidatorConfigException.class) @Test(expected = ValidatorConfigException.class)

View File

@@ -16,7 +16,7 @@ public class MinStringLengthValidatorTest {
@Before @Before
public void setup() { public void setup() {
validator.setMinLength(4L); validator.setMinLength(4);
} }
@Test(expected = ValidatorConfigException.class) @Test(expected = ValidatorConfigException.class)

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>core</artifactId> <artifactId>core</artifactId>
<groupId>dev.sheldan.abstracto.core</groupId> <groupId>dev.sheldan.abstracto.core</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>core</artifactId> <artifactId>core</artifactId>
<groupId>dev.sheldan.abstracto.core</groupId> <groupId>dev.sheldan.abstracto.core</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto</groupId> <groupId>dev.sheldan.abstracto</groupId>
<artifactId>abstracto-application</artifactId> <artifactId>abstracto-application</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>abstracto-application</artifactId> <artifactId>abstracto-application</artifactId>
<groupId>dev.sheldan.abstracto</groupId> <groupId>dev.sheldan.abstracto</groupId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -10,7 +10,7 @@
<groupId>dev.sheldan.abstracto</groupId> <groupId>dev.sheldan.abstracto</groupId>
<artifactId>abstracto-application</artifactId> <artifactId>abstracto-application</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
<packaging>pom</packaging> <packaging>pom</packaging>
<modules> <modules>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto</groupId> <groupId>dev.sheldan.abstracto</groupId>
<artifactId>abstracto-application</artifactId> <artifactId>abstracto-application</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto.scheduling</groupId> <groupId>dev.sheldan.abstracto.scheduling</groupId>
<artifactId>scheduling</artifactId> <artifactId>scheduling</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging> <packaging>jar</packaging>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>dev.sheldan.abstracto.scheduling</groupId> <groupId>dev.sheldan.abstracto.scheduling</groupId>
<artifactId>scheduling</artifactId> <artifactId>scheduling</artifactId>
<version>1.6.13-SNAPSHOT</version> <version>1.6.14-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging> <packaging>jar</packaging>