Compare commits

...

5 Commits

56 changed files with 247 additions and 77 deletions

2
.env
View File

@@ -1,4 +1,4 @@
REGISTRY_PREFIX=harbor.sheldan.dev/oneplus-bot/
ABSTRACTO_PREFIX=harbor.sheldan.dev/abstracto/
VERSION=1.7.1
VERSION=1.7.2
ABSTRACTO_VERSION=1.6.8

View File

@@ -31,3 +31,23 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
user: Sheldan
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 oneplus-bot

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.oneplus.bot.application</groupId>
<artifactId>application</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>executable</artifactId>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.oneplus.bot.application.custom</groupId>
<artifactId>oneplus-bot-customizations</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent>
<artifactId>oneplus-bot-customizations</artifactId>
<groupId>dev.sheldan.oneplus.bot.application.custom</groupId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.oneplus.bot.application</groupId>
<artifactId>application</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.oneplus.bot.application.custom</groupId>
<artifactId>oneplus-bot-customizations</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent>
<artifactId>oneplus-bot-modules</artifactId>
<groupId>dev.sheldan.oneplus.bot.application.modules</groupId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.oneplus.bot.application.modules</groupId>
<artifactId>oneplus-bot-modules</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -36,10 +36,24 @@ public class UpdateNews extends AbstractConditionableCommand {
@Override
public CommandConfiguration getConfiguration() {
Parameter newsPostId = Parameter.builder().name("newsPostId").type(Long.class).templated(true).build();
Parameter newsText = Parameter.builder().name("text").type(String.class).remainder(true).templated(true).build();
Parameter newsPostId = Parameter
.builder()
.name("newsPostId")
.type(Long.class)
.templated(true)
.build();
Parameter newsText = Parameter
.builder()
.name("text")
.type(String.class)
.remainder(true)
.templated(true)
.build();
List<Parameter> parameters = Arrays.asList(newsPostId, newsText);
HelpInfo helpInfo = HelpInfo.builder().templated(true).build();
HelpInfo helpInfo = HelpInfo
.builder()
.templated(true)
.build();
return CommandConfiguration.builder()
.name("updateNews")
.module(NewsModuleDefinition.NEWS)

View File

@@ -2,6 +2,7 @@ package dev.sheldan.oneplus.bot.modules.news.config;
import dev.sheldan.abstracto.core.config.FeatureConfig;
import dev.sheldan.abstracto.core.config.FeatureDefinition;
import dev.sheldan.abstracto.core.config.FeatureMode;
import dev.sheldan.abstracto.core.config.PostTargetEnum;
import org.springframework.stereotype.Component;
@@ -22,4 +23,9 @@ public class NewsFeature implements FeatureConfig {
public List<PostTargetEnum> getRequiredPostTargets() {
return Arrays.asList(NewsPostTarget.NEWS_TARGET, NewsPostTarget.FORUM_POST_NOTIFICATION);
}
@Override
public List<FeatureMode> getAvailableModes() {
return Arrays.asList(NewsFeatureMode.AUTOMATIC_POST, NewsFeatureMode.AUTOMATIC_PUBLISH);
}
}

View File

@@ -0,0 +1,16 @@
package dev.sheldan.oneplus.bot.modules.news.config;
import dev.sheldan.abstracto.core.config.FeatureMode;
import lombok.Getter;
@Getter
public enum NewsFeatureMode implements FeatureMode {
AUTOMATIC_POST("automaticPost"),
AUTOMATIC_PUBLISH("automaticPublish");
private final String key;
NewsFeatureMode(String key) {
this.key = key;
}
}

View File

@@ -0,0 +1,24 @@
package dev.sheldan.oneplus.bot.modules.news.model;
import dev.sheldan.oneplus.bot.modules.news.model.forum.ForumPost;
import lombok.Builder;
import lombok.Getter;
@Builder
@Getter
public class ForumPostEntry {
private Long postId;
private String subject;
private String content;
private Long creatorId;
public static ForumPostEntry fromPost(ForumPost forumPost) {
return ForumPostEntry
.builder()
.postId(forumPost.getId())
.subject(forumPost.getSubject())
.content(forumPost.getContent())
.creatorId(forumPost.getSource().getUserId())
.build();
}
}

View File

@@ -0,0 +1,12 @@
package dev.sheldan.oneplus.bot.modules.news.model;
import lombok.Builder;
import lombok.Getter;
import java.util.List;
@Getter
@Builder
public class ForumPostModel {
private List<ForumPostEntry> entries;
}

View File

@@ -1,10 +1,15 @@
package dev.sheldan.oneplus.bot.modules.news.service;
import dev.sheldan.abstracto.core.service.FeatureModeService;
import dev.sheldan.abstracto.core.service.PostTargetService;
import dev.sheldan.abstracto.core.templating.model.MessageToSend;
import dev.sheldan.abstracto.core.templating.service.TemplateService;
import dev.sheldan.abstracto.core.utils.FutureUtils;
import dev.sheldan.oneplus.bot.modules.news.config.NewsFeatureDefinition;
import dev.sheldan.oneplus.bot.modules.news.config.NewsFeatureMode;
import dev.sheldan.oneplus.bot.modules.news.config.NewsPostTarget;
import dev.sheldan.oneplus.bot.modules.news.model.ForumPostEntry;
import dev.sheldan.oneplus.bot.modules.news.model.ForumPostModel;
import dev.sheldan.oneplus.bot.modules.news.model.ForumPostNotificationEntry;
import dev.sheldan.oneplus.bot.modules.news.model.ForumPostNotificationModel;
import dev.sheldan.oneplus.bot.modules.news.model.database.NewsForumPost;
@@ -13,11 +18,14 @@ import dev.sheldan.oneplus.bot.modules.news.model.forum.ForumPost;
import dev.sheldan.oneplus.bot.modules.news.service.management.NewsForumPostManagementServiceBean;
import dev.sheldan.oneplus.bot.modules.news.service.management.NewsSourceManagementServiceBean;
import lombok.extern.slf4j.Slf4j;
import net.dv8tion.jda.api.entities.Message;
import org.apache.commons.lang3.tuple.Pair;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -45,7 +53,11 @@ public class NewsSourceServiceBean {
@Autowired
private NewsSourceServiceBean self;
@Autowired
private FeatureModeService featureModeService;
private static final String NEWS_FORUM_POST_NOTIFICATION_TEMPLATE_KEY = "newsForumPost_notification";
private static final String NEWS_FORUM_POST_TEMPLATE_KEY = "newsForumPost";
public void checkForNewThreads() {
Long targetServerId = Long.parseLong(System.getenv(NEWS_FORUM_POST_NOTIFICATION_SERVER_ID_ENV_NAME));
@@ -54,34 +66,75 @@ public class NewsSourceServiceBean {
if(newForumPosts.isEmpty()) {
return;
}
List<ForumPostNotificationEntry> entries = new ArrayList<>();
newForumPosts.forEach(forumPost -> entries.add(ForumPostNotificationEntry.fromPost(forumPost)));
ForumPostNotificationModel model = ForumPostNotificationModel
.builder()
.entries(entries)
.build();
if(featureModeService.featureModeActive(NewsFeatureDefinition.NEWS, targetServerId, NewsFeatureMode.AUTOMATIC_POST)) {
List<ForumPostEntry> entries = new ArrayList<>();
newForumPosts.forEach(forumPost -> entries.add(ForumPostEntry.fromPost(forumPost)));
ForumPostModel model = ForumPostModel
.builder()
.entries(entries)
.build();
MessageToSend messageToSend = templateService.renderEmbedTemplate(NEWS_FORUM_POST_TEMPLATE_KEY, model, targetServerId);
List<CompletableFuture<Message>> messageFutures = postTargetService.sendEmbedInPostTarget(messageToSend, NewsPostTarget.NEWS_TARGET, targetServerId);
FutureUtils.toSingleFutureGeneric(messageFutures)
.thenAccept(unused -> {
log.info("Sent news forum post notification.");
List<Pair<Long, Long>> posts = entries
.stream()
.map(forumPostNotificationEntry -> Pair.of(forumPostNotificationEntry.getCreatorId(), forumPostNotificationEntry.getPostId()))
.toList();
self.persistForumPostsAndThreadCount(posts);
self.handleAutomaticPublish(messageFutures, targetServerId);
});
} else {
List<ForumPostNotificationEntry> entries = new ArrayList<>();
newForumPosts.forEach(forumPost -> entries.add(ForumPostNotificationEntry.fromPost(forumPost)));
ForumPostNotificationModel model = ForumPostNotificationModel
.builder()
.entries(entries)
.build();
MessageToSend messageToSend = templateService.renderEmbedTemplate(NEWS_FORUM_POST_NOTIFICATION_TEMPLATE_KEY, model, targetServerId);
FutureUtils.toSingleFutureGeneric(postTargetService.sendEmbedInPostTarget(messageToSend, NewsPostTarget.FORUM_POST_NOTIFICATION, targetServerId))
.thenAccept(unused -> {
log.info("Sent news forum post notification.");
List<Pair<Long, Long>> posts = entries
.stream()
.map(forumPostNotificationEntry -> Pair.of(forumPostNotificationEntry.getCreatorId(), forumPostNotificationEntry.getPostId()))
.toList();
self.persistForumPostsAndThreadCount(posts);
}).exceptionally(throwable -> {
log.error("Failed to send news forum post notification.", throwable);
return null;
});
}
MessageToSend messageToSend = templateService.renderEmbedTemplate(NEWS_FORUM_POST_NOTIFICATION_TEMPLATE_KEY, model, targetServerId);
FutureUtils.toSingleFutureGeneric(postTargetService.sendEmbedInPostTarget(messageToSend, NewsPostTarget.FORUM_POST_NOTIFICATION, targetServerId))
.thenAccept(unused -> {
log.info("Sent news forum post notification.");
self.persistForumPostsAndThreadCount(entries);
}).exceptionally(throwable -> {
log.error("Failed to send news forum post notification.", throwable);
return null;
});
}
@Transactional
public void persistForumPostsAndThreadCount(List<ForumPostNotificationEntry> entries) {
public CompletableFuture<Message> handleAutomaticPublish(List<CompletableFuture<Message>> messageFutures, Long serverId) {
if(featureModeService.featureModeActive(NewsFeatureDefinition.NEWS, serverId, NewsFeatureMode.AUTOMATIC_PUBLISH)) {
if(messageFutures != null && !messageFutures.isEmpty() && messageFutures.get(0) != null) {
Message newsMessage = messageFutures.get(0).join();
log.info("Publishing message {} in server {}.", newsMessage.getId(), serverId);
return newsMessage.crosspost().submit();
} else {
log.info("No message found - not cross posting.");
return CompletableFuture.completedFuture(null);
}
} else {
log.info("Automatic publishing disabled in server {}.", serverId);
return CompletableFuture.completedFuture(null);
}
}
@Transactional
public void persistForumPostsAndThreadCount(List<Pair<Long, Long>> posts) {
Map<Long, NewsSource> sourceMap = newsSourceManagementServiceBean.loadNewsSources()
.stream()
.collect(Collectors.toMap(NewsSource::getUserId, Function.identity()));
entries.forEach(forumPostNotificationEntry ->
newsForumPostManagementServiceBean.createPost(sourceMap.get(forumPostNotificationEntry.getCreatorId()), forumPostNotificationEntry.getPostId()));
posts.forEach(forumPostNotificationEntry ->
newsForumPostManagementServiceBean.createPost(sourceMap.get(forumPostNotificationEntry.getLeft()), forumPostNotificationEntry.getRight()));
sourceMap.values().forEach(newsSource -> {
Long currentThreadCount = forumApiClient.getCurrentThreadCount(newsSource);

View File

@@ -7,6 +7,14 @@ abstracto.featureFlags.news.enabled=false
abstracto.feature.news.removalDays=4
abstracto.feature.news.postLockSeconds=3600
abstracto.featureModes.automaticPublish.featureName=news
abstracto.featureModes.automaticPublish.mode=automaticPublish
abstracto.featureModes.automaticPublish.enabled=false
abstracto.featureModes.automaticPost.featureName=news
abstracto.featureModes.automaticPost.mode=automaticPost
abstracto.featureModes.automaticPost.enabled=false
abstracto.feature.news.userURL=https://community.oneplus.com/ajax/user/frontend/user/info?uid=%s
# TODO support pagination.. eventually
abstracto.feature.news.threadURL=https://community.oneplus.com/ajax/user/frontend/thread/page?page=1&limit=100&uid=%s

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.oneplus.bot.application</groupId>
<artifactId>application</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.oneplus.bot.application.modules</groupId>
<artifactId>oneplus-bot-modules</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.oneplus.bot.application.modules</groupId>
<artifactId>oneplus-bot-modules</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent>
<artifactId>oneplus-bot-modules</artifactId>
<groupId>dev.sheldan.oneplus.bot.application.modules</groupId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -5,13 +5,13 @@
<parent>
<groupId>dev.sheldan.oneplus.bot</groupId>
<artifactId>oneplusbot</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<groupId>dev.sheldan.oneplus.bot.application</groupId>
<artifactId>application</artifactId>
<packaging>pom</packaging>
<version>1.7.2</version>
<version>1.7.3</version>
<modules>
<module>executable</module>
<module>oneplus-bot-customizations</module>

View File

@@ -2,4 +2,4 @@ apiVersion: v2
name: oneplus-bot
description: A Helm chart for Kubernetes
type: application
version: 1.7.1
version: 1.7.2

View File

@@ -3,7 +3,7 @@ bot:
repository: harbor.sheldan.dev/oneplus-bot
pullPolicy: IfNotPresent
image: oneplus-bot-image
tag: 1.7.1
tag: 1.7.2
livenessProbe:
initialDelaySeconds: 60
periodSeconds: 5
@@ -27,7 +27,7 @@ templateDeploymentData:
repository: harbor.sheldan.dev/oneplus-bot
pullPolicy: Always
image: oneplus-bot-template-data
tag: 1.7.1
tag: 1.7.2
dbConfigDeployment:
enabled: true
repository: harbor.sheldan.dev/abstracto
@@ -38,7 +38,7 @@ dbConfigDeploymentData:
repository: harbor.sheldan.dev/oneplus-bot
pullPolicy: Always
image: oneplus-bot-db-data
tag: 1.7.1
tag: 1.7.2
dbCredentials:
host: null
port: null
@@ -51,7 +51,7 @@ privateRestApi:
repository: harbor.sheldan.dev/oneplus-bot
pullPolicy: Always
image: oneplus-bot-private-rest-api
tag: 1.7.1
tag: 1.7.2
podAnnotations: {}
podSecurityContext: {}
securityContext: {}
@@ -82,7 +82,7 @@ restApi:
repository: harbor.sheldan.dev/oneplus-bot
pullPolicy: Always
image: oneplus-bot-rest-api
tag: 1.7.1
tag: 1.7.2
podAnnotations: {}
podSecurityContext: {}
securityContext: {}

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.oneplus.bot.deployment</groupId>
<artifactId>deployment</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent>
<artifactId>oneplusbot</artifactId>
<groupId>dev.sheldan.oneplus.bot</groupId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -12,7 +12,7 @@
<groupId>dev.sheldan.oneplus.bot</groupId>
<artifactId>oneplusbot</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
<properties>
<maven.compiler.target>17</maven.compiler.target>
@@ -69,6 +69,6 @@
<connection>scm:git:${project.scm.url}</connection>
<developerConnection>scm:git:${project.scm.url}</developerConnection>
<url>https://github.com/Sheldan/OnePlusBot.git</url>
<tag>oneplusbot-1.7.2</tag>
<tag>oneplusbot-1.7.3</tag>
</scm>
</project>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.oneplus.bot.templates.customizations</groupId>
<artifactId>customization-templates</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.oneplus.bot.templates</groupId>
<artifactId>oneplus-bot-templates</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.oneplus.bot.templates.customizations</groupId>
<artifactId>customization-templates</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.oneplus.bot.templates.modules</groupId>
<artifactId>oneplus-bot-module-templates</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.oneplus.bot.templates.modules</groupId>
<artifactId>oneplus-bot-module-templates</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -0,0 +1,17 @@
{
<#assign roleMention="<@&479202891358535681>"/>
"additionalMessage": "${roleMention}",
"embeds": [
{
<#macro postDisplay post>
${post.subject?json_string}
https://community.oneplus.com/thread/${post.postId?c}
</#macro>
"description": "<#list entries as entry><@postDisplay post=entry /></#list>"
}
],
"messageConfig": {
"allowsRoleMention": true
}
}

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.oneplus.bot.templates</groupId>
<artifactId>oneplus-bot-templates</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.oneplus.bot.templates.modules</groupId>
<artifactId>oneplus-bot-module-templates</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -3,13 +3,13 @@
<parent>
<groupId>dev.sheldan.oneplus.bot.templates</groupId>
<artifactId>templates</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>oneplus-bot-templates</artifactId>
<packaging>pom</packaging>
<version>1.7.2</version>
<version>1.7.3</version>
<modules>
<module>module-templates</module>
<module>customization-templates</module>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.oneplus.bot.templates.overrides</groupId>
<artifactId>template-overrides</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.oneplus.bot.templates.overrides</groupId>
<artifactId>template-overrides</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.oneplus.bot.templates.overrides</groupId>
<artifactId>template-overrides</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.oneplus.bot.templates.overrides</groupId>
<artifactId>template-overrides</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.oneplus.bot.templates</groupId>
<artifactId>oneplus-bot-templates</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.oneplus.bot.templates.overrides</groupId>
<artifactId>template-overrides</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.oneplus.bot.templates.overrides</groupId>
<artifactId>template-overrides</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -4,7 +4,7 @@
<parent>
<groupId>dev.sheldan.oneplus.bot</groupId>
<artifactId>oneplusbot</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modules>
@@ -14,7 +14,7 @@
<groupId>dev.sheldan.oneplus.bot.templates</groupId>
<artifactId>templates</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
<packaging>pom</packaging>
</project>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.oneplus.bot.templates.translations.customizations</groupId>
<artifactId>customization-translations</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.oneplus.bot.templates.translations.customizations</groupId>
<artifactId>customization-translations</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.oneplus.bot.templates.translations</groupId>
<artifactId>translations</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.oneplus.bot.templates.translations.customizations</groupId>
<artifactId>customization-translations</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.oneplus.bot.templates.translations.modules</groupId>
<artifactId>module-translations</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.oneplus.bot.templates.translations.modules</groupId>
<artifactId>module-translations</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.oneplus.bot.templates.translations</groupId>
<artifactId>translations</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.oneplus.bot.templates.translations.modules</groupId>
<artifactId>module-translations</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.oneplus.bot.templates.translations.modules</groupId>
<artifactId>module-translations</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.oneplus.bot.templates.translations.modules</groupId>
<artifactId>module-translations</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.oneplus.bot.templates</groupId>
<artifactId>templates</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.oneplus.bot.templates.translations.overrides</groupId>
<artifactId>translation-overrides</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.oneplus.bot.templates.translations</groupId>
<artifactId>translations</artifactId>
<version>1.7.2</version>
<version>1.7.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>