diff --git a/build.gradle.kts b/build.gradle.kts index f849d49..520aecb 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -29,6 +29,10 @@ allprojects { } } +tasks.test { + useJUnitPlatform() +} + dependencies { // Minimessage // implementation("net.kyori:adventure-text-minimessage:4.1.0-SNAPSHOT") diff --git a/src/main/java/com/alttd/proxydiscordlink/minecraft/listeners/LiteBansBanListener.java b/src/main/java/com/alttd/proxydiscordlink/minecraft/listeners/LiteBansBanListener.java index b23e8be..920ae46 100644 --- a/src/main/java/com/alttd/proxydiscordlink/minecraft/listeners/LiteBansBanListener.java +++ b/src/main/java/com/alttd/proxydiscordlink/minecraft/listeners/LiteBansBanListener.java @@ -13,6 +13,7 @@ import net.dv8tion.jda.api.entities.MessageEmbed; import net.luckperms.api.model.user.User; import java.awt.*; +import java.time.Instant; import java.util.Optional; import java.util.UUID; @@ -65,6 +66,7 @@ public class LiteBansBanListener { .setColor(entry.isPermanent() ? Color.RED : Color.ORANGE) .setAuthor(username, null, "https://crafatar.com/avatars/" + stringUuid + "?overlay") .addField("Banned by", entry.getExecutorName() == null ? "unknown" : entry.getExecutorName(), true) + .addField("Ban duration", getBanDuration(entry), true) .addField("Reason", entry.getReason() == null ? "unknown" : entry.getReason(), true) .setTitle("Auto Discord ban"); @@ -80,6 +82,13 @@ public class LiteBansBanListener { }); } + private String getBanDuration(Entry entry) { + if (entry.isPermanent()) + return "Permanent ban"; + Instant instant = Instant.ofEpochMilli(entry.getDateEnd()); + return String.format("", instant.getEpochSecond()); + } + private Optional banDiscordUserIfExists(Entry entry, UUID uuid) { if (!entry.isPermanent()) return Optional.empty(); diff --git a/src/main/java/com/alttd/proxydiscordlink/util/Evidence.java b/src/main/java/com/alttd/proxydiscordlink/util/Evidence.java index 18ea4b9..2edd052 100644 --- a/src/main/java/com/alttd/proxydiscordlink/util/Evidence.java +++ b/src/main/java/com/alttd/proxydiscordlink/util/Evidence.java @@ -20,14 +20,17 @@ public class Evidence { Config.NEXT_CLOUD.USERNAME, Config.NEXT_CLOUD.PASSWORD ); - String evidenceFilePath = String.format("/Altitude/Altitude Moderation Tools/Evidence/%s", username); + String evidenceFilePath = String.format("/Evidence/%s", username); if (!nextcloudConnector.folderExists(evidenceFilePath)) { nextcloudConnector.createFolder(evidenceFilePath); } - nextcloudConnector.createFolder(evidenceFilePath + "/" + getCurrentDate()); + String newEvidenceFolderPath = evidenceFilePath + "/" + getCurrentDate(); + if (!nextcloudConnector.folderExists(newEvidenceFolderPath)) { + nextcloudConnector.createFolder(newEvidenceFolderPath); + } String id; try { - id = nextcloudConnector.getProperties(evidenceFilePath + "/" + getCurrentDate(), true).getId(); + id = nextcloudConnector.getProperties(newEvidenceFolderPath, true).getId(); } catch (IOException e) { ALogger.error("Failed to get share link for Next Cloud folder", e); return Optional.empty(); diff --git a/src/test/java/com/alttd/proxydiscordlink/util/EvidenceTest.java b/src/test/java/com/alttd/proxydiscordlink/util/EvidenceTest.java index 5ecfd7d..587920f 100644 --- a/src/test/java/com/alttd/proxydiscordlink/util/EvidenceTest.java +++ b/src/test/java/com/alttd/proxydiscordlink/util/EvidenceTest.java @@ -2,6 +2,8 @@ package com.alttd.proxydiscordlink.util; import org.junit.jupiter.api.Test; +import java.util.Optional; + import static org.junit.jupiter.api.Assertions.assertTrue; public class EvidenceTest { @@ -9,11 +11,9 @@ public class EvidenceTest { @Test void shouldReturnEvidenceUrl() { Evidence evidence = new Evidence(); - - evidence.getNewEvidenceFolder("akastijn").thenAccept(evidenceUrl -> { - assertTrue(evidenceUrl.isPresent()); - System.out.println(evidenceUrl.get()); - }); + Optional evidenceUrl = evidence.getNewEvidenceFolder("akastijn").join(); + assertTrue(evidenceUrl.isPresent()); + System.out.println(evidenceUrl.get()); }