mirror of
https://github.com/Sheldan/Sissi.git
synced 2026-01-26 19:21:43 +00:00
Compare commits
40 Commits
sissi-1.5.
...
release-20
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
afb11dc74a | ||
|
|
dd5bb63962 | ||
|
|
28da63db37 | ||
|
|
18755afb57 | ||
|
|
ccfb64324e | ||
|
|
d33ce3da6c | ||
|
|
16553e0299 | ||
|
|
dd02b07ff6 | ||
|
|
43e372e07a | ||
|
|
ba42a10122 | ||
|
|
28d68b13c7 | ||
|
|
ea0f1fde15 | ||
|
|
4904980935 | ||
|
|
222e48021f | ||
|
|
c39996f117 | ||
|
|
f90defbc64 | ||
|
|
48c06cf370 | ||
|
|
14d90722b7 | ||
|
|
6c48dd790f | ||
|
|
9e1f7f0263 | ||
|
|
15ec88c03f | ||
|
|
aeb89533e2 | ||
|
|
483d6fde66 | ||
|
|
f95beddffa | ||
|
|
7faafc9ad1 | ||
|
|
1de0cae589 | ||
|
|
dfbf15ad61 | ||
|
|
db271cd448 | ||
|
|
8f289baadd | ||
|
|
2ee5578f4e | ||
|
|
b458d8d3a8 | ||
|
|
f8353ca19b | ||
|
|
023b22b2c2 | ||
|
|
9ada2c39a2 | ||
|
|
d61d378a6a | ||
|
|
09af4b516f | ||
|
|
0e50a7b826 | ||
|
|
d4dc118f66 | ||
|
|
be35a84dcf | ||
|
|
5f6df14c24 |
4
.env
4
.env
@@ -1,4 +1,4 @@
|
|||||||
REGISTRY_PREFIX=harbor.sheldan.dev/sissi/
|
REGISTRY_PREFIX=harbor.sheldan.dev/sissi/
|
||||||
ABSTRACTO_PREFIX=harbor.sheldan.dev/abstracto/
|
ABSTRACTO_PREFIX=harbor.sheldan.dev/abstracto/
|
||||||
VERSION=1.5.5
|
VERSION=1.5.13
|
||||||
ABSTRACTO_VERSION=1.6.8
|
ABSTRACTO_VERSION=1.6.15
|
||||||
20
.github/workflows/build.yml
vendored
20
.github/workflows/build.yml
vendored
@@ -31,3 +31,23 @@ jobs:
|
|||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
user: Sheldan
|
user: Sheldan
|
||||||
token: ${{ secrets.ABSTRACTO_PAT }}
|
token: ${{ secrets.ABSTRACTO_PAT }}
|
||||||
|
- name: Login to Harbor
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: harbor.sheldan.dev
|
||||||
|
username: ${{ secrets.HARBOR_USERNAME }}
|
||||||
|
password: ${{ secrets.HARBOR_TOKEN }}
|
||||||
|
- name: Load env file
|
||||||
|
id: dotenv
|
||||||
|
uses: falti/dotenv-action@v1.0.4
|
||||||
|
with:
|
||||||
|
path: .env
|
||||||
|
- name: Docker build
|
||||||
|
run: docker compose build
|
||||||
|
env:
|
||||||
|
REGISTRY_PREFIX: ${{ steps.dotenv.outputs.registry_prefix }}
|
||||||
|
VERSION: ${{ steps.dotenv.outputs.version }}
|
||||||
|
- name: Helm package and push
|
||||||
|
working-directory: ./deployment/helm/
|
||||||
|
run: |-
|
||||||
|
helm package sissi
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>dev.sheldan.sissi.application</groupId>
|
<groupId>dev.sheldan.sissi.application</groupId>
|
||||||
<artifactId>application</artifactId>
|
<artifactId>application</artifactId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>executable</artifactId>
|
<artifactId>executable</artifactId>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>dev.sheldan.sissi</groupId>
|
<groupId>dev.sheldan.sissi</groupId>
|
||||||
<artifactId>sissi</artifactId>
|
<artifactId>sissi</artifactId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>dev.sheldan.sissi.application.module.custom</groupId>
|
<groupId>dev.sheldan.sissi.application.module.custom</groupId>
|
||||||
<artifactId>sissi-customizations</artifactId>
|
<artifactId>sissi-customizations</artifactId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<artifactId>image-generation-custom</artifactId>
|
<artifactId>image-generation-custom</artifactId>
|
||||||
|
|||||||
@@ -50,16 +50,13 @@ public class OrangeSunDogeCommandAlternative implements CommandAlternative {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean shouldExecute(UnParsedCommandParameter parameter, Guild guild, Message message) {
|
public boolean shouldExecute(UnParsedCommandParameter parameter, Guild guild, Message message) {
|
||||||
String contentStripped = message.getContentRaw();
|
return featureFlagService.isFeatureEnabled(imageGenerationFeatureConfig, guild.getIdLong());
|
||||||
String[] parameters = contentStripped.split(" ");
|
|
||||||
return parameters.length == 1 && featureFlagService.isFeatureEnabled(imageGenerationFeatureConfig, guild.getIdLong());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void execute(UnParsedCommandParameter parameter, Message message) {
|
public void execute(UnParsedCommandParameter parameter, Message message) {
|
||||||
String contentStripped = message.getContentRaw();
|
String contentStripped = message.getContentRaw();
|
||||||
List<String> parameters = Arrays.asList(contentStripped.split(" "));
|
String inputText = commandRegistry.getCommandName(contentStripped, message.getGuild().getIdLong());
|
||||||
String inputText = commandRegistry.getCommandName(parameters.get(0), message.getGuild().getIdLong());
|
|
||||||
File triggeredGifFile = imageGenerationService.getOrangeSunDogeImage(inputText);
|
File triggeredGifFile = imageGenerationService.getOrangeSunDogeImage(inputText);
|
||||||
MessageToSend messageToSend = templateService.renderEmbedTemplate(DOGE_ORANGE_SUN_RESPONSE_TEMPLATE_KEY, new Object(), message.getGuildIdLong());
|
MessageToSend messageToSend = templateService.renderEmbedTemplate(DOGE_ORANGE_SUN_RESPONSE_TEMPLATE_KEY, new Object(), message.getGuildIdLong());
|
||||||
// template support does not support binary files
|
// template support does not support binary files
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ import org.springframework.stereotype.Component;
|
|||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.net.URLEncoder;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
public class ImageGenerationService {
|
public class ImageGenerationService {
|
||||||
@@ -20,7 +22,7 @@ public class ImageGenerationService {
|
|||||||
|
|
||||||
public File getOrangeSunDogeImage(String inputText) {
|
public File getOrangeSunDogeImage(String inputText) {
|
||||||
try {
|
try {
|
||||||
return httpService.downloadFileToTempFile(dogeOrangeSunUrl.replace("{1}", inputText));
|
return httpService.downloadFileToTempFile(dogeOrangeSunUrl.replace("{1}", URLEncoder.encode(inputText, StandardCharsets.UTF_8)));
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
throw new AbstractoRunTimeException(String.format("Failed to download orange doge image for url %s with error %s", inputText, e.getMessage()));
|
throw new AbstractoRunTimeException(String.format("Failed to download orange doge image for url %s with error %s", inputText, e.getMessage()));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>dev.sheldan.sissi.application.module.custom</groupId>
|
<groupId>dev.sheldan.sissi.application.module.custom</groupId>
|
||||||
<artifactId>sissi-customizations</artifactId>
|
<artifactId>sissi-customizations</artifactId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,68 @@
|
|||||||
|
package dev.sheldan.sissi.module.custom.moderation.commands;
|
||||||
|
|
||||||
|
import dev.sheldan.abstracto.core.command.UtilityModuleDefinition;
|
||||||
|
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.sissi.module.custom.moderation.config.ModerationCustomFeatureDefinition;
|
||||||
|
import dev.sheldan.sissi.module.custom.moderation.service.SelfMuteServiceBean;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.time.Duration;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.concurrent.CompletableFuture;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
public class SelfMute extends AbstractConditionableCommand {
|
||||||
|
|
||||||
|
public static final String DURATION_PARAMETER = "duration";
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private SelfMuteServiceBean selfMuteServiceBean;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompletableFuture<CommandResult> executeAsync(CommandContext commandContext) {
|
||||||
|
List<Object> parameters = commandContext.getParameters().getParameters();
|
||||||
|
Duration muteDuration = (Duration) parameters.get(0);
|
||||||
|
return selfMuteServiceBean.selfMuteMember(commandContext.getAuthor(), muteDuration)
|
||||||
|
.thenApply(unused -> CommandResult.fromSuccess());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CommandConfiguration getConfiguration() {
|
||||||
|
Parameter durationParameter = Parameter
|
||||||
|
.builder()
|
||||||
|
.name(DURATION_PARAMETER)
|
||||||
|
.type(Duration.class)
|
||||||
|
.templated(true)
|
||||||
|
.build();
|
||||||
|
List<Parameter> parameters = Arrays.asList(durationParameter);
|
||||||
|
|
||||||
|
HelpInfo helpInfo = HelpInfo
|
||||||
|
.builder()
|
||||||
|
.templated(true)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
return CommandConfiguration.builder()
|
||||||
|
.name("selfMute")
|
||||||
|
.async(true)
|
||||||
|
.module(UtilityModuleDefinition.UTILITY)
|
||||||
|
.templated(true)
|
||||||
|
.supportsEmbedException(true)
|
||||||
|
.causesReaction(true)
|
||||||
|
.parameters(parameters)
|
||||||
|
.help(helpInfo)
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public FeatureDefinition getFeature() {
|
||||||
|
return ModerationCustomFeatureDefinition.MODERATION_CUSTOM;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
package dev.sheldan.sissi.module.custom.moderation.service;
|
||||||
|
|
||||||
|
import dev.sheldan.abstracto.core.service.MemberService;
|
||||||
|
import dev.sheldan.abstracto.core.templating.service.TemplateService;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import net.dv8tion.jda.api.entities.Member;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.time.Duration;
|
||||||
|
import java.util.concurrent.CompletableFuture;
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
@Component
|
||||||
|
public class SelfMuteServiceBean {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private MemberService memberService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private TemplateService templateService;
|
||||||
|
|
||||||
|
private static final String SELF_MUTE_REASON_TEMPLATE = "self_mute_reason";
|
||||||
|
|
||||||
|
public CompletableFuture<Void> selfMuteMember(Member member, Duration duration) {
|
||||||
|
String reason = templateService.renderSimpleTemplate(SELF_MUTE_REASON_TEMPLATE, member.getGuild().getIdLong());
|
||||||
|
log.info("Self muting user {} in server {}.", member.getIdLong(), member.getGuild().getIdLong());
|
||||||
|
return memberService.timeoutUser(member, duration, reason);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
|
||||||
|
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog https://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.26.xsd" >
|
||||||
|
<include file="seedData/data.xml" relativeToChangelogFile="true"/>
|
||||||
|
</databaseChangeLog>
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
|
||||||
|
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog https://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.26.xsd" >
|
||||||
|
<property name="moderationCustomFeature" value="(SELECT id FROM feature WHERE key = 'moderationCustom')"/>
|
||||||
|
<property name="utilityModule" value="(SELECT id FROM module WHERE name = 'utility')"/>
|
||||||
|
<changeSet author="Sheldan" id="moderationCustom_selfmute-commands">
|
||||||
|
<insert tableName="command">
|
||||||
|
<column name="name" value="selfMute"/>
|
||||||
|
<column name="module_id" valueComputed="${utilityModule}"/>
|
||||||
|
<column name="feature_id" valueComputed="${moderationCustomFeature}"/>
|
||||||
|
</insert>
|
||||||
|
</changeSet>
|
||||||
|
</databaseChangeLog>
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
|
||||||
|
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog https://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.26.xsd" >
|
||||||
|
<include file="command.xml" relativeToChangelogFile="true"/>
|
||||||
|
</databaseChangeLog>
|
||||||
@@ -5,4 +5,5 @@
|
|||||||
<include file="1.1.0/collection.xml" relativeToChangelogFile="true"/>
|
<include file="1.1.0/collection.xml" relativeToChangelogFile="true"/>
|
||||||
<include file="1.2.1/collection.xml" relativeToChangelogFile="true"/>
|
<include file="1.2.1/collection.xml" relativeToChangelogFile="true"/>
|
||||||
<include file="1.4.45/collection.xml" relativeToChangelogFile="true"/>
|
<include file="1.4.45/collection.xml" relativeToChangelogFile="true"/>
|
||||||
|
<include file="1.5.9/collection.xml" relativeToChangelogFile="true"/>
|
||||||
</databaseChangeLog>
|
</databaseChangeLog>
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>application</artifactId>
|
<artifactId>application</artifactId>
|
||||||
<groupId>dev.sheldan.sissi.application</groupId>
|
<groupId>dev.sheldan.sissi.application</groupId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>dev.sheldan.sissi.application</groupId>
|
<groupId>dev.sheldan.sissi.application</groupId>
|
||||||
<artifactId>sissi-modules</artifactId>
|
<artifactId>sissi-modules</artifactId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>dev.sheldan.sissi.application</groupId>
|
<groupId>dev.sheldan.sissi.application</groupId>
|
||||||
<artifactId>sissi-modules</artifactId>
|
<artifactId>sissi-modules</artifactId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|||||||
@@ -166,6 +166,7 @@ public class CreateMeetup extends AbstractConditionableCommand {
|
|||||||
Parameter topicParameter = Parameter
|
Parameter topicParameter = Parameter
|
||||||
.builder()
|
.builder()
|
||||||
.templated(true)
|
.templated(true)
|
||||||
|
.validators(Arrays.asList(MaxStringLengthValidator.max(256)))
|
||||||
.name(TOPIC_PARAMETER)
|
.name(TOPIC_PARAMETER)
|
||||||
.type(String.class)
|
.type(String.class)
|
||||||
.build();
|
.build();
|
||||||
@@ -174,6 +175,7 @@ public class CreateMeetup extends AbstractConditionableCommand {
|
|||||||
.builder()
|
.builder()
|
||||||
.templated(true)
|
.templated(true)
|
||||||
.name(DESCRIPTION_PARAMETER)
|
.name(DESCRIPTION_PARAMETER)
|
||||||
|
.validators(Arrays.asList(MaxStringLengthValidator.max(2048)))
|
||||||
.remainder(true)
|
.remainder(true)
|
||||||
.optional(true)
|
.optional(true)
|
||||||
.type(String.class)
|
.type(String.class)
|
||||||
@@ -184,6 +186,7 @@ public class CreateMeetup extends AbstractConditionableCommand {
|
|||||||
.templated(true)
|
.templated(true)
|
||||||
.name(LOCATION_PARAMETER)
|
.name(LOCATION_PARAMETER)
|
||||||
.remainder(true)
|
.remainder(true)
|
||||||
|
.validators(Arrays.asList(MaxStringLengthValidator.max(100)))
|
||||||
.optional(true)
|
.optional(true)
|
||||||
.slashCommandOnly(true)
|
.slashCommandOnly(true)
|
||||||
.type(String.class)
|
.type(String.class)
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ public class MeetupDecisionListener implements ButtonClickedListener {
|
|||||||
MeetupMessageModel meetupMessageModel = meetupServiceBean.getMeetupMessageModel(meetup);
|
MeetupMessageModel meetupMessageModel = meetupServiceBean.getMeetupMessageModel(meetup);
|
||||||
addParticipationToModel(meetupMessageModel, userInAServer, payload.getMeetupDecision());
|
addParticipationToModel(meetupMessageModel, userInAServer, payload.getMeetupDecision());
|
||||||
MessageToSend messageToSend = meetupServiceBean.getMeetupMessage(meetupMessageModel, model.getServerId());
|
MessageToSend messageToSend = meetupServiceBean.getMeetupMessage(meetupMessageModel, model.getServerId());
|
||||||
channelService.editEmbedMessageInAChannel(messageToSend.getEmbeds().get(0), model.getEvent().getChannel(), meetup.getMessageId())
|
channelService.editMessageInAChannelFuture(messageToSend, model.getEvent().getChannel(), meetup.getMessageId())
|
||||||
.thenAccept(message -> log.info("Updated message of meetup {} in channel {} in server {}.", meetup.getId().getId(), meetup.getMeetupChannel().getId(), meetup.getServer().getId()))
|
.thenAccept(message -> log.info("Updated message of meetup {} in channel {} in server {}.", meetup.getId().getId(), meetup.getMeetupChannel().getId(), meetup.getServer().getId()))
|
||||||
.exceptionally(throwable -> {
|
.exceptionally(throwable -> {
|
||||||
log.info("Failed to update message of meetup {} in channel {} in server {}.", meetup.getId().getId(), meetup.getMeetupChannel().getId(), meetup.getServer().getId(), throwable);
|
log.info("Failed to update message of meetup {} in channel {} in server {}.", meetup.getId().getId(), meetup.getMeetupChannel().getId(), meetup.getServer().getId(), throwable);
|
||||||
|
|||||||
@@ -372,7 +372,7 @@ public class MeetupServiceBean {
|
|||||||
List<Long> userIdsToNotify = participants
|
List<Long> userIdsToNotify = participants
|
||||||
.stream()
|
.stream()
|
||||||
.map(meetupParticipator -> meetupParticipator.getParticipator().getUserReference().getId())
|
.map(meetupParticipator -> meetupParticipator.getParticipator().getUserReference().getId())
|
||||||
.collect(Collectors.toList());
|
.toList();
|
||||||
|
|
||||||
Long serverId = meetup.getServer().getId();
|
Long serverId = meetup.getServer().getId();
|
||||||
|
|
||||||
@@ -415,7 +415,7 @@ public class MeetupServiceBean {
|
|||||||
List<Long> userInServerIds = participants
|
List<Long> userInServerIds = participants
|
||||||
.stream()
|
.stream()
|
||||||
.map(meetupParticipant -> meetupParticipant.getParticipator().getUserInServerId())
|
.map(meetupParticipant -> meetupParticipant.getParticipator().getUserInServerId())
|
||||||
.collect(Collectors.toList());
|
.toList();
|
||||||
meetup
|
meetup
|
||||||
.getParticipants().removeIf(meetupParticipant -> userInServerIds.contains(meetupParticipant.getParticipator().getUserInServerId()));
|
.getParticipants().removeIf(meetupParticipant -> userInServerIds.contains(meetupParticipant.getParticipator().getUserInServerId()));
|
||||||
MeetupMessageModel meetupMessageModel = getMeetupMessageModel(meetup);
|
MeetupMessageModel meetupMessageModel = getMeetupMessageModel(meetup);
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>sissi-modules</artifactId>
|
<artifactId>sissi-modules</artifactId>
|
||||||
<groupId>dev.sheldan.sissi.application</groupId>
|
<groupId>dev.sheldan.sissi.application</groupId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>dev.sheldan.sissi.application</groupId>
|
<groupId>dev.sheldan.sissi.application</groupId>
|
||||||
<artifactId>application</artifactId>
|
<artifactId>application</artifactId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
@@ -14,6 +14,7 @@
|
|||||||
<module>quotes</module>
|
<module>quotes</module>
|
||||||
<module>meetup</module>
|
<module>meetup</module>
|
||||||
<module>debra</module>
|
<module>debra</module>
|
||||||
|
<module>miepscord</module>
|
||||||
<module>rss-news</module>
|
<module>rss-news</module>
|
||||||
</modules>
|
</modules>
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>dev.sheldan.sissi.application</groupId>
|
<groupId>dev.sheldan.sissi.application</groupId>
|
||||||
<artifactId>sissi-modules</artifactId>
|
<artifactId>sissi-modules</artifactId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ import dev.sheldan.sissi.module.quotes.config.QuotesModuleDefinition;
|
|||||||
import dev.sheldan.sissi.module.quotes.exception.QuoteNotFoundException;
|
import dev.sheldan.sissi.module.quotes.exception.QuoteNotFoundException;
|
||||||
import dev.sheldan.sissi.module.quotes.model.database.Quote;
|
import dev.sheldan.sissi.module.quotes.model.database.Quote;
|
||||||
import dev.sheldan.sissi.module.quotes.service.QuoteServiceBean;
|
import dev.sheldan.sissi.module.quotes.service.QuoteServiceBean;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import net.dv8tion.jda.api.entities.Member;
|
import net.dv8tion.jda.api.entities.Member;
|
||||||
import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
|
import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
|
||||||
import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent;
|
import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent;
|
||||||
@@ -37,6 +38,7 @@ import java.util.Optional;
|
|||||||
import java.util.concurrent.CompletableFuture;
|
import java.util.concurrent.CompletableFuture;
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
|
@Slf4j
|
||||||
public class QuoteCommand extends AbstractConditionableCommand {
|
public class QuoteCommand extends AbstractConditionableCommand {
|
||||||
|
|
||||||
private static final String QUOTE_COMMAND = "quote";
|
private static final String QUOTE_COMMAND = "quote";
|
||||||
@@ -76,6 +78,7 @@ public class QuoteCommand extends AbstractConditionableCommand {
|
|||||||
foundQuote = quoteServiceBean.getRandomQuoteForMember(user);
|
foundQuote = quoteServiceBean.getRandomQuoteForMember(user);
|
||||||
}
|
}
|
||||||
Quote quoteToDisplay = foundQuote.orElseThrow(QuoteNotFoundException::new);
|
Quote quoteToDisplay = foundQuote.orElseThrow(QuoteNotFoundException::new);
|
||||||
|
log.info("Displaying quote {} in server {}.", quoteToDisplay.getId(), quoteToDisplay.getServer().getId());
|
||||||
return quoteServiceBean.renderQuoteToMessageToSend(quoteToDisplay)
|
return quoteServiceBean.renderQuoteToMessageToSend(quoteToDisplay)
|
||||||
.thenCompose(messageToSend -> self.sendMessageToChannel(messageToSend, commandContext.getChannel()))
|
.thenCompose(messageToSend -> self.sendMessageToChannel(messageToSend, commandContext.getChannel()))
|
||||||
.thenApply(unused -> CommandResult.fromSuccess());
|
.thenApply(unused -> CommandResult.fromSuccess());
|
||||||
@@ -98,6 +101,7 @@ public class QuoteCommand extends AbstractConditionableCommand {
|
|||||||
foundQuote = quoteServiceBean.getRandomQuote(server);
|
foundQuote = quoteServiceBean.getRandomQuote(server);
|
||||||
}
|
}
|
||||||
Quote quoteToDisplay = foundQuote.orElseThrow(QuoteNotFoundException::new);
|
Quote quoteToDisplay = foundQuote.orElseThrow(QuoteNotFoundException::new);
|
||||||
|
log.info("Displaying quote {} in server {}.", quoteToDisplay.getId(), quoteToDisplay.getServer().getId());
|
||||||
return quoteServiceBean.renderQuoteToMessageToSend(quoteToDisplay)
|
return quoteServiceBean.renderQuoteToMessageToSend(quoteToDisplay)
|
||||||
.thenCompose(messageToSend -> self.replyMessage(event, messageToSend))
|
.thenCompose(messageToSend -> self.replyMessage(event, messageToSend))
|
||||||
.thenApply(unused -> CommandResult.fromSuccess());
|
.thenApply(unused -> CommandResult.fromSuccess());
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package dev.sheldan.sissi.module.quotes.model.command;
|
package dev.sheldan.sissi.module.quotes.model.command;
|
||||||
|
|
||||||
import dev.sheldan.abstracto.core.models.ServerChannelMessage;
|
import dev.sheldan.abstracto.core.models.ServerChannelMessage;
|
||||||
|
import dev.sheldan.abstracto.core.models.template.display.MemberDisplay;
|
||||||
|
import dev.sheldan.abstracto.core.models.template.display.UserDisplay;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
|
||||||
@@ -11,14 +13,14 @@ import java.util.List;
|
|||||||
@Builder
|
@Builder
|
||||||
public class QuoteResponseModel {
|
public class QuoteResponseModel {
|
||||||
private Long quoteId;
|
private Long quoteId;
|
||||||
private String authorAvatarURL;
|
private UserDisplay authorUserDisplay;
|
||||||
private String authorName;
|
private MemberDisplay authorMemberDisplay;
|
||||||
private ServerChannelMessage quotedMessage;
|
private ServerChannelMessage quotedMessage;
|
||||||
private String quoteContent;
|
private String quoteContent;
|
||||||
private List<String> imageAttachmentURLs;
|
private List<String> mediaAttachmentURLs;
|
||||||
private List<String> fileAttachmentURLs;
|
private List<String> fileAttachmentURLs;
|
||||||
private String adderAvatarURL;
|
private UserDisplay adderUserDisplay;
|
||||||
private String adderName;
|
private MemberDisplay adderMemberDisplay;
|
||||||
private Instant creationDate;
|
private Instant creationDate;
|
||||||
private String sourceChannelName;
|
private String sourceChannelName;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,8 +41,8 @@ public class QuoteAttachment {
|
|||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@Column(name = "is_image", nullable = false)
|
@Column(name = "is_media", nullable = false)
|
||||||
@Builder.Default
|
@Builder.Default
|
||||||
private Boolean isImage = false;
|
private Boolean isMedia = false;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,8 @@ import dev.sheldan.abstracto.core.models.ServerChannelMessage;
|
|||||||
import dev.sheldan.abstracto.core.models.ServerUser;
|
import dev.sheldan.abstracto.core.models.ServerUser;
|
||||||
import dev.sheldan.abstracto.core.models.database.AServer;
|
import dev.sheldan.abstracto.core.models.database.AServer;
|
||||||
import dev.sheldan.abstracto.core.models.database.AUserInAServer;
|
import dev.sheldan.abstracto.core.models.database.AUserInAServer;
|
||||||
|
import dev.sheldan.abstracto.core.models.template.display.MemberDisplay;
|
||||||
|
import dev.sheldan.abstracto.core.models.template.display.UserDisplay;
|
||||||
import dev.sheldan.abstracto.core.service.ChannelService;
|
import dev.sheldan.abstracto.core.service.ChannelService;
|
||||||
import dev.sheldan.abstracto.core.service.MemberService;
|
import dev.sheldan.abstracto.core.service.MemberService;
|
||||||
import dev.sheldan.abstracto.core.service.UserService;
|
import dev.sheldan.abstracto.core.service.UserService;
|
||||||
@@ -103,21 +105,21 @@ public class QuoteServiceBean {
|
|||||||
List<String> imageAttachments = quote
|
List<String> imageAttachments = quote
|
||||||
.getAttachments()
|
.getAttachments()
|
||||||
.stream()
|
.stream()
|
||||||
.filter(QuoteAttachment::getIsImage)
|
.filter(QuoteAttachment::getIsMedia)
|
||||||
.map(QuoteAttachment::getUrl)
|
.map(QuoteAttachment::getUrl)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
List<String> fileAttachments = quote
|
List<String> fileAttachments = quote
|
||||||
.getAttachments()
|
.getAttachments()
|
||||||
.stream()
|
.stream()
|
||||||
.filter(quoteAttachment -> !quoteAttachment.getIsImage())
|
.filter(quoteAttachment -> !quoteAttachment.getIsMedia())
|
||||||
.map(QuoteAttachment::getUrl)
|
.map(QuoteAttachment::getUrl)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
QuoteResponseModel.QuoteResponseModelBuilder modelBuilder = QuoteResponseModel
|
QuoteResponseModel.QuoteResponseModelBuilder modelBuilder = QuoteResponseModel
|
||||||
.builder()
|
.builder()
|
||||||
.quoteContent(quote.getText())
|
.quoteContent(quote.getText())
|
||||||
.imageAttachmentURLs(imageAttachments)
|
.mediaAttachmentURLs(imageAttachments)
|
||||||
.quoteId(quote.getId())
|
.quoteId(quote.getId())
|
||||||
.fileAttachmentURLs(fileAttachments)
|
.fileAttachmentURLs(fileAttachments)
|
||||||
.creationDate(quote.getCreated())
|
.creationDate(quote.getCreated())
|
||||||
@@ -166,42 +168,14 @@ public class QuoteServiceBean {
|
|||||||
.filter(user -> user.getIdLong() == quoteAdderUserId)
|
.filter(user -> user.getIdLong() == quoteAdderUserId)
|
||||||
.findFirst()
|
.findFirst()
|
||||||
.orElse(null);
|
.orElse(null);
|
||||||
String adderAvatar = Optional
|
|
||||||
.ofNullable(adderMember)
|
|
||||||
.map(member -> member.getUser().getAvatarUrl())
|
|
||||||
.orElse(Optional
|
|
||||||
.ofNullable(adderUser)
|
|
||||||
.map(User::getAvatarUrl)
|
|
||||||
.orElse(null));
|
|
||||||
String authorAvatar = Optional
|
|
||||||
.ofNullable(authorMember)
|
|
||||||
.map(member -> member.getUser().getAvatarUrl())
|
|
||||||
.orElse(Optional
|
|
||||||
.ofNullable(authorUser)
|
|
||||||
.map(User::getAvatarUrl)
|
|
||||||
.orElse(null));
|
|
||||||
String adderName = Optional
|
|
||||||
.ofNullable(adderMember)
|
|
||||||
.map(Member::getEffectiveName)
|
|
||||||
.orElse(Optional
|
|
||||||
.ofNullable(adderUser)
|
|
||||||
.map(User::getName)
|
|
||||||
.orElse(null));
|
|
||||||
String authorName = Optional
|
|
||||||
.ofNullable(authorMember)
|
|
||||||
.map(Member::getEffectiveName)
|
|
||||||
.orElse(Optional
|
|
||||||
.ofNullable(authorUser)
|
|
||||||
.map(User::getName)
|
|
||||||
.orElse(null));
|
|
||||||
String channelName = sourceChannel
|
String channelName = sourceChannel
|
||||||
.map(Channel::getName)
|
.map(Channel::getName)
|
||||||
.orElse(null);
|
.orElse(null);
|
||||||
QuoteResponseModel model = modelBuilder
|
QuoteResponseModel model = modelBuilder
|
||||||
.adderAvatarURL(adderAvatar)
|
.authorMemberDisplay(authorMember != null ? MemberDisplay.fromMember(authorMember) : null)
|
||||||
.authorAvatarURL(authorAvatar)
|
.authorUserDisplay(authorUser != null ? UserDisplay.fromUser(authorUser) : UserDisplay.fromServerUser(ServerUser.fromId(serverId, quotedUserId)))
|
||||||
.adderName(adderName)
|
.adderMemberDisplay(adderMember != null ? MemberDisplay.fromMember(adderMember) : null)
|
||||||
.authorName(authorName)
|
.adderUserDisplay(adderUser != null ? UserDisplay.fromUser(adderUser) : UserDisplay.fromServerUser(ServerUser.fromId(serverId, quoteAdderUserId)))
|
||||||
.sourceChannelName(channelName)
|
.sourceChannelName(channelName)
|
||||||
.build();
|
.build();
|
||||||
return templateService.renderEmbedTemplate(QUOTE_RESPONSE_TEMPLATE_KEY, model, serverId);
|
return templateService.renderEmbedTemplate(QUOTE_RESPONSE_TEMPLATE_KEY, model, serverId);
|
||||||
@@ -260,7 +234,7 @@ public class QuoteServiceBean {
|
|||||||
List<Pair<String, Boolean>> attachments = quoteMessage
|
List<Pair<String, Boolean>> attachments = quoteMessage
|
||||||
.getAttachments()
|
.getAttachments()
|
||||||
.stream()
|
.stream()
|
||||||
.map(attachment -> Pair.of(attachment.getProxyUrl(), attachment.isImage()))
|
.map(attachment -> Pair.of(attachment.getProxyUrl(), attachment.isImage() || attachment.isVideo()))
|
||||||
.toList();
|
.toList();
|
||||||
return quoteManagementService.createQuote(author, adder, quoteMessage.getContentDisplay(), ServerChannelMessage.fromMessage(quoteMessage), attachments);
|
return quoteManagementService.createQuote(author, adder, quoteMessage.getContentDisplay(), ServerChannelMessage.fromMessage(quoteMessage), attachments);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ public class QuoteManagementService {
|
|||||||
.url(stringBooleanPair.getLeft())
|
.url(stringBooleanPair.getLeft())
|
||||||
.quote(quote)
|
.quote(quote)
|
||||||
.server(adder.getServerReference())
|
.server(adder.getServerReference())
|
||||||
.isImage(stringBooleanPair.getRight())
|
.isMedia(stringBooleanPair.getRight())
|
||||||
.build())
|
.build())
|
||||||
.toList();
|
.toList();
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
|
||||||
|
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog https://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.26.xsd" >
|
||||||
|
<include file="tables/tables.xml" relativeToChangelogFile="true"/>
|
||||||
|
</databaseChangeLog>
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
|
||||||
|
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog https://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.26.xsd" >
|
||||||
|
<changeSet author="Sheldan" id="quote_attachment-rename-media-column">
|
||||||
|
<renameColumn
|
||||||
|
tableName="quote_attachment"
|
||||||
|
newColumnName="is_media"
|
||||||
|
oldColumnName="is_image" />
|
||||||
|
</changeSet>
|
||||||
|
|
||||||
|
</databaseChangeLog>
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
|
||||||
|
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog https://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.26.xsd" >
|
||||||
|
<include file="quote_attachment.xml" relativeToChangelogFile="true"/>
|
||||||
|
</databaseChangeLog>
|
||||||
@@ -5,4 +5,5 @@
|
|||||||
<include file="1.0.2/collection.xml" relativeToChangelogFile="true"/>
|
<include file="1.0.2/collection.xml" relativeToChangelogFile="true"/>
|
||||||
<include file="1.4.56/collection.xml" relativeToChangelogFile="true"/>
|
<include file="1.4.56/collection.xml" relativeToChangelogFile="true"/>
|
||||||
<include file="1.4.57/collection.xml" relativeToChangelogFile="true"/>
|
<include file="1.4.57/collection.xml" relativeToChangelogFile="true"/>
|
||||||
|
<include file="1.5.6/collection.xml" relativeToChangelogFile="true"/>
|
||||||
</databaseChangeLog>
|
</databaseChangeLog>
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>sissi-modules</artifactId>
|
<artifactId>sissi-modules</artifactId>
|
||||||
<groupId>dev.sheldan.sissi.application</groupId>
|
<groupId>dev.sheldan.sissi.application</groupId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|||||||
@@ -2,4 +2,4 @@ apiVersion: v2
|
|||||||
name: sissi
|
name: sissi
|
||||||
description: A Helm chart for Kubernetes
|
description: A Helm chart for Kubernetes
|
||||||
type: application
|
type: application
|
||||||
version: 1.5.5
|
version: 1.5.13
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ bot:
|
|||||||
repository: harbor.sheldan.dev/sissi
|
repository: harbor.sheldan.dev/sissi
|
||||||
pullPolicy: Always
|
pullPolicy: Always
|
||||||
image: sissi-bot
|
image: sissi-bot
|
||||||
tag: 1.5.5
|
tag: 1.5.13
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
initialDelaySeconds: 60
|
initialDelaySeconds: 60
|
||||||
periodSeconds: 5
|
periodSeconds: 5
|
||||||
@@ -22,7 +22,7 @@ restApi:
|
|||||||
repository: harbor.sheldan.dev/sissi
|
repository: harbor.sheldan.dev/sissi
|
||||||
pullPolicy: Always
|
pullPolicy: Always
|
||||||
image: sissi-rest-api
|
image: sissi-rest-api
|
||||||
tag: 1.5.5
|
tag: 1.5.13
|
||||||
podAnnotations: {}
|
podAnnotations: {}
|
||||||
podSecurityContext: {}
|
podSecurityContext: {}
|
||||||
securityContext: {}
|
securityContext: {}
|
||||||
@@ -62,7 +62,7 @@ privateRestApi:
|
|||||||
repository: harbor.sheldan.dev/sissi
|
repository: harbor.sheldan.dev/sissi
|
||||||
pullPolicy: Always
|
pullPolicy: Always
|
||||||
image: sissi-private-rest-api
|
image: sissi-private-rest-api
|
||||||
tag: 1.5.5
|
tag: 1.5.13
|
||||||
podAnnotations: {}
|
podAnnotations: {}
|
||||||
podSecurityContext: {}
|
podSecurityContext: {}
|
||||||
securityContext: {}
|
securityContext: {}
|
||||||
@@ -93,23 +93,23 @@ templateDeployment:
|
|||||||
repository: harbor.sheldan.dev/abstracto
|
repository: harbor.sheldan.dev/abstracto
|
||||||
pullPolicy: Always
|
pullPolicy: Always
|
||||||
image: abstracto-template-deployment
|
image: abstracto-template-deployment
|
||||||
tag: 1.6.8
|
tag: 1.6.15
|
||||||
templateDeploymentData:
|
templateDeploymentData:
|
||||||
repository: harbor.sheldan.dev/sissi
|
repository: harbor.sheldan.dev/sissi
|
||||||
pullPolicy: Always
|
pullPolicy: Always
|
||||||
image: sissi-template-data
|
image: sissi-template-data
|
||||||
tag: 1.5.5
|
tag: 1.5.13
|
||||||
dbConfigDeployment:
|
dbConfigDeployment:
|
||||||
enabled: true
|
enabled: true
|
||||||
repository: harbor.sheldan.dev/abstracto
|
repository: harbor.sheldan.dev/abstracto
|
||||||
pullPolicy: Always
|
pullPolicy: Always
|
||||||
image: abstracto-db-deployment
|
image: abstracto-db-deployment
|
||||||
tag: 1.6.8
|
tag: 1.6.15
|
||||||
dbConfigDeploymentData:
|
dbConfigDeploymentData:
|
||||||
repository: harbor.sheldan.dev/sissi
|
repository: harbor.sheldan.dev/sissi
|
||||||
pullPolicy: Always
|
pullPolicy: Always
|
||||||
image: sissi-db-data
|
image: sissi-db-data
|
||||||
tag: 1.5.5
|
tag: 1.5.13
|
||||||
dbCredentials:
|
dbCredentials:
|
||||||
host: null
|
host: null
|
||||||
port: null
|
port: null
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>dev.sheldan.sissi</groupId>
|
<groupId>dev.sheldan.sissi</groupId>
|
||||||
<artifactId>deployment</artifactId>
|
<artifactId>deployment</artifactId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
@@ -885,6 +885,16 @@
|
|||||||
<destFileName>logging-template-overrides.zip</destFileName>
|
<destFileName>logging-template-overrides.zip</destFileName>
|
||||||
</artifactItem>
|
</artifactItem>
|
||||||
|
|
||||||
|
<artifactItem>
|
||||||
|
<groupId>dev.sheldan.sissi.templates</groupId>
|
||||||
|
<artifactId>starboard-template-overrides</artifactId>
|
||||||
|
<version>${project.version}</version>
|
||||||
|
<type>zip</type>
|
||||||
|
<overWrite>true</overWrite>
|
||||||
|
<outputDirectory>${file.basedir}/template-data/template-artifacts/</outputDirectory>
|
||||||
|
<destFileName>starboard-template-overrides.zip</destFileName>
|
||||||
|
</artifactItem>
|
||||||
|
|
||||||
<!-- overrides translations -->
|
<!-- overrides translations -->
|
||||||
|
|
||||||
<artifactItem>
|
<artifactItem>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
FROM alpine:3.19.1
|
FROM alpine:3.22.1
|
||||||
MAINTAINER Sheldan
|
MAINTAINER Sheldan
|
||||||
ADD config/ /var/db-config/
|
ADD config/ /var/db-config/
|
||||||
ADD liquibase-artifacts /var/db-config/liquibase-zips
|
ADD liquibase-artifacts /var/db-config/liquibase-zips
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ ARG VERSION
|
|||||||
ARG ABSTRACTO_VERSION
|
ARG ABSTRACTO_VERSION
|
||||||
FROM ${REGISTRY_PREFIX}abstracto-rest-api-image-gen:${ABSTRACTO_VERSION:-latest} AS image-gen-api
|
FROM ${REGISTRY_PREFIX}abstracto-rest-api-image-gen:${ABSTRACTO_VERSION:-latest} AS image-gen-api
|
||||||
|
|
||||||
FROM ${SISSI_REGISTRY_PREFIX}sissi-image-gen-api:${VERSION:-latest} AS sissi-image-gen-api
|
FROM image_gen AS sissi-image-gen-api
|
||||||
|
|
||||||
FROM ${REGISTRY_PREFIX}abstracto-rest-api:${ABSTRACTO_VERSION:-latest} AS running-image
|
FROM ${REGISTRY_PREFIX}abstracto-rest-api:${ABSTRACTO_VERSION:-latest} AS running-image
|
||||||
COPY --from=image-gen-api /python /python
|
COPY --from=image-gen-api /python /python
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ ARG REGISTRY_PREFIX
|
|||||||
ARG SISSI_REGISTRY_PREFIX
|
ARG SISSI_REGISTRY_PREFIX
|
||||||
ARG VERSION
|
ARG VERSION
|
||||||
ARG ABSTRACTO_VERSION
|
ARG ABSTRACTO_VERSION
|
||||||
FROM ${SISSI_REGISTRY_PREFIX}sissi-debra-rest-api:${VERSION:-latest} AS debra-api
|
FROM debra_rest AS debra-api
|
||||||
FROM ${REGISTRY_PREFIX}abstracto-rest-api-experience:${ABSTRACTO_VERSION:-latest} AS experience-api
|
FROM ${REGISTRY_PREFIX}abstracto-rest-api-experience:${ABSTRACTO_VERSION:-latest} AS experience-api
|
||||||
FROM ${REGISTRY_PREFIX}abstracto-rest-api-core:${ABSTRACTO_VERSION:-latest} AS core-api
|
FROM ${REGISTRY_PREFIX}abstracto-rest-api-core:${ABSTRACTO_VERSION:-latest} AS core-api
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ RUN $JAVA_HOME/bin/jlink \
|
|||||||
--compress=2 \
|
--compress=2 \
|
||||||
--output /customjre
|
--output /customjre
|
||||||
|
|
||||||
FROM alpine:3.21
|
FROM alpine:3.22.1
|
||||||
|
|
||||||
ENV JAVA_HOME=/jre
|
ENV JAVA_HOME=/jre
|
||||||
ENV PATH="${JAVA_HOME}/bin:${PATH}"
|
ENV PATH="${JAVA_HOME}/bin:${PATH}"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
FROM alpine:3.19.1
|
FROM alpine:3.22.1
|
||||||
MAINTAINER Sheldan
|
MAINTAINER Sheldan
|
||||||
ADD config /var/template-config/
|
ADD config /var/template-config/
|
||||||
ADD template-artifacts /var/template-config/templates
|
ADD template-artifacts /var/template-config/templates
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
"image-generation",
|
"image-generation",
|
||||||
"quotes", "meetup", "debra", "rss-news", "miepscord",
|
"quotes", "meetup", "debra", "rss-news", "miepscord",
|
||||||
"moderation-custom", "image-generation-custom",
|
"moderation-custom", "image-generation-custom",
|
||||||
"moderation-template-overrides", "experience-template-overrides", "logging-template-overrides"
|
"moderation-template-overrides", "experience-template-overrides", "logging-template-overrides", "starboard-template-overrides"
|
||||||
],
|
],
|
||||||
"translation_artifacts": [
|
"translation_artifacts": [
|
||||||
"core",
|
"core",
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>dev.sheldan.sissi</groupId>
|
<groupId>dev.sheldan.sissi</groupId>
|
||||||
<artifactId>sissi</artifactId>
|
<artifactId>sissi</artifactId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
version: "3.7"
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
bot-packaging:
|
bot-packaging:
|
||||||
@@ -23,9 +22,9 @@ services:
|
|||||||
REGISTRY_PREFIX: ${ABSTRACTO_PREFIX}
|
REGISTRY_PREFIX: ${ABSTRACTO_PREFIX}
|
||||||
VERSION: ${VERSION}
|
VERSION: ${VERSION}
|
||||||
ABSTRACTO_VERSION: ${ABSTRACTO_VERSION}
|
ABSTRACTO_VERSION: ${ABSTRACTO_VERSION}
|
||||||
|
additional_contexts:
|
||||||
|
debra_rest: "service:debra-rest-api"
|
||||||
image: ${REGISTRY_PREFIX}sissi-rest-api:${VERSION:-latest}
|
image: ${REGISTRY_PREFIX}sissi-rest-api:${VERSION:-latest}
|
||||||
depends_on:
|
|
||||||
- debra-rest-api
|
|
||||||
private-rest-api-packaging:
|
private-rest-api-packaging:
|
||||||
build:
|
build:
|
||||||
context: deployment/image-packaging/src/main/docker/private-rest-api
|
context: deployment/image-packaging/src/main/docker/private-rest-api
|
||||||
@@ -34,9 +33,9 @@ services:
|
|||||||
SISSI_REGISTRY_PREFIX: ${REGISTRY_PREFIX}
|
SISSI_REGISTRY_PREFIX: ${REGISTRY_PREFIX}
|
||||||
ABSTRACTO_VERSION: ${ABSTRACTO_VERSION}
|
ABSTRACTO_VERSION: ${ABSTRACTO_VERSION}
|
||||||
VERSION: ${VERSION}
|
VERSION: ${VERSION}
|
||||||
|
additional_contexts:
|
||||||
|
image_gen: "service:image-gen-api"
|
||||||
image: ${REGISTRY_PREFIX}sissi-private-rest-api:${VERSION:-latest}
|
image: ${REGISTRY_PREFIX}sissi-private-rest-api:${VERSION:-latest}
|
||||||
depends_on:
|
|
||||||
- image-gen-api
|
|
||||||
db-data:
|
db-data:
|
||||||
build:
|
build:
|
||||||
context: deployment/image-packaging/src/main/docker/db-data
|
context: deployment/image-packaging/src/main/docker/db-data
|
||||||
|
|||||||
9
pom.xml
9
pom.xml
@@ -13,13 +13,13 @@
|
|||||||
<groupId>dev.sheldan.sissi</groupId>
|
<groupId>dev.sheldan.sissi</groupId>
|
||||||
<artifactId>sissi</artifactId>
|
<artifactId>sissi</artifactId>
|
||||||
<name>Sissi</name>
|
<name>Sissi</name>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<maven.compiler.target>17</maven.compiler.target>
|
<maven.compiler.target>17</maven.compiler.target>
|
||||||
<maven.compiler.source>17</maven.compiler.source>
|
<maven.compiler.source>17</maven.compiler.source>
|
||||||
<abstracto.version>1.6.8</abstracto.version>
|
<abstracto.version>1.6.15</abstracto.version>
|
||||||
<abstracto.templates.version>1.4.56</abstracto.templates.version>
|
<abstracto.templates.version>1.4.61</abstracto.templates.version>
|
||||||
<apache-jena.version>4.9.0</apache-jena.version>
|
<apache-jena.version>4.9.0</apache-jena.version>
|
||||||
<rssreader.version>3.5.0</rssreader.version>
|
<rssreader.version>3.5.0</rssreader.version>
|
||||||
</properties>
|
</properties>
|
||||||
@@ -28,7 +28,6 @@
|
|||||||
<module>application</module>
|
<module>application</module>
|
||||||
<module>templates</module>
|
<module>templates</module>
|
||||||
<module>deployment</module>
|
<module>deployment</module>
|
||||||
<module>application/sissi-modules/miepscord</module>
|
|
||||||
</modules>
|
</modules>
|
||||||
|
|
||||||
<repositories>
|
<repositories>
|
||||||
@@ -73,7 +72,7 @@
|
|||||||
<connection>scm:git:${project.scm.url}</connection>
|
<connection>scm:git:${project.scm.url}</connection>
|
||||||
<developerConnection>scm:git:${project.scm.url}</developerConnection>
|
<developerConnection>scm:git:${project.scm.url}</developerConnection>
|
||||||
<url>https://github.com/Sheldan/Sissi.git</url>
|
<url>https://github.com/Sheldan/Sissi.git</url>
|
||||||
<tag>sissi-1.5.5</tag>
|
<tag>HEAD</tag>
|
||||||
</scm>
|
</scm>
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>dev.sheldan.sissi</groupId>
|
<groupId>dev.sheldan.sissi</groupId>
|
||||||
<artifactId>sissi</artifactId>
|
<artifactId>sissi</artifactId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>customization-templates</artifactId>
|
<artifactId>customization-templates</artifactId>
|
||||||
<groupId>dev.sheldan.sissi.templates</groupId>
|
<groupId>dev.sheldan.sissi.templates</groupId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<artifactId>image-generation-customization-templates</artifactId>
|
<artifactId>image-generation-customization-templates</artifactId>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>dev.sheldan.sissi.templates</groupId>
|
<groupId>dev.sheldan.sissi.templates</groupId>
|
||||||
<artifactId>customization-templates</artifactId>
|
<artifactId>customization-templates</artifactId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>sissi-templates</artifactId>
|
<artifactId>sissi-templates</artifactId>
|
||||||
<groupId>dev.sheldan.sissi.templates</groupId>
|
<groupId>dev.sheldan.sissi.templates</groupId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>module-templates</artifactId>
|
<artifactId>module-templates</artifactId>
|
||||||
<groupId>dev.sheldan.sissi.templates</groupId>
|
<groupId>dev.sheldan.sissi.templates</groupId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>module-templates</artifactId>
|
<artifactId>module-templates</artifactId>
|
||||||
<groupId>dev.sheldan.sissi.templates</groupId>
|
<groupId>dev.sheldan.sissi.templates</groupId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|||||||
@@ -1,33 +1,30 @@
|
|||||||
<#include "format_instant">
|
<#include "format_instant">
|
||||||
{
|
{
|
||||||
"embeds": [
|
"components": [
|
||||||
{
|
{
|
||||||
<#include "abstracto_color">,
|
<#assign hasLocation=location?? && location != "%22%22">
|
||||||
"title": {
|
"type": "textDisplay",
|
||||||
"title": "${topic?json_string}"
|
"content": "<#include "createMeetup_meetup_information">"
|
||||||
},
|
|
||||||
"description": "<@format_instant_long_date_time instant=meetupTime/>
|
|
||||||
${description?json_string}"
|
|
||||||
<#if location?? && location != "%22%22">,
|
|
||||||
"fields": [
|
|
||||||
{
|
|
||||||
"name": "<@safe_include "createMeetup_confirmation_location_field_title"/>",
|
|
||||||
"value": "https://www.google.com/maps?q=${location?json_string}"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
</#if>
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"buttons": [
|
|
||||||
{
|
|
||||||
"label": "<@safe_include "createMeetup_confirm_button_label"/>",
|
|
||||||
"id": "${confirmationId}",
|
|
||||||
"buttonStyle": "success"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "<@safe_include "createMeetup_cancel_button_label"/>",
|
"type": "actionRow",
|
||||||
"id": "${cancelId}",
|
"actionRowItems": [
|
||||||
"buttonStyle": "danger"
|
{
|
||||||
|
"label": "<@safe_include "createMeetup_confirm_button_label"/>",
|
||||||
|
"id": "${confirmationId}",
|
||||||
|
"buttonStyle": "success",
|
||||||
|
"type": "button"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "<@safe_include "createMeetup_cancel_button_label"/>",
|
||||||
|
"id": "${cancelId}",
|
||||||
|
"buttonStyle": "danger",
|
||||||
|
"type": "button"
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"messageConfig": {
|
||||||
|
"useComponentsV2": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -1,10 +1,36 @@
|
|||||||
<#include "format_instant">
|
<#include "format_instant">
|
||||||
{
|
{
|
||||||
"embeds": [
|
"components": [
|
||||||
|
<#list meetups as meetup>
|
||||||
|
<#assign meetup=meetup>
|
||||||
|
<#assign topic=meetup.topic>
|
||||||
|
<#assign time><@format_instant_long_date_time instant=meetup.meetupTime/>
|
||||||
|
</#assign><#assign timeRelative><@format_instant_relative instant=meetup.meetupTime/></#assign>
|
||||||
|
<#assign link=meetup.meetupMessage.jumpUrl>
|
||||||
{
|
{
|
||||||
<#include "abstracto_color">,
|
"type": "section",
|
||||||
"description": "<#list meetups as meetup><#assign meetup=meetup><#assign topic=meetup.topic><#assign time><@format_instant_long_date_time instant=meetup.meetupTime/></#assign><#assign timeRelative><@format_instant_relative instant=meetup.meetupTime/></#assign><#assign link=meetup.meetupMessage.jumpUrl><#include "meetup_list_meetup_display">
|
"components": [
|
||||||
<#else><#include "meetup_list_no_meetups"></#list>"
|
{
|
||||||
|
"type": "textDisplay",
|
||||||
|
"content": "<#include "meetup_list_meetup_display">"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
,"accessory": {
|
||||||
|
"type": "button",
|
||||||
|
"label": "<#include "meetup_list_jump_button_label"/>",
|
||||||
|
"url": "${link}",
|
||||||
|
"buttonStyle": "link"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
<#sep>,</#sep>
|
||||||
|
<#else>
|
||||||
|
{
|
||||||
|
"type": "textDisplay",
|
||||||
|
"content": "<#include "meetup_list_no_meetups">"
|
||||||
|
}
|
||||||
|
</#list>
|
||||||
|
],
|
||||||
|
"messageConfig": {
|
||||||
|
"useComponentsV2": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -1,63 +1,78 @@
|
|||||||
<#include "format_instant">
|
<#include "format_instant">
|
||||||
{
|
{
|
||||||
<#assign roleMention="<@&371419588619141121>"/>
|
"components": [
|
||||||
"additionalMessage": "${roleMention?json_string}",
|
{
|
||||||
"embeds": [
|
"type": "textDisplay",
|
||||||
|
<#assign roleMention="<@&371419588619141121>"/>
|
||||||
|
"content": "<#if cancelled>~~</#if>${roleMention?json_string} ${topic?json_string} - <@safe_include "meetup_message_id_display"/><#if cancelled>~~</#if>"
|
||||||
|
},
|
||||||
|
<#if description?has_content>
|
||||||
|
{
|
||||||
|
<#assign descriptionText>${description?json_string}</#assign>
|
||||||
|
<#assign organizerText>${organizer.memberMention}</#assign>
|
||||||
|
"type": "textDisplay",
|
||||||
|
"content": "<#if cancelled>~~</#if><@safe_include "meetup_description_component"/><#if cancelled>~~</#if>"
|
||||||
|
},
|
||||||
|
</#if>
|
||||||
{
|
{
|
||||||
<#include "abstracto_color">,
|
|
||||||
"title": {
|
|
||||||
"title": "${topic?json_string} - <@safe_include "meetup_message_id_display"/>"
|
|
||||||
},
|
|
||||||
<#assign time><@format_instant_long_date_time instant=meetupTime/></#assign>
|
<#assign time><@format_instant_long_date_time instant=meetupTime/></#assign>
|
||||||
<#assign timeRelative><@format_instant_relative instant=meetupTime/></#assign>
|
<#assign timeRelative><@format_instant_relative instant=meetupTime/></#assign>
|
||||||
<#assign organizerText>${organizer.memberMention}</#assign>
|
|
||||||
<#assign meetupId=meetupId/>
|
<#if location?? && location != "%22%22">
|
||||||
<#assign descriptionText>${description?json_string}</#assign>
|
"type": "section",
|
||||||
<#assign participantsText> (${participants?size}) <#list participants as member>${member.memberMention}<#sep>, </#sep><#else><#include "meetup_message_no_member"></#list></#assign>
|
"components": [
|
||||||
<#assign maybeParticipantsText> (${maybeParticipants?size}) <#list maybeParticipants as member>${member.memberMention}<#sep>, </#sep><#else><#include "meetup_message_no_member"></#list></#assign>
|
{
|
||||||
<#assign noTimeParticipantsText> (${noTimeParticipants?size}) <#list noTimeParticipants as member>${member.memberMention}<#sep>, </#sep><#else><#include "meetup_message_no_member"></#list></#assign>
|
"type": "textDisplay",
|
||||||
<#assign declinedParticipantsText> (${declinedParticipants?size}) <#list declinedParticipants as member>${member.memberMention}<#sep>, </#sep><#else><#include "meetup_message_no_member"></#list></#assign>
|
"content": "<@safe_include "meetup_display_time_component"/>"
|
||||||
"description": "<#if cancelled>~~</#if><@safe_include "meetup_display_description"/><#if cancelled>~~</#if>"
|
}
|
||||||
}
|
],
|
||||||
],
|
"accessory": {
|
||||||
"buttons": [
|
"type": "button",
|
||||||
{
|
"label": "<@safe_include "meetup_message_location_button_label"/>",
|
||||||
"label": "<@safe_include "meetup_message_yes_button_label"/>",
|
"url": "https://www.google.com/maps?q=${location?json_string}",
|
||||||
"id": "${yesId}",
|
"buttonStyle": "link"
|
||||||
"buttonStyle": "success"
|
}
|
||||||
},
|
<#else>
|
||||||
{
|
"type": "textDisplay",
|
||||||
"label": "<@safe_include "meetup_message_maybe_button_label"/>",
|
"content": "<@safe_include "meetup_display_time_component"/>"
|
||||||
"id": "${maybeId}",
|
</#if>
|
||||||
"buttonStyle": "secondary"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "<@safe_include "meetup_message_no_time_button_label"/>",
|
|
||||||
"id": "${noTimeId}",
|
|
||||||
"buttonStyle": "danger"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "<@safe_include "meetup_message_no_button_label"/>",
|
|
||||||
"id": "${noId}",
|
|
||||||
"buttonStyle": "danger"
|
|
||||||
}
|
|
||||||
<#if location?? && location != "%22%22">,
|
|
||||||
{
|
|
||||||
"label": "<@safe_include "meetup_message_location_button_label"/>",
|
|
||||||
"url": "https://www.google.com/maps?q=${location?json_string}",
|
|
||||||
"buttonStyle": "link"
|
|
||||||
}
|
}
|
||||||
|
<#macro decision_component button_id button_style label_template content_template user>
|
||||||
|
{
|
||||||
|
"type": "section",
|
||||||
|
"components": [
|
||||||
|
{
|
||||||
|
"type": "textDisplay",
|
||||||
|
"content": "<@safe_include content_template/>"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
,"accessory": {
|
||||||
|
"type": "button",
|
||||||
|
"id": "${button_id}",
|
||||||
|
"label": "<@safe_include label_template/>",
|
||||||
|
"buttonStyle": "${button_style}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</#macro>
|
||||||
|
<#assign participantsText> (${participants?size}) <#list participants as member>${member.memberMention}<#sep>, </#sep><#else><#include "meetup_message_no_member"></#list></#assign>
|
||||||
|
<#assign maybeParticipantsText> (${maybeParticipants?size}) <#list maybeParticipants as member>${member.memberMention}<#sep>, </#sep><#else><#include "meetup_message_no_member"></#list></#assign>
|
||||||
|
<#assign noTimeParticipantsText> (${noTimeParticipants?size}) <#list noTimeParticipants as member>${member.memberMention}<#sep>, </#sep><#else><#include "meetup_message_no_member"></#list></#assign>
|
||||||
|
<#assign declinedParticipantsText> (${declinedParticipants?size}) <#list declinedParticipants as member>${member.memberMention}<#sep>, </#sep><#else><#include "meetup_message_no_member"></#list></#assign>
|
||||||
|
,<@decision_component yesId "success" "meetup_message_yes_button_label" "meetup_user_display_participants" participantsText/>
|
||||||
|
,<@decision_component maybeId "secondary" "meetup_message_maybe_button_label" "meetup_user_display_maybe_participants" maybeParticipantsText/>
|
||||||
|
,<@decision_component noId "danger" "meetup_message_no_button_label" "meetup_user_display_declined_participants" declinedParticipantsText/>
|
||||||
|
,<@decision_component noTimeId "danger" "meetup_message_no_time_button_label" "meetup_user_display_no_time_participants" noTimeParticipantsText/>
|
||||||
|
<#if meetupIcsModel.attachIcsFile>
|
||||||
|
,{
|
||||||
|
"type": "fileDisplay",
|
||||||
|
"fileName": "<@safe_include "meetup_ics_file_name"/>.ics",
|
||||||
|
"fileContent": "<@safe_include "meetup_ice_file_download"/>"
|
||||||
|
}
|
||||||
</#if>
|
</#if>
|
||||||
],
|
],
|
||||||
<#if meetupIcsModel.attachIcsFile>
|
|
||||||
"files": [
|
|
||||||
{
|
|
||||||
"fileName": "<@safe_include "meetup_ics_file_name"/>.ics",
|
|
||||||
"fileContent": "<@safe_include "meetup_ice_file_download"/>"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
</#if>
|
|
||||||
"messageConfig": {
|
"messageConfig": {
|
||||||
"allowsRoleMention": true
|
"allowsRoleMention": true,
|
||||||
|
"allowsUserMention": false,
|
||||||
|
"useComponentsV2": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>dev.sheldan.sissi.templates</groupId>
|
<groupId>dev.sheldan.sissi.templates</groupId>
|
||||||
<artifactId>module-templates</artifactId>
|
<artifactId>module-templates</artifactId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<artifactId>miepscord-templates</artifactId>
|
<artifactId>miepscord-templates</artifactId>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>dev.sheldan.sissi.templates</groupId>
|
<groupId>dev.sheldan.sissi.templates</groupId>
|
||||||
<artifactId>sissi-templates</artifactId>
|
<artifactId>sissi-templates</artifactId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>dev.sheldan.sissi.templates</groupId>
|
<groupId>dev.sheldan.sissi.templates</groupId>
|
||||||
<artifactId>module-templates</artifactId>
|
<artifactId>module-templates</artifactId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|||||||
@@ -1,26 +1,83 @@
|
|||||||
|
<#include "format_instant">
|
||||||
{
|
{
|
||||||
"embeds": [
|
"components": [
|
||||||
{
|
{
|
||||||
<#include "abstracto_color">,
|
<#assign userFound=authorUserDisplay?has_content>
|
||||||
"author": {
|
<#assign authorName><#if authorMemberDisplay?has_content>${authorMemberDisplay.name}<#elseif authorUserDisplay?has_content>${authorUserDisplay.name}<#else><@safe_include "quote_response_default_author_name"/></#if></#assign>
|
||||||
<#assign authorName><@default_template_if_null authorName "quote_response_default_author_name"/></#assign>
|
<#assign adderUserName><#if adderMemberDisplay?has_content>${adderMemberDisplay.name}<#elseif adderUserDisplay?has_content>${adderUserDisplay.name}<#else><@safe_include "quote_response_default_adder_name"/></#if></#assign>
|
||||||
<#assign channelName><@default_template_if_null sourceChannelName "quote_response_default_channel_name"/></#assign>
|
<#assign channelName><@default_template_if_null sourceChannelName "quote_response_default_channel_name"/></#assign>
|
||||||
"name": "<@safe_include "quote_response_header_author_name"/>"
|
<#assign creationDate><@format_instant_date_time instant=creationDate/></#assign>
|
||||||
<#if authorAvatarURL??>,"avatar": "${authorAvatarURL}"</#if>
|
<#if userFound>
|
||||||
},
|
<#assign authorAvatar><#if userFound>${authorUserDisplay.avatarUrl}</#if></#assign>
|
||||||
<#assign quoteId=quoteId>
|
"type": "section",
|
||||||
<#assign quoteDescription=quoteContent>
|
"components": [
|
||||||
<#assign quoteJumpUrl=quotedMessage.jumpUrl>
|
{
|
||||||
"description": "<@safe_include "quote_response_description"/>",
|
"type": "textDisplay",
|
||||||
"footer": {
|
"content": "<@safe_include "quote_response_header_author_name"/>"
|
||||||
<#assign adderUserName><@default_template_if_null adderName "quote_response_default_adder_name"/></#assign>
|
}
|
||||||
"text": "<@safe_include "quote_response_footer_adder_name" />"
|
],
|
||||||
<#if adderAvatarURL??>,"icon": "${adderAvatarURL}"</#if>
|
"accessory": {
|
||||||
},
|
"type": "thumbnail",
|
||||||
<#if imageAttachmentURLs?size = 1>
|
"url": "${authorAvatar}"
|
||||||
"imageUrl": "${imageAttachmentURLs[0]}",
|
}
|
||||||
|
<#else>
|
||||||
|
"type": "textDisplay",
|
||||||
|
"content": "<@safe_include "quote_response_header_author_name"/>"
|
||||||
</#if>
|
</#if>
|
||||||
"timeStamp": "${creationDate}"
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "section",
|
||||||
|
"components": [
|
||||||
|
{
|
||||||
|
<#assign quoteId=quoteId>
|
||||||
|
"type": "textDisplay",
|
||||||
|
"content": "<@safe_include "quote_response_title"/>"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
<#assign quoteJumpUrl=quotedMessage.jumpUrl>
|
||||||
|
"accessory": {
|
||||||
|
"type": "button",
|
||||||
|
"label": "<@safe_include "quote_response_jump_label"/>",
|
||||||
|
"url": "${quoteJumpUrl}",
|
||||||
|
"buttonStyle": "link"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "container",
|
||||||
|
"components": [
|
||||||
|
<#assign hasContent=false>
|
||||||
|
<#if quoteContent?has_content>
|
||||||
|
<#assign hasContent=true>
|
||||||
|
{
|
||||||
|
"type": "textDisplay",
|
||||||
|
<#assign quoteDescription=quoteContent?json_string>
|
||||||
|
"content": "${quoteDescription}"
|
||||||
|
}
|
||||||
|
</#if>
|
||||||
|
<#if mediaAttachmentURLs?size gt 0>
|
||||||
|
<#assign hasContent=true>
|
||||||
|
,{
|
||||||
|
"type": "mediaGallery",
|
||||||
|
"images": [
|
||||||
|
<#list mediaAttachmentURLs as image>
|
||||||
|
{
|
||||||
|
"url": "${image}"
|
||||||
|
}<#sep>,</#list>
|
||||||
|
]
|
||||||
|
}
|
||||||
|
</#if>
|
||||||
|
<#if hasContent==false>
|
||||||
|
{
|
||||||
|
"type": "textDisplay",
|
||||||
|
"content": "<@safe_include "quote_response_no_content"/>"
|
||||||
|
}
|
||||||
|
</#if>
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"messageConfig": {
|
||||||
|
"allowsUserMention": false,
|
||||||
|
"useComponentsV2": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>module-templates</artifactId>
|
<artifactId>module-templates</artifactId>
|
||||||
<groupId>dev.sheldan.sissi.templates</groupId>
|
<groupId>dev.sheldan.sissi.templates</groupId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>dev.sheldan.sissi.templates</groupId>
|
<groupId>dev.sheldan.sissi.templates</groupId>
|
||||||
<artifactId>templates</artifactId>
|
<artifactId>templates</artifactId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>dev.sheldan.sissi.templates</groupId>
|
<groupId>dev.sheldan.sissi.templates</groupId>
|
||||||
<artifactId>template-overrides</artifactId>
|
<artifactId>template-overrides</artifactId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>dev.sheldan.sissi.templates</groupId>
|
<groupId>dev.sheldan.sissi.templates</groupId>
|
||||||
<artifactId>template-overrides</artifactId>
|
<artifactId>template-overrides</artifactId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>dev.sheldan.sissi.templates</groupId>
|
<groupId>dev.sheldan.sissi.templates</groupId>
|
||||||
<artifactId>template-overrides</artifactId>
|
<artifactId>template-overrides</artifactId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>sissi-templates</artifactId>
|
<artifactId>sissi-templates</artifactId>
|
||||||
<groupId>dev.sheldan.sissi.templates</groupId>
|
<groupId>dev.sheldan.sissi.templates</groupId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
@@ -13,6 +13,7 @@
|
|||||||
<module>moderation-template-overrides</module>
|
<module>moderation-template-overrides</module>
|
||||||
<module>experience-template-overrides</module>
|
<module>experience-template-overrides</module>
|
||||||
<module>logging-template-overrides</module>
|
<module>logging-template-overrides</module>
|
||||||
|
<module>starboard-template-overrides</module>
|
||||||
</modules>
|
</modules>
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
<?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>template-overrides</artifactId>
|
||||||
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
|
</parent>
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<artifactId>starboard-template-overrides</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-template-overrides-${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,23 @@
|
|||||||
|
"color" : {
|
||||||
|
<#if starCount gte 15>
|
||||||
|
"r": 192,
|
||||||
|
"g": 31,
|
||||||
|
"b": 1
|
||||||
|
<#elseif starCount gte 10>
|
||||||
|
"r": 67,
|
||||||
|
"g": 150,
|
||||||
|
"b": 154
|
||||||
|
<#elseif starCount gte 5>
|
||||||
|
"r": 212,
|
||||||
|
"g": 175,
|
||||||
|
"b": 55
|
||||||
|
<#elseif starCount gte 3>
|
||||||
|
"r": 49,
|
||||||
|
"g": 55,
|
||||||
|
"b": 61
|
||||||
|
<#else>
|
||||||
|
"r": 0,
|
||||||
|
"g": 0,
|
||||||
|
"b": 0
|
||||||
|
</#if>
|
||||||
|
},
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>dev.sheldan.sissi.templates.translations</groupId>
|
<groupId>dev.sheldan.sissi.templates.translations</groupId>
|
||||||
<artifactId>customization-translations</artifactId>
|
<artifactId>customization-translations</artifactId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
Mute yourself for a duration
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
Mute yourself for a given duration. This can be used in case you want to stay away from the server and do not feel you have the self-control.
|
||||||
|
This cannot be undone by yourself.
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
The duration to be muted for.
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Self mute
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>sissi-translations</artifactId>
|
<artifactId>sissi-translations</artifactId>
|
||||||
<groupId>dev.sheldan.sissi.templates.translations</groupId>
|
<groupId>dev.sheldan.sissi.templates.translations</groupId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>module-translations</artifactId>
|
<artifactId>module-translations</artifactId>
|
||||||
<groupId>dev.sheldan.sissi.templates.translations</groupId>
|
<groupId>dev.sheldan.sissi.templates.translations</groupId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>dev.sheldan.sissi.templates.translations</groupId>
|
<groupId>dev.sheldan.sissi.templates.translations</groupId>
|
||||||
<artifactId>module-translations</artifactId>
|
<artifactId>module-translations</artifactId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
${topic?json_string} - <@format_instant_long_date_time instant=meetupTime/>
|
||||||
|
|
||||||
|
${description?json_string}
|
||||||
|
|
||||||
|
<#if hasLocation>https://www.google.com/maps?q=${location?json_string}</#if>
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Go to meetup
|
||||||
@@ -1,3 +1,2 @@
|
|||||||
Time: ${time} ${timeRelative}
|
Time: ${time} ${timeRelative}
|
||||||
Link: [here](${link})
|
|
||||||
Meetup Topic: `${topic?json_string}`
|
Meetup Topic: `${topic?json_string}`
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
Description: ${descriptionText}
|
||||||
|
|
||||||
|
Organized by: ${organizerText}
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
Time: ${time} ${timeRelative}
|
|
||||||
<#if descriptionText?hasContent>Description: ${descriptionText}</#if>
|
|
||||||
Organized by: ${organizerText}
|
|
||||||
|
|
||||||
Participants: ${participantsText}
|
|
||||||
|
|
||||||
Maybe: ${maybeParticipantsText}
|
|
||||||
|
|
||||||
Declined: ${declinedParticipantsText}
|
|
||||||
|
|
||||||
No time: ${noTimeParticipantsText}
|
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Time: ${time} ${timeRelative}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Declined: ${declinedParticipantsText}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Maybe: ${maybeParticipantsText}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
No time: ${noTimeParticipantsText}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Participants: ${participantsText}
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>dev.sheldan.sissi.templates.translations</groupId>
|
<groupId>dev.sheldan.sissi.templates.translations</groupId>
|
||||||
<artifactId>module-translations</artifactId>
|
<artifactId>module-translations</artifactId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<artifactId>miepscord-translations</artifactId>
|
<artifactId>miepscord-translations</artifactId>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>dev.sheldan.sissi.templates.translations</groupId>
|
<groupId>dev.sheldan.sissi.templates.translations</groupId>
|
||||||
<artifactId>sissi-translations</artifactId>
|
<artifactId>sissi-translations</artifactId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>dev.sheldan.sissi.templates.translations</groupId>
|
<groupId>dev.sheldan.sissi.templates.translations</groupId>
|
||||||
<artifactId>module-translations</artifactId>
|
<artifactId>module-translations</artifactId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|||||||
@@ -1,2 +0,0 @@
|
|||||||
[**Quote #${quoteId?c}**](${quoteJumpUrl})
|
|
||||||
${quoteDescription}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
Added by ${adderUserName}
|
|
||||||
@@ -1 +1 @@
|
|||||||
${authorName} in ${channelName}
|
${authorName} in ${channelName} added by ${adderUserName} at ${creationDate}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Go to quote
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
No content found.
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
## Quote #${quoteId}
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>module-translations</artifactId>
|
<artifactId>module-translations</artifactId>
|
||||||
<groupId>dev.sheldan.sissi.templates.translations</groupId>
|
<groupId>dev.sheldan.sissi.templates.translations</groupId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>dev.sheldan.sissi.templates</groupId>
|
<groupId>dev.sheldan.sissi.templates</groupId>
|
||||||
<artifactId>templates</artifactId>
|
<artifactId>templates</artifactId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>dev.sheldan.sissi.templates.translations.overrides</groupId>
|
<groupId>dev.sheldan.sissi.templates.translations.overrides</groupId>
|
||||||
<artifactId>translation-overrides</artifactId>
|
<artifactId>translation-overrides</artifactId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>dev.sheldan.sissi.templates.translations.overrides</groupId>
|
<groupId>dev.sheldan.sissi.templates.translations.overrides</groupId>
|
||||||
<artifactId>translation-overrides</artifactId>
|
<artifactId>translation-overrides</artifactId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>dev.sheldan.sissi.templates.translations.overrides</groupId>
|
<groupId>dev.sheldan.sissi.templates.translations.overrides</groupId>
|
||||||
<artifactId>translation-overrides</artifactId>
|
<artifactId>translation-overrides</artifactId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>dev.sheldan.sissi.templates.translations.overrides</groupId>
|
<groupId>dev.sheldan.sissi.templates.translations.overrides</groupId>
|
||||||
<artifactId>translation-overrides</artifactId>
|
<artifactId>translation-overrides</artifactId>
|
||||||
<version>1.5.5</version>
|
<version>1.5.14-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user