mirror of
https://github.com/Sheldan/Sissi.git
synced 2026-01-07 01:38:27 +00:00
[SIS-8] creating modmode customization
enabling entertainment and custom command module
This commit is contained in:
@@ -80,6 +80,16 @@
|
||||
<artifactId>moderation-impl</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>dev.sheldan.abstracto.modules</groupId>
|
||||
<artifactId>entertainment-impl</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>dev.sheldan.abstracto.modules</groupId>
|
||||
<artifactId>custom-command-impl</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- sissi modules -->
|
||||
|
||||
<dependency>
|
||||
|
||||
@@ -0,0 +1,95 @@
|
||||
package dev.sheldan.sissi.module.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.core.interaction.InteractionService;
|
||||
import dev.sheldan.abstracto.core.interaction.slash.SlashCommandConfig;
|
||||
import dev.sheldan.abstracto.core.interaction.slash.parameter.SlashCommandParameterService;
|
||||
import dev.sheldan.abstracto.moderation.config.ModerationModuleDefinition;
|
||||
import dev.sheldan.sissi.module.custom.moderation.config.ModerationCustomFeatureDefinition;
|
||||
import dev.sheldan.sissi.module.custom.moderation.config.ModerationCustomSlashCommandNames;
|
||||
import dev.sheldan.sissi.module.custom.moderation.service.ModModeServiceBean;
|
||||
import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
|
||||
@Component
|
||||
public class ModMode extends AbstractConditionableCommand {
|
||||
|
||||
public static final String NEW_STATE_PARAMETER = "newState";
|
||||
public static final String MOD_MODE_COMMAND = "modMode";
|
||||
public static final String MOD_MODE_RESPONSE = "modMode_response";
|
||||
|
||||
@Autowired
|
||||
private ModModeServiceBean modModeServiceBean;
|
||||
|
||||
@Autowired
|
||||
private SlashCommandParameterService slashCommandParameterService;
|
||||
|
||||
@Autowired
|
||||
private InteractionService interactionService;
|
||||
|
||||
@Override
|
||||
public CompletableFuture<CommandResult> executeAsync(CommandContext commandContext) {
|
||||
Boolean newState = (Boolean) commandContext.getParameters().getParameters().get(0);
|
||||
return modModeServiceBean.setModModeTo(commandContext.getGuild(), newState)
|
||||
.thenApply(unused -> CommandResult.fromSuccess());
|
||||
}
|
||||
|
||||
@Override
|
||||
public CompletableFuture<CommandResult> executeSlash(SlashCommandInteractionEvent event) {
|
||||
Boolean newState = slashCommandParameterService.getCommandOption(NEW_STATE_PARAMETER, event, Boolean.class);
|
||||
return modModeServiceBean.setModModeTo(event.getGuild(), newState)
|
||||
.thenApply(unused -> interactionService.replyEmbed(MOD_MODE_RESPONSE, event))
|
||||
.thenApply(interactionHookCompletableFuture -> CommandResult.fromSuccess());
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommandConfiguration getConfiguration() {
|
||||
|
||||
Parameter memberParameter = Parameter
|
||||
.builder()
|
||||
.templated(true)
|
||||
.name(NEW_STATE_PARAMETER)
|
||||
.type(Boolean.class)
|
||||
.build();
|
||||
List<Parameter> parameters = Collections.singletonList(memberParameter);
|
||||
HelpInfo helpInfo = HelpInfo
|
||||
.builder()
|
||||
.templated(true)
|
||||
.build();
|
||||
|
||||
SlashCommandConfig slashCommandConfig = SlashCommandConfig
|
||||
.builder()
|
||||
.enabled(true)
|
||||
.rootCommandName(ModerationCustomSlashCommandNames.MODERATION)
|
||||
.commandName(MOD_MODE_COMMAND)
|
||||
.build();
|
||||
|
||||
return CommandConfiguration.builder()
|
||||
.name(MOD_MODE_COMMAND)
|
||||
.async(true)
|
||||
.slashCommandConfig(slashCommandConfig)
|
||||
.module(ModerationModuleDefinition.MODERATION)
|
||||
.parameters(parameters)
|
||||
.help(helpInfo)
|
||||
.templated(true)
|
||||
.supportsEmbedException(true)
|
||||
.causesReaction(true)
|
||||
.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeatureDefinition getFeature() {
|
||||
return ModerationCustomFeatureDefinition.MODERATION_CUSTOM;
|
||||
}
|
||||
}
|
||||
@@ -1,15 +1,16 @@
|
||||
package dev.sheldan.sissi.module.costum.config;
|
||||
package dev.sheldan.sissi.module.custom.moderation.config;
|
||||
|
||||
import dev.sheldan.abstracto.core.config.FeatureConfig;
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.moderation.config.feature.ReportReactionFeatureConfig;
|
||||
import dev.sheldan.sissi.module.custom.moderation.service.ModModeServiceBean;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import static dev.sheldan.sissi.module.costum.listener.ReactionReportReactionListener.REACTION_REPORT_REACTION_AMOUNT_CONFIG_KEY;
|
||||
import static dev.sheldan.sissi.module.custom.moderation.listener.ReactionReportReactionListener.REACTION_REPORT_REACTION_AMOUNT_CONFIG_KEY;
|
||||
|
||||
@Component
|
||||
public class ModerationCustomFeature implements FeatureConfig {
|
||||
@@ -29,6 +30,7 @@ public class ModerationCustomFeature implements FeatureConfig {
|
||||
|
||||
@Override
|
||||
public List<String> getRequiredSystemConfigKeys() {
|
||||
return Arrays.asList(REACTION_REPORT_REACTION_AMOUNT_CONFIG_KEY);
|
||||
return Arrays.asList(REACTION_REPORT_REACTION_AMOUNT_CONFIG_KEY, ModModeServiceBean.MODMODE_ROLE_CONFIG_KEY,
|
||||
ModModeServiceBean.MODMODE_CHANGED_ROLE_COLOR_CONFIG_KEY);
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package dev.sheldan.sissi.module.costum.config;
|
||||
package dev.sheldan.sissi.module.custom.moderation.config;
|
||||
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import lombok.Getter;
|
||||
@@ -1,4 +1,4 @@
|
||||
package dev.sheldan.sissi.module.costum.config;
|
||||
package dev.sheldan.sissi.module.custom.moderation.config;
|
||||
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.PropertySource;
|
||||
@@ -0,0 +1,5 @@
|
||||
package dev.sheldan.sissi.module.custom.moderation.config;
|
||||
|
||||
public class ModerationCustomSlashCommandNames {
|
||||
public static final String MODERATION = "moderation";
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package dev.sheldan.sissi.module.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();
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package dev.sheldan.sissi.module.costum.listener;
|
||||
package dev.sheldan.sissi.module.custom.moderation.listener;
|
||||
|
||||
import dev.sheldan.abstracto.core.config.FeatureDefinition;
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
@@ -6,7 +6,7 @@ import dev.sheldan.abstracto.core.service.ConfigService;
|
||||
import dev.sheldan.abstracto.core.service.ReactionService;
|
||||
import dev.sheldan.abstracto.moderation.listener.ReportMessageCreatedListener;
|
||||
import dev.sheldan.abstracto.moderation.model.listener.ReportMessageCreatedModel;
|
||||
import dev.sheldan.sissi.module.costum.config.ModerationCustomFeatureDefinition;
|
||||
import dev.sheldan.sissi.module.custom.moderation.config.ModerationCustomFeatureDefinition;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -0,0 +1,55 @@
|
||||
package dev.sheldan.sissi.module.custom.moderation.service;
|
||||
|
||||
import dev.sheldan.abstracto.core.service.ConfigService;
|
||||
import dev.sheldan.sissi.module.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<Void> setModModeTo(Guild guild, Boolean newState) {
|
||||
if(Boolean.TRUE.equals(newState)) {
|
||||
return enableModMode(guild);
|
||||
} else {
|
||||
return disableModMoe(guild);
|
||||
}
|
||||
}
|
||||
|
||||
private CompletableFuture<Void> enableModMode(Guild guild) {
|
||||
Color colorToSet = getColorFromConfig(MODMODE_CHANGED_ROLE_COLOR_CONFIG_KEY, guild);
|
||||
return setModRoleTo(guild, colorToSet);
|
||||
}
|
||||
|
||||
private CompletableFuture<Void> 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<Void> 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
|
||||
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
|
||||
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
|
||||
xmlns:pro="http://www.liquibase.org/xml/ns/pro"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog dbchangelog.xsd
|
||||
http://www.liquibase.org/xml/ns/dbchangelog-ext dbchangelog.xsd
|
||||
http://www.liquibase.org/xml/ns/pro dbchangelog.xsd" >
|
||||
<include file="seedData/data.xml" relativeToChangelogFile="true"/>
|
||||
</databaseChangeLog>
|
||||
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
|
||||
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
|
||||
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
|
||||
xmlns:pro="http://www.liquibase.org/xml/ns/pro"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog dbchangelog.xsd
|
||||
http://www.liquibase.org/xml/ns/dbchangelog-ext dbchangelog.xsd
|
||||
http://www.liquibase.org/xml/ns/pro dbchangelog.xsd" >
|
||||
<property name="moderationCustomFeature" value="(SELECT id FROM feature WHERE key = 'moderationCustom')"/>
|
||||
<property name="moderationModule" value="(SELECT id FROM module WHERE name = 'moderation')"/>
|
||||
<changeSet author="Sheldan" id="moderationCustom_modmode-commands">
|
||||
<insert tableName="command">
|
||||
<column name="name" value="modMode"/>
|
||||
<column name="module_id" valueComputed="${moderationModule}"/>
|
||||
<column name="feature_id" valueComputed="${moderationCustomFeature}"/>
|
||||
</insert>
|
||||
</changeSet>
|
||||
</databaseChangeLog>
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
|
||||
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
|
||||
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
|
||||
xmlns:pro="http://www.liquibase.org/xml/ns/pro"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog dbchangelog.xsd
|
||||
http://www.liquibase.org/xml/ns/dbchangelog-ext dbchangelog.xsd
|
||||
http://www.liquibase.org/xml/ns/pro dbchangelog.xsd" >
|
||||
<include file="command.xml" relativeToChangelogFile="true"/>
|
||||
</databaseChangeLog>
|
||||
@@ -7,4 +7,5 @@
|
||||
http://www.liquibase.org/xml/ns/dbchangelog-ext dbchangelog.xsd
|
||||
http://www.liquibase.org/xml/ns/pro dbchangelog.xsd" >
|
||||
<include file="1.1.0/collection.xml" relativeToChangelogFile="true"/>
|
||||
<include file="1.2.1/collection.xml" relativeToChangelogFile="true"/>
|
||||
</databaseChangeLog>
|
||||
@@ -4,3 +4,8 @@ abstracto.featureFlags.moderationCustom.enabled=false
|
||||
abstracto.systemConfigs.reportReactionAmount.name=reportReactionAmount
|
||||
abstracto.systemConfigs.reportReactionAmount.longValue=5
|
||||
|
||||
abstracto.systemConfigs.modModeRoleId.name=modModeRoleId
|
||||
abstracto.systemConfigs.modModeRoleId.longValue=0
|
||||
|
||||
abstracto.systemConfigs.modModeNewRoleColor.name=modModeNewRoleColor
|
||||
abstracto.systemConfigs.modModeNewRoleColor.stringValue=0,0,0
|
||||
@@ -83,6 +83,26 @@
|
||||
<destFileName>moderation.zip</destFileName>
|
||||
</artifactItem>
|
||||
|
||||
<artifactItem>
|
||||
<groupId>dev.sheldan.abstracto-templates.templates</groupId>
|
||||
<artifactId>entertainment</artifactId>
|
||||
<version>${abstracto.templates.version}</version>
|
||||
<type>zip</type>
|
||||
<overWrite>true</overWrite>
|
||||
<outputDirectory>${file.basedir}/deployment/template-artifacts/</outputDirectory>
|
||||
<destFileName>entertainment.zip</destFileName>
|
||||
</artifactItem>
|
||||
|
||||
<artifactItem>
|
||||
<groupId>dev.sheldan.abstracto-templates.templates</groupId>
|
||||
<artifactId>custom-command</artifactId>
|
||||
<version>${abstracto.templates.version}</version>
|
||||
<type>zip</type>
|
||||
<overWrite>true</overWrite>
|
||||
<outputDirectory>${file.basedir}/deployment/template-artifacts/</outputDirectory>
|
||||
<destFileName>custom-command.zip</destFileName>
|
||||
</artifactItem>
|
||||
|
||||
<!-- sissi template artefacts -->
|
||||
<artifactItem>
|
||||
<groupId>dev.sheldan.sissi.templates</groupId>
|
||||
@@ -104,6 +124,18 @@
|
||||
<destFileName>meetup.zip</destFileName>
|
||||
</artifactItem>
|
||||
|
||||
<!-- sissi template customizations -->
|
||||
|
||||
<artifactItem>
|
||||
<groupId>dev.sheldan.sissi.templates</groupId>
|
||||
<artifactId>moderation-customization-templates</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<type>zip</type>
|
||||
<overWrite>true</overWrite>
|
||||
<outputDirectory>${file.basedir}/deployment/template-artifacts/</outputDirectory>
|
||||
<destFileName>moderation-custom.zip</destFileName>
|
||||
</artifactItem>
|
||||
|
||||
<!-- abstracto translation artefacts -->
|
||||
|
||||
<artifactItem>
|
||||
@@ -146,6 +178,26 @@
|
||||
<destFileName>moderation.zip</destFileName>
|
||||
</artifactItem>
|
||||
|
||||
<artifactItem>
|
||||
<groupId>dev.sheldan.abstracto-templates.translations</groupId>
|
||||
<artifactId>entertainment</artifactId>
|
||||
<version>${abstracto.templates.version}</version>
|
||||
<type>zip</type>
|
||||
<overWrite>true</overWrite>
|
||||
<outputDirectory>${file.basedir}/deployment/translation-artifacts/</outputDirectory>
|
||||
<destFileName>entertainment.zip</destFileName>
|
||||
</artifactItem>
|
||||
|
||||
<artifactItem>
|
||||
<groupId>dev.sheldan.abstracto-templates.translations</groupId>
|
||||
<artifactId>custom-command</artifactId>
|
||||
<version>${abstracto.templates.version}</version>
|
||||
<type>zip</type>
|
||||
<overWrite>true</overWrite>
|
||||
<outputDirectory>${file.basedir}/deployment/translation-artifacts/</outputDirectory>
|
||||
<destFileName>custom-command.zip</destFileName>
|
||||
</artifactItem>
|
||||
|
||||
<!-- sissi translation artefacts -->
|
||||
|
||||
<artifactItem>
|
||||
@@ -226,6 +278,28 @@
|
||||
<destFileName>moderation.zip</destFileName>
|
||||
</artifactItem>
|
||||
|
||||
<artifactItem>
|
||||
<groupId>dev.sheldan.abstracto.modules</groupId>
|
||||
<artifactId>entertainment-impl</artifactId>
|
||||
<version>${abstracto.version}</version>
|
||||
<classifier>liquibase</classifier>
|
||||
<type>zip</type>
|
||||
<overWrite>true</overWrite>
|
||||
<outputDirectory>${file.basedir}/deployment/liquibase-artifacts/</outputDirectory>
|
||||
<destFileName>entertainment.zip</destFileName>
|
||||
</artifactItem>
|
||||
|
||||
<artifactItem>
|
||||
<groupId>dev.sheldan.abstracto.modules</groupId>
|
||||
<artifactId>custom-command-impl</artifactId>
|
||||
<version>${abstracto.version}</version>
|
||||
<classifier>liquibase</classifier>
|
||||
<type>zip</type>
|
||||
<overWrite>true</overWrite>
|
||||
<outputDirectory>${file.basedir}/deployment/liquibase-artifacts/</outputDirectory>
|
||||
<destFileName>custom-command.zip</destFileName>
|
||||
</artifactItem>
|
||||
|
||||
<!-- sissi liquibase artifacts -->
|
||||
|
||||
<artifactItem>
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
{
|
||||
"template_artifacts": [
|
||||
"core","starboard", "link-embed", "moderation",
|
||||
"core","starboard", "link-embed", "moderation", "entertainment", "custom-command",
|
||||
"quotes", "meetup",
|
||||
"moderation-custom",
|
||||
"moderation-template-overrides"
|
||||
],
|
||||
"translation_artifacts": [
|
||||
"core",
|
||||
"starboard", "link-embed", "moderation",
|
||||
"starboard", "link-embed", "moderation", "entertainment", "custom-command",
|
||||
"quotes", "meetup",
|
||||
"moderation-custom",
|
||||
"moderation-translation-overrides"
|
||||
@@ -19,6 +20,8 @@
|
||||
{ "zip": "quotes", "file": "quotes-changeLog.xml"},
|
||||
{ "zip": "meetup", "file": "meetup-changeLog.xml"},
|
||||
{ "zip": "moderation", "file": "moderation-changeLog.xml"},
|
||||
{ "zip": "entertainment", "file": "entertainment-changeLog.xml"},
|
||||
{ "zip": "custom-command", "file": "custom-command-changeLog.xml"},
|
||||
{ "zip": "moderation-custom", "file": "moderation-custom-changeLog.xml"}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<groupId>dev.sheldan.sissi.templates</groupId>
|
||||
<artifactId>customization-templates</artifactId>
|
||||
<version>1.2.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>moderation-customization-templates</artifactId>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-assembly-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>single</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<finalName>moderation-customization-templates-${project.version}</finalName>
|
||||
<appendAssemblyId>false</appendAssemblyId>
|
||||
<descriptors>
|
||||
<descriptor>src/main/assembly/assembly.xml</descriptor>
|
||||
</descriptors>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
@@ -0,0 +1,15 @@
|
||||
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
|
||||
<id>zip</id>
|
||||
<includeBaseDirectory>false</includeBaseDirectory>
|
||||
<formats>
|
||||
<format>zip</format>
|
||||
</formats>
|
||||
<fileSets>
|
||||
<fileSet>
|
||||
<outputDirectory>.</outputDirectory>
|
||||
<directory>${project.basedir}/src/main/resources</directory>
|
||||
</fileSet>
|
||||
</fileSets>
|
||||
</assembly>
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"additionalMessage": "<@safe_include "modMode_response_text"/>",
|
||||
"messageConfig": {
|
||||
"ephemeral": true
|
||||
}
|
||||
}
|
||||
19
templates/sissi-templates/customization-templates/pom.xml
Normal file
19
templates/sissi-templates/customization-templates/pom.xml
Normal file
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<artifactId>sissi-templates</artifactId>
|
||||
<groupId>dev.sheldan.sissi.templates</groupId>
|
||||
<version>1.2.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>customization-templates</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<modules>
|
||||
<module>moderation-customization-templates</module>
|
||||
</modules>
|
||||
|
||||
|
||||
</project>
|
||||
@@ -13,5 +13,6 @@
|
||||
<modules>
|
||||
<module>module-templates</module>
|
||||
<module>template-overrides</module>
|
||||
<module>customization-templates</module>
|
||||
</modules>
|
||||
</project>
|
||||
@@ -0,0 +1 @@
|
||||
Switches the moderation role to a different color
|
||||
@@ -0,0 +1 @@
|
||||
Changes the colors of the staff role (if enabled) to a defined color. If turned off, it removes the color again.
|
||||
@@ -0,0 +1 @@
|
||||
'true' to enable, anything else to disable.
|
||||
@@ -0,0 +1 @@
|
||||
Modmode has been switched.
|
||||
@@ -0,0 +1 @@
|
||||
The color the moderation role should take when mod mode is active. Default: ${defaultValue}
|
||||
@@ -0,0 +1 @@
|
||||
The ID of the moderation role. Default: ${defaultValue}
|
||||
@@ -0,0 +1 @@
|
||||
Moderation role was not configured correctly. Role could not be found. Setup the feature.
|
||||
Reference in New Issue
Block a user