From 8a38dd3d1a18b59b2b8ac1dd818c0cc4aee56739 Mon Sep 17 00:00:00 2001 From: Sheldan <5037282+Sheldan@users.noreply.github.com> Date: Wed, 14 Jul 2021 02:09:29 +0200 Subject: [PATCH] [OPB-30] porting mod mode command enabling anti raid module --- application/executable/pom.xml | 11 + .../moderation-custom/pom.xml | 50 + .../src/main/assembly/liquibase.xml | 18 + .../custom/moderation/commands/ModMode.java | 52 + .../config/ModerationCustomFeature.java | 35 + .../ModerationCustomFeatureDefinition.java | 15 + .../config/ModerationCustomProperties.java | 10 + .../exception/ModRoleNotFoundException.java | 15 + .../service/ModModeServiceBean.java | 55 + .../resources/migrations/1.5.2/collection.xml | 10 + .../migrations/1.5.2/seedData/command.xml | 18 + .../migrations/1.5.2/seedData/data.xml | 11 + .../migrations/1.5.2/seedData/feature.xml | 14 + .../main/resources/migrations/dbchangelog.xsd | 1386 +++++++++++++++++ .../moderation-custom-changeLog.xml | 10 + .../resources/moderation-custom.properties | 8 + .../oneplus-bot-customizations/pom.xml | 1 + .../docker-compose/src/main/resources/.env | 2 +- deployment/image-packaging/pom.xml | 52 + .../deployment/config/artifact_versions.json | 8 +- pom.xml | 4 +- .../translations/moderation-custom/pom.xml | 38 + .../src/main/assembly/assembly.xml | 15 + .../help/modMode_description_en_US.ftl | 1 + .../modMode/help/modMode_long_help_en_US.ftl | 0 .../modMode_parameter_newState_help_en_US.ftl | 0 .../config/feature_moderationCustom_en_US.ftl | 1 + ...setup_config_modModeNewRoleColor_en_US.ftl | 1 + ...ature_setup_config_modModeRoleId_en_US.ftl | 1 + .../mod_role_not_found_exception_en_US.ftl | 1 + templates/translations/pom.xml | 1 + 31 files changed, 1838 insertions(+), 6 deletions(-) create mode 100644 application/oneplus-bot-customizations/moderation-custom/pom.xml create mode 100644 application/oneplus-bot-customizations/moderation-custom/src/main/assembly/liquibase.xml create mode 100644 application/oneplus-bot-customizations/moderation-custom/src/main/java/dev/sheldan/oneplus/bot/custom/moderation/commands/ModMode.java create mode 100644 application/oneplus-bot-customizations/moderation-custom/src/main/java/dev/sheldan/oneplus/bot/custom/moderation/config/ModerationCustomFeature.java create mode 100644 application/oneplus-bot-customizations/moderation-custom/src/main/java/dev/sheldan/oneplus/bot/custom/moderation/config/ModerationCustomFeatureDefinition.java create mode 100644 application/oneplus-bot-customizations/moderation-custom/src/main/java/dev/sheldan/oneplus/bot/custom/moderation/config/ModerationCustomProperties.java create mode 100644 application/oneplus-bot-customizations/moderation-custom/src/main/java/dev/sheldan/oneplus/bot/custom/moderation/exception/ModRoleNotFoundException.java create mode 100644 application/oneplus-bot-customizations/moderation-custom/src/main/java/dev/sheldan/oneplus/bot/custom/moderation/service/ModModeServiceBean.java create mode 100644 application/oneplus-bot-customizations/moderation-custom/src/main/resources/migrations/1.5.2/collection.xml create mode 100644 application/oneplus-bot-customizations/moderation-custom/src/main/resources/migrations/1.5.2/seedData/command.xml create mode 100644 application/oneplus-bot-customizations/moderation-custom/src/main/resources/migrations/1.5.2/seedData/data.xml create mode 100644 application/oneplus-bot-customizations/moderation-custom/src/main/resources/migrations/1.5.2/seedData/feature.xml create mode 100644 application/oneplus-bot-customizations/moderation-custom/src/main/resources/migrations/dbchangelog.xsd create mode 100644 application/oneplus-bot-customizations/moderation-custom/src/main/resources/migrations/moderation-custom-changeLog.xml create mode 100644 application/oneplus-bot-customizations/moderation-custom/src/main/resources/moderation-custom.properties create mode 100644 templates/translations/moderation-custom/pom.xml create mode 100644 templates/translations/moderation-custom/src/main/assembly/assembly.xml create mode 100644 templates/translations/moderation-custom/src/main/resources/en_US/commands/modMode/help/modMode_description_en_US.ftl create mode 100644 templates/translations/moderation-custom/src/main/resources/en_US/commands/modMode/help/modMode_long_help_en_US.ftl create mode 100644 templates/translations/moderation-custom/src/main/resources/en_US/commands/modMode/help/modMode_parameter_newState_help_en_US.ftl create mode 100644 templates/translations/moderation-custom/src/main/resources/en_US/config/feature_moderationCustom_en_US.ftl create mode 100644 templates/translations/moderation-custom/src/main/resources/en_US/config/feature_setup_config_modModeNewRoleColor_en_US.ftl create mode 100644 templates/translations/moderation-custom/src/main/resources/en_US/config/feature_setup_config_modModeRoleId_en_US.ftl create mode 100644 templates/translations/moderation-custom/src/main/resources/en_US/exception/mod_role_not_found_exception_en_US.ftl diff --git a/application/executable/pom.xml b/application/executable/pom.xml index 298a5bb..bbff2c4 100644 --- a/application/executable/pom.xml +++ b/application/executable/pom.xml @@ -125,6 +125,11 @@ logging-impl + + dev.sheldan.abstracto.modules + anti-raid-impl + + dev.sheldan.abstracto.modules invite-filter-impl @@ -156,6 +161,12 @@ ${project.version} + + dev.sheldan.oneplus.bot.application.custom + moderation-custom + ${project.version} + + dev.sheldan.oneplus.bot.application.modules news diff --git a/application/oneplus-bot-customizations/moderation-custom/pom.xml b/application/oneplus-bot-customizations/moderation-custom/pom.xml new file mode 100644 index 0000000..cb9bcfd --- /dev/null +++ b/application/oneplus-bot-customizations/moderation-custom/pom.xml @@ -0,0 +1,50 @@ + + + + oneplus-bot-customizations + dev.sheldan.oneplus.bot.application.custom + 1.5.2-SNAPSHOT + + 4.0.0 + + moderation-custom + + + 8 + 8 + + + + + + dev.sheldan.abstracto.modules + moderation-int + ${abstracto.version} + + + + + + + maven-assembly-plugin + + + src/main/assembly/liquibase.xml + + + + + make-assembly + package + + single + + + + + + + + \ No newline at end of file diff --git a/application/oneplus-bot-customizations/moderation-custom/src/main/assembly/liquibase.xml b/application/oneplus-bot-customizations/moderation-custom/src/main/assembly/liquibase.xml new file mode 100644 index 0000000..8b4774f --- /dev/null +++ b/application/oneplus-bot-customizations/moderation-custom/src/main/assembly/liquibase.xml @@ -0,0 +1,18 @@ + + liquibase + + zip + + false + + + . + ${project.basedir}/src/main/resources/migrations + + **/* + + + + \ No newline at end of file diff --git a/application/oneplus-bot-customizations/moderation-custom/src/main/java/dev/sheldan/oneplus/bot/custom/moderation/commands/ModMode.java b/application/oneplus-bot-customizations/moderation-custom/src/main/java/dev/sheldan/oneplus/bot/custom/moderation/commands/ModMode.java new file mode 100644 index 0000000..7316f8e --- /dev/null +++ b/application/oneplus-bot-customizations/moderation-custom/src/main/java/dev/sheldan/oneplus/bot/custom/moderation/commands/ModMode.java @@ -0,0 +1,52 @@ +package dev.sheldan.oneplus.bot.custom.moderation.commands; + +import dev.sheldan.abstracto.core.command.condition.AbstractConditionableCommand; +import dev.sheldan.abstracto.core.command.config.CommandConfiguration; +import dev.sheldan.abstracto.core.command.config.HelpInfo; +import dev.sheldan.abstracto.core.command.config.Parameter; +import dev.sheldan.abstracto.core.command.execution.CommandContext; +import dev.sheldan.abstracto.core.command.execution.CommandResult; +import dev.sheldan.abstracto.core.config.FeatureDefinition; +import dev.sheldan.abstracto.moderation.config.ModerationModuleDefinition; +import dev.sheldan.oneplus.bot.custom.moderation.config.ModerationCustomFeatureDefinition; +import dev.sheldan.oneplus.bot.custom.moderation.service.ModModeServiceBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.Collections; +import java.util.concurrent.CompletableFuture; + +@Component +public class ModMode extends AbstractConditionableCommand { + + @Autowired + private ModModeServiceBean modModeServiceBean; + + @Override + public CompletableFuture executeAsync(CommandContext commandContext) { + Boolean newState = (Boolean) commandContext.getParameters().getParameters().get(0); + return modModeServiceBean.setModModeTo(commandContext.getGuild(), newState) + .thenApply(unused -> CommandResult.fromSuccess()); + } + + @Override + public CommandConfiguration getConfiguration() { + Parameter newStateParameter = Parameter.builder().name("newState").templated(true).type(Boolean.class).build(); + HelpInfo helpInfo = HelpInfo.builder().templated(true).build(); + return CommandConfiguration.builder() + .name("modMode") + .async(true) + .module(ModerationModuleDefinition.MODERATION) + .parameters(Collections.singletonList(newStateParameter)) + .help(helpInfo) + .templated(true) + .supportsEmbedException(true) + .causesReaction(true) + .build(); + } + + @Override + public FeatureDefinition getFeature() { + return ModerationCustomFeatureDefinition.MODERATION_CUSTOM; + } +} diff --git a/application/oneplus-bot-customizations/moderation-custom/src/main/java/dev/sheldan/oneplus/bot/custom/moderation/config/ModerationCustomFeature.java b/application/oneplus-bot-customizations/moderation-custom/src/main/java/dev/sheldan/oneplus/bot/custom/moderation/config/ModerationCustomFeature.java new file mode 100644 index 0000000..20308e2 --- /dev/null +++ b/application/oneplus-bot-customizations/moderation-custom/src/main/java/dev/sheldan/oneplus/bot/custom/moderation/config/ModerationCustomFeature.java @@ -0,0 +1,35 @@ +package dev.sheldan.oneplus.bot.custom.moderation.config; + +import dev.sheldan.abstracto.core.config.FeatureConfig; +import dev.sheldan.abstracto.core.config.FeatureDefinition; +import dev.sheldan.abstracto.moderation.config.feature.ModerationFeatureConfig; +import dev.sheldan.oneplus.bot.custom.moderation.service.ModModeServiceBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.Arrays; +import java.util.List; + + +@Component +public class ModerationCustomFeature implements FeatureConfig { + + @Autowired + private ModerationFeatureConfig moderationFeatureConfig; + + @Override + public FeatureDefinition getFeature() { + return ModerationCustomFeatureDefinition.MODERATION_CUSTOM; + } + + @Override + public List getRequiredFeatures() { + return Arrays.asList(moderationFeatureConfig); + } + + @Override + public List getRequiredSystemConfigKeys() { + return Arrays.asList(ModModeServiceBean.MODMODE_ROLE_CONFIG_KEY, + ModModeServiceBean.MODMODE_CHANGED_ROLE_COLOR_CONFIG_KEY); + } +} diff --git a/application/oneplus-bot-customizations/moderation-custom/src/main/java/dev/sheldan/oneplus/bot/custom/moderation/config/ModerationCustomFeatureDefinition.java b/application/oneplus-bot-customizations/moderation-custom/src/main/java/dev/sheldan/oneplus/bot/custom/moderation/config/ModerationCustomFeatureDefinition.java new file mode 100644 index 0000000..abda7b4 --- /dev/null +++ b/application/oneplus-bot-customizations/moderation-custom/src/main/java/dev/sheldan/oneplus/bot/custom/moderation/config/ModerationCustomFeatureDefinition.java @@ -0,0 +1,15 @@ +package dev.sheldan.oneplus.bot.custom.moderation.config; + +import dev.sheldan.abstracto.core.config.FeatureDefinition; +import lombok.Getter; + +@Getter +public enum ModerationCustomFeatureDefinition implements FeatureDefinition { + MODERATION_CUSTOM("moderationCustom"); + + private String key; + + ModerationCustomFeatureDefinition(String key) { + this.key = key; + } +} \ No newline at end of file diff --git a/application/oneplus-bot-customizations/moderation-custom/src/main/java/dev/sheldan/oneplus/bot/custom/moderation/config/ModerationCustomProperties.java b/application/oneplus-bot-customizations/moderation-custom/src/main/java/dev/sheldan/oneplus/bot/custom/moderation/config/ModerationCustomProperties.java new file mode 100644 index 0000000..464103e --- /dev/null +++ b/application/oneplus-bot-customizations/moderation-custom/src/main/java/dev/sheldan/oneplus/bot/custom/moderation/config/ModerationCustomProperties.java @@ -0,0 +1,10 @@ +package dev.sheldan.oneplus.bot.custom.moderation.config; + +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.PropertySource; + +@Configuration +@PropertySource("classpath:moderation-custom.properties") +public class ModerationCustomProperties { + +} diff --git a/application/oneplus-bot-customizations/moderation-custom/src/main/java/dev/sheldan/oneplus/bot/custom/moderation/exception/ModRoleNotFoundException.java b/application/oneplus-bot-customizations/moderation-custom/src/main/java/dev/sheldan/oneplus/bot/custom/moderation/exception/ModRoleNotFoundException.java new file mode 100644 index 0000000..06fb3a0 --- /dev/null +++ b/application/oneplus-bot-customizations/moderation-custom/src/main/java/dev/sheldan/oneplus/bot/custom/moderation/exception/ModRoleNotFoundException.java @@ -0,0 +1,15 @@ +package dev.sheldan.oneplus.bot.custom.moderation.exception; + +import dev.sheldan.abstracto.core.exception.AbstractoTemplatableException; + +public class ModRoleNotFoundException extends AbstractoTemplatableException { + @Override + public String getTemplateName() { + return "mod_role_not_found_exception"; + } + + @Override + public Object getTemplateModel() { + return new Object(); + } +} diff --git a/application/oneplus-bot-customizations/moderation-custom/src/main/java/dev/sheldan/oneplus/bot/custom/moderation/service/ModModeServiceBean.java b/application/oneplus-bot-customizations/moderation-custom/src/main/java/dev/sheldan/oneplus/bot/custom/moderation/service/ModModeServiceBean.java new file mode 100644 index 0000000..f8b47b0 --- /dev/null +++ b/application/oneplus-bot-customizations/moderation-custom/src/main/java/dev/sheldan/oneplus/bot/custom/moderation/service/ModModeServiceBean.java @@ -0,0 +1,55 @@ +package dev.sheldan.oneplus.bot.custom.moderation.service; + +import dev.sheldan.abstracto.core.service.ConfigService; +import dev.sheldan.oneplus.bot.custom.moderation.exception.ModRoleNotFoundException; +import lombok.extern.slf4j.Slf4j; +import net.dv8tion.jda.api.entities.Guild; +import net.dv8tion.jda.api.entities.Role; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.awt.*; +import java.util.concurrent.CompletableFuture; + +@Component +@Slf4j +public class ModModeServiceBean { + public static final String MODMODE_ROLE_CONFIG_KEY = "modModeRoleId"; + public static final String MODMODE_CHANGED_ROLE_COLOR_CONFIG_KEY = "modModeNewRoleColor"; + + @Autowired + private ConfigService configService; + + public CompletableFuture setModModeTo(Guild guild, Boolean newState) { + if(Boolean.TRUE.equals(newState)) { + return enableModMode(guild); + } else { + return disableModMoe(guild); + } + } + + private CompletableFuture enableModMode(Guild guild) { + Color colorToSet = getColorFromConfig(MODMODE_CHANGED_ROLE_COLOR_CONFIG_KEY, guild); + return setModRoleTo(guild, colorToSet); + } + + private CompletableFuture disableModMoe(Guild guild) { + return setModRoleTo(guild, null); + } + + private Color getColorFromConfig(String key, Guild guild) { + String colorString = configService.getStringValueOrConfigDefault(key, guild.getIdLong()); + String[] parts = colorString.split(","); + return new Color(Integer.parseInt(parts[0]), Integer.parseInt(parts[1]), Integer.parseInt(parts[2])); + } + + private CompletableFuture setModRoleTo(Guild guild, Color color) { + Long roleId = configService.getLongValue(MODMODE_ROLE_CONFIG_KEY, guild.getIdLong()); + Role modRole = guild.getRoleById(roleId); + if(modRole != null) { + return modRole.getManager().setColor(color).submit(); + } else { + throw new ModRoleNotFoundException(); + } + } +} diff --git a/application/oneplus-bot-customizations/moderation-custom/src/main/resources/migrations/1.5.2/collection.xml b/application/oneplus-bot-customizations/moderation-custom/src/main/resources/migrations/1.5.2/collection.xml new file mode 100644 index 0000000..121b5aa --- /dev/null +++ b/application/oneplus-bot-customizations/moderation-custom/src/main/resources/migrations/1.5.2/collection.xml @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/application/oneplus-bot-customizations/moderation-custom/src/main/resources/migrations/1.5.2/seedData/command.xml b/application/oneplus-bot-customizations/moderation-custom/src/main/resources/migrations/1.5.2/seedData/command.xml new file mode 100644 index 0000000..b65afcd --- /dev/null +++ b/application/oneplus-bot-customizations/moderation-custom/src/main/resources/migrations/1.5.2/seedData/command.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/application/oneplus-bot-customizations/moderation-custom/src/main/resources/migrations/1.5.2/seedData/data.xml b/application/oneplus-bot-customizations/moderation-custom/src/main/resources/migrations/1.5.2/seedData/data.xml new file mode 100644 index 0000000..d492a35 --- /dev/null +++ b/application/oneplus-bot-customizations/moderation-custom/src/main/resources/migrations/1.5.2/seedData/data.xml @@ -0,0 +1,11 @@ + + + + + \ No newline at end of file diff --git a/application/oneplus-bot-customizations/moderation-custom/src/main/resources/migrations/1.5.2/seedData/feature.xml b/application/oneplus-bot-customizations/moderation-custom/src/main/resources/migrations/1.5.2/seedData/feature.xml new file mode 100644 index 0000000..6ca36db --- /dev/null +++ b/application/oneplus-bot-customizations/moderation-custom/src/main/resources/migrations/1.5.2/seedData/feature.xml @@ -0,0 +1,14 @@ + + + + + + + + \ No newline at end of file diff --git a/application/oneplus-bot-customizations/moderation-custom/src/main/resources/migrations/dbchangelog.xsd b/application/oneplus-bot-customizations/moderation-custom/src/main/resources/migrations/dbchangelog.xsd new file mode 100644 index 0000000..83483a5 --- /dev/null +++ b/application/oneplus-bot-customizations/moderation-custom/src/main/resources/migrations/dbchangelog.xsd @@ -0,0 +1,1386 @@ + + + + + + + + + + + + + + Extension to standard XSD boolean type to allow ${} parameters + + + + + + + + + + + + + + + + Extension to standard XSD integer type to allow ${} parameters + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + onChangeLogPreconditionOnSqlOutput determines what should + happen when evaluating this precondition in updateSQL mode. TEST: Run + precondition, FAIL: Fail precondition, IGNORE: Skip precondition check + [DEFAULT] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Used with valueClobFile to specify file encoding explicitly. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true for a cycling sequence, false for a non-cycling sequence. + Default is false. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/application/oneplus-bot-customizations/moderation-custom/src/main/resources/migrations/moderation-custom-changeLog.xml b/application/oneplus-bot-customizations/moderation-custom/src/main/resources/migrations/moderation-custom-changeLog.xml new file mode 100644 index 0000000..f79de8a --- /dev/null +++ b/application/oneplus-bot-customizations/moderation-custom/src/main/resources/migrations/moderation-custom-changeLog.xml @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/application/oneplus-bot-customizations/moderation-custom/src/main/resources/moderation-custom.properties b/application/oneplus-bot-customizations/moderation-custom/src/main/resources/moderation-custom.properties new file mode 100644 index 0000000..987ec3a --- /dev/null +++ b/application/oneplus-bot-customizations/moderation-custom/src/main/resources/moderation-custom.properties @@ -0,0 +1,8 @@ +abstracto.featureFlags.moderationCustom.featureName=moderationCustom +abstracto.featureFlags.moderationCustom.enabled=false + +abstracto.systemConfigs.modModeRoleId.name=modModeRoleId +abstracto.systemConfigs.modModeRoleId.longValue=0 + +abstracto.systemConfigs.modModeNewRoleColor.name=modModeNewRoleColor +abstracto.systemConfigs.modModeNewRoleColor.stringValue=0,0,0 \ No newline at end of file diff --git a/application/oneplus-bot-customizations/pom.xml b/application/oneplus-bot-customizations/pom.xml index 85c4248..6e1800d 100644 --- a/application/oneplus-bot-customizations/pom.xml +++ b/application/oneplus-bot-customizations/pom.xml @@ -14,5 +14,6 @@ starboard-custom dynamic-activity-custom + moderation-custom \ No newline at end of file diff --git a/deployment/docker-compose/src/main/resources/.env b/deployment/docker-compose/src/main/resources/.env index e51c24a..7f8eb47 100644 --- a/deployment/docker-compose/src/main/resources/.env +++ b/deployment/docker-compose/src/main/resources/.env @@ -26,4 +26,4 @@ PGADMIN_DEFAULT_EMAIL=sheldan@sheldan.dev PGADMIN_DEFAULT_PASSWORD=admin TOKEN= YOUTUBE_API_KEY= -ONEPLUS_BOT_VERSION=1.5.1 +ONEPLUS_BOT_VERSION=1.5.2 \ No newline at end of file diff --git a/deployment/image-packaging/pom.xml b/deployment/image-packaging/pom.xml index 4341961..af8aca9 100644 --- a/deployment/image-packaging/pom.xml +++ b/deployment/image-packaging/pom.xml @@ -73,6 +73,16 @@ assignable-roles.zip + + dev.sheldan.abstracto-templates.templates + anti-raid + ${abstracto.templates.version} + zip + true + ${file.basedir}/deployment/template-artifacts/ + anti-raid.zip + + dev.sheldan.abstracto-templates.templates voice-channel-context @@ -282,6 +292,16 @@ assignable-roles.zip + + dev.sheldan.abstracto-templates.translations + anti-raid + ${abstracto.templates.version} + zip + true + ${file.basedir}/deployment/translation-artifacts/ + anti-raid.zip + + dev.sheldan.abstracto-templates.translations voice-channel-context @@ -442,6 +462,16 @@ starboard-custom.zip + + dev.sheldan.oneplus.bot.templates.translations + moderation-custom + ${project.version} + zip + true + ${file.basedir}/deployment/translation-artifacts/ + moderation-custom.zip + + dev.sheldan.oneplus.bot.templates.translations dynamic-activity-custom-translations @@ -527,6 +557,17 @@ assignable-roles.zip + + dev.sheldan.abstracto.modules + anti-raid-impl + ${abstracto.version} + liquibase + zip + true + ${file.basedir}/deployment/liquibase-artifacts/ + anti-raid.zip + + dev.sheldan.abstracto.modules voice-channel-context-impl @@ -727,6 +768,17 @@ starboard-custom.zip + + dev.sheldan.oneplus.bot.application.custom + moderation-custom + ${project.version} + liquibase + zip + true + ${file.basedir}/deployment/liquibase-artifacts/ + moderation-custom.zip + + dev.sheldan.oneplus.bot.application.custom dynamic-activity-custom diff --git a/deployment/image-packaging/src/main/docker/deployment/config/artifact_versions.json b/deployment/image-packaging/src/main/docker/deployment/config/artifact_versions.json index 1af5557..8e6b762 100644 --- a/deployment/image-packaging/src/main/docker/deployment/config/artifact_versions.json +++ b/deployment/image-packaging/src/main/docker/deployment/config/artifact_versions.json @@ -1,15 +1,15 @@ { "template_artifacts": ["utility", "core", "entertainment", "starboard", "link-embed", "webservices", "remind", "logging", "suggestion", "invite-filter", "profanity-filter", "statistic", "experience-tracking", "moderation", "modmail", "assignable-roles", - "voice-channel-context", + "voice-channel-context", "anti-raid", "starboard-custom", "overrides-templates-webservices", "overrides-templates-core", "overrides-templates-logging", "overrides-templates-statistic", "overrides-templates-modmail", "overrides-templates-moderation", "news", "referral", "faq"], "translation_artifacts": ["utility", "core", "entertainment", "starboard", "link-embed", "webservices", "suggestion", "remind", "logging", "invite-filter", "profanity-filter", "statistic", "experience-tracking", "moderation", "modmail", "assignable-roles", - "voice-channel-context", - "starboard-custom", "dynamic-activity-custom-translations", + "voice-channel-context", "anti-raid", + "starboard-custom", "dynamic-activity-custom-translations", "moderation-custom", "overrides-translation-moderation", "news", "setup", "referral", "faq"], "liquibase_artifacts": [ @@ -31,10 +31,12 @@ { "zip": "modmail", "file": "modMail-changeLog.xml"}, { "zip": "assignable-roles", "file": "assignableRoles-changeLog.xml"}, { "zip": "voice-channel-context", "file": "voiceChannelContext-changeLog.xml"}, + { "zip": "anti-raid", "file": "antiRaid-changeLog.xml"}, { "zip": "dynamic-activity", "file": "dynamicActivity-changeLog.xml"}, { "zip": "setup", "file": "setup-changeLog.xml"}, { "zip": "referral", "file": "referral-changeLog.xml"}, { "zip": "starboard-custom", "file": "starboard-custom-changeLog.xml"}, + { "zip": "moderation-custom", "file": "moderation-custom-changeLog.xml"}, { "zip": "dynamic-activity-custom", "file": "dynamicActivity-custom-changeLog.xml"}, { "zip": "news", "file": "news-changeLog.xml"}, { "zip": "faq", "file": "faq-changeLog.xml"} diff --git a/pom.xml b/pom.xml index 0c5ac5b..e2e80fd 100644 --- a/pom.xml +++ b/pom.xml @@ -19,8 +19,8 @@ 1.8 - 1.3.2 - 1.2.15 + 1.3.3-SNAPSHOT + 1.2.16-SNAPSHOT diff --git a/templates/translations/moderation-custom/pom.xml b/templates/translations/moderation-custom/pom.xml new file mode 100644 index 0000000..386342d --- /dev/null +++ b/templates/translations/moderation-custom/pom.xml @@ -0,0 +1,38 @@ + + + + translations + dev.sheldan.oneplus.bot.templates.translations + 1.5.2-SNAPSHOT + + 4.0.0 + + moderation-custom + + + + + org.apache.maven.plugins + maven-assembly-plugin + + + package + + single + + + moderation-custom-translations-${project.version} + false + + src/main/assembly/assembly.xml + + + + + + + + + \ No newline at end of file diff --git a/templates/translations/moderation-custom/src/main/assembly/assembly.xml b/templates/translations/moderation-custom/src/main/assembly/assembly.xml new file mode 100644 index 0000000..aca1e51 --- /dev/null +++ b/templates/translations/moderation-custom/src/main/assembly/assembly.xml @@ -0,0 +1,15 @@ + + zip + false + + zip + + + + . + ${project.basedir}/src/main/resources + + + \ No newline at end of file diff --git a/templates/translations/moderation-custom/src/main/resources/en_US/commands/modMode/help/modMode_description_en_US.ftl b/templates/translations/moderation-custom/src/main/resources/en_US/commands/modMode/help/modMode_description_en_US.ftl new file mode 100644 index 0000000..ad54565 --- /dev/null +++ b/templates/translations/moderation-custom/src/main/resources/en_US/commands/modMode/help/modMode_description_en_US.ftl @@ -0,0 +1 @@ +Switches the moderation role to a different color \ No newline at end of file diff --git a/templates/translations/moderation-custom/src/main/resources/en_US/commands/modMode/help/modMode_long_help_en_US.ftl b/templates/translations/moderation-custom/src/main/resources/en_US/commands/modMode/help/modMode_long_help_en_US.ftl new file mode 100644 index 0000000..e69de29 diff --git a/templates/translations/moderation-custom/src/main/resources/en_US/commands/modMode/help/modMode_parameter_newState_help_en_US.ftl b/templates/translations/moderation-custom/src/main/resources/en_US/commands/modMode/help/modMode_parameter_newState_help_en_US.ftl new file mode 100644 index 0000000..e69de29 diff --git a/templates/translations/moderation-custom/src/main/resources/en_US/config/feature_moderationCustom_en_US.ftl b/templates/translations/moderation-custom/src/main/resources/en_US/config/feature_moderationCustom_en_US.ftl new file mode 100644 index 0000000..d63d4c1 --- /dev/null +++ b/templates/translations/moderation-custom/src/main/resources/en_US/config/feature_moderationCustom_en_US.ftl @@ -0,0 +1 @@ +Custom moderation \ No newline at end of file diff --git a/templates/translations/moderation-custom/src/main/resources/en_US/config/feature_setup_config_modModeNewRoleColor_en_US.ftl b/templates/translations/moderation-custom/src/main/resources/en_US/config/feature_setup_config_modModeNewRoleColor_en_US.ftl new file mode 100644 index 0000000..3b44980 --- /dev/null +++ b/templates/translations/moderation-custom/src/main/resources/en_US/config/feature_setup_config_modModeNewRoleColor_en_US.ftl @@ -0,0 +1 @@ +The color the moderation role should take when mod mode is active. Default: ${defaultValue} \ No newline at end of file diff --git a/templates/translations/moderation-custom/src/main/resources/en_US/config/feature_setup_config_modModeRoleId_en_US.ftl b/templates/translations/moderation-custom/src/main/resources/en_US/config/feature_setup_config_modModeRoleId_en_US.ftl new file mode 100644 index 0000000..aaf8b5b --- /dev/null +++ b/templates/translations/moderation-custom/src/main/resources/en_US/config/feature_setup_config_modModeRoleId_en_US.ftl @@ -0,0 +1 @@ +The ID of the moderation role. Default: ${defaultValue} \ No newline at end of file diff --git a/templates/translations/moderation-custom/src/main/resources/en_US/exception/mod_role_not_found_exception_en_US.ftl b/templates/translations/moderation-custom/src/main/resources/en_US/exception/mod_role_not_found_exception_en_US.ftl new file mode 100644 index 0000000..64ae31c --- /dev/null +++ b/templates/translations/moderation-custom/src/main/resources/en_US/exception/mod_role_not_found_exception_en_US.ftl @@ -0,0 +1 @@ +Moderation role was not configured correctly. Role could not be found. Setup the feature. \ No newline at end of file diff --git a/templates/translations/pom.xml b/templates/translations/pom.xml index 78d7f27..16c6ac6 100644 --- a/templates/translations/pom.xml +++ b/templates/translations/pom.xml @@ -17,5 +17,6 @@ referral-translations faq-translations dynamic-activity-custom-translations + moderation-custom \ No newline at end of file