commit b82cea9789a7ff96a3fde96c0da5a1e421c32603 parent 94b35942862a04d01c8e7176ccbda017b9f3d5da Author: Wim Dupont <wim@wimdupont.com> Date: Sat, 1 Nov 2025 07:25:31 +0100 minor fixes Diffstat:
13 files changed, 23 insertions(+), 24 deletions(-)
diff --git a/pom.xml b/pom.xml @@ -5,7 +5,7 @@ <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> - <version>3.5.6</version> + <version>3.5.7</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.wimdupont</groupId> @@ -16,7 +16,7 @@ <properties> <java.version>21</java.version> - <dv8ation.jda.version>5.6.1</dv8ation.jda.version> + <dv8ation.jda.version>6.1.0</dv8ation.jda.version> </properties> <dependencies> diff --git a/src/main/java/com/wimdupont/sxcybot/SxcyBotApplication.java b/src/main/java/com/wimdupont/sxcybot/SxcyBotApplication.java @@ -12,6 +12,7 @@ import net.dv8tion.jda.api.JDA; import net.dv8tion.jda.api.JDABuilder; import net.dv8tion.jda.api.entities.Activity; import net.dv8tion.jda.api.requests.GatewayIntent; +import net.dv8tion.jda.api.utils.MemberCachePolicy; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; @@ -70,6 +71,7 @@ public class SxcyBotApplication implements CommandLineRunner { ) .addEventListeners(chatListener, guildMemberEventListener, pollReactionListener) .setActivity(Activity.listening(Commands.COMMAND_PREFIX + Command.HELP.name().toLowerCase())) + .setMemberCachePolicy(MemberCachePolicy.ALL) .build(); try { LOGGER.debug("Awaiting jda {}", jda); diff --git a/src/main/java/com/wimdupont/sxcybot/client/GrandExchangeClient.java b/src/main/java/com/wimdupont/sxcybot/client/GrandExchangeClient.java @@ -26,7 +26,7 @@ public class GrandExchangeClient { public String getPrice(String itemName, MessageChannel channel) throws EntityNotFoundException { RestTemplate restTemplate = new RestTemplateBuilder() .errorHandler(new ClientErrorHandler(channel)) - .setReadTimeout(Duration.ofSeconds(30)) + .readTimeout(Duration.ofSeconds(30)) .build(); Object result = restTemplate.getForEntity(String.format(URL, itemName), Object.class).getBody(); if (result != null) { diff --git a/src/main/java/com/wimdupont/sxcybot/client/HiScoreClient.java b/src/main/java/com/wimdupont/sxcybot/client/HiScoreClient.java @@ -17,20 +17,20 @@ public class HiScoreClient { private static final String URL = "https://secure.runescape.com/m=hiscore_oldschool/index_lite.json?player=%s"; private static final Logger LOGGER = LoggerFactory.getLogger(HiScoreClient.class); - public HiscoreDto getHiScores(String playername, MessageChannel channel) throws EntityNotFoundException { + public HiscoreDto getHiScores(String playerName, MessageChannel channel) throws EntityNotFoundException { RestTemplate restTemplate = new RestTemplateBuilder() .errorHandler(new ClientErrorHandler(channel)) - .setReadTimeout(Duration.ofSeconds(30)) + .readTimeout(Duration.ofSeconds(30)) .build(); try { - HiscoreDto result = restTemplate.getForObject(String.format(URL, playername), HiscoreDto.class); + HiscoreDto result = restTemplate.getForObject(String.format(URL, playerName), HiscoreDto.class); if (result == null) { throw new Exception("Hiscore result is null"); } return result; } catch (Exception e) { LOGGER.error(e.getMessage(), e); - throw new EntityNotFoundException(String.format("No hiscores available for %s.", playername)); + throw new EntityNotFoundException(String.format("No hiscores available for %s.", playerName)); } } } diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/admin/EditBanlistListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/admin/EditBanlistListener.java @@ -45,7 +45,7 @@ public class EditBanlistListener implements Listener { .privateChannel(privateChannel) .entityName("user to banlist") .build(); - editListenerUtil.procesEditEvent(editListenerDto); + editListenerUtil.processEditEvent(editListenerDto); } catch (RateLimitedException e) { LOGGER.error(e.getMessage(), e); } diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/admin/EditPvmListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/admin/EditPvmListener.java @@ -45,7 +45,7 @@ public class EditPvmListener implements Listener { .privateChannel(privateChannel) .entityName("PvM competitor") .build(); - editListenerUtil.procesEditEvent(editListenerDto); + editListenerUtil.processEditEvent(editListenerDto); } catch (RateLimitedException e) { LOGGER.error(e.getMessage(), e); } diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/admin/EditRoleListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/admin/EditRoleListener.java @@ -42,7 +42,7 @@ public class EditRoleListener implements Listener { .privateChannel(privateChannel) .entityName("role") .build(); - editListenerUtil.procesEditEvent(editListenerDto); + editListenerUtil.processEditEvent(editListenerDto); } catch (RateLimitedException e) { LOGGER.error(e.getMessage(), e); } diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/admin/EditRuleListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/admin/EditRuleListener.java @@ -45,7 +45,7 @@ public class EditRuleListener implements Listener { .privateChannel(privateChannel) .entityName("rule") .build(); - editListenerUtil.procesEditEvent(editListenerDto); + editListenerUtil.processEditEvent(editListenerDto); } catch (RateLimitedException e) { LOGGER.error(e.getMessage(), e); } diff --git a/src/main/java/com/wimdupont/sxcybot/repository/guild/pvmrole/PvmRoleUserRepository.java b/src/main/java/com/wimdupont/sxcybot/repository/guild/pvmrole/PvmRoleUserRepository.java @@ -10,5 +10,7 @@ import java.util.Optional; public interface PvmRoleUserRepository extends JpaRepository<PvmRoleUser, String> { Optional<PvmRoleUser> findByDiscordId(String discordId); - Optional<PvmRoleUser> findByRsn(String rsn); + + Optional<PvmRoleUser> findByRsnIgnoreCase(String rsn); + } diff --git a/src/main/java/com/wimdupont/sxcybot/services/guild/pvmrole/PvmRoleUserService.java b/src/main/java/com/wimdupont/sxcybot/services/guild/pvmrole/PvmRoleUserService.java @@ -39,7 +39,7 @@ public class PvmRoleUserService { public PvmRoleUser findByRsn(String rsn) throws EntityNotFoundException { LOGGER.debug("Searching pvmRoleUser by RSN: {}", rsn); - return pvmRoleUserRepository.findByRsn(rsn).orElseThrow(() + return pvmRoleUserRepository.findByRsnIgnoreCase(rsn).orElseThrow(() -> new EntityNotFoundException(String.format("No such discord user found in the PvM competition.%sYou can check all competitors with the \"%s\" command." , System.lineSeparator(), COMMAND_PREFIX + PVMLIST.name().toLowerCase()))); } diff --git a/src/main/java/com/wimdupont/sxcybot/util/EditListenerUtil.java b/src/main/java/com/wimdupont/sxcybot/util/EditListenerUtil.java @@ -16,7 +16,7 @@ public class EditListenerUtil { this.eventWaiter = eventWaiter; } - public void procesEditEvent(EditListenerDto editListenerDto) { + public void processEditEvent(EditListenerDto editListenerDto) { EmbedBuilder embedBuilder = getEmbedBuilder(editListenerDto); editListenerDto.privateChannel().sendMessageEmbeds(embedBuilder.build()).queue(); eventWaiter.waitForPrivateChannelEvent(commandReceiver -> { diff --git a/src/main/java/com/wimdupont/sxcybot/util/ReleaseNotesUtil.java b/src/main/java/com/wimdupont/sxcybot/util/ReleaseNotesUtil.java @@ -18,7 +18,6 @@ import java.util.Arrays; import java.util.LinkedHashMap; import java.util.Map; import java.util.Map.Entry; -import java.util.Optional; @Component public class ReleaseNotesUtil { @@ -52,10 +51,11 @@ public class ReleaseNotesUtil { private static Map<String, String> getReleaseNotes() { Map<String, String> releaseNotes = new LinkedHashMap<>(); - try { - InputStream in = Optional.ofNullable(ReleaseNotesUtil.class.getResourceAsStream("/releasenotes.csv")) - .orElseThrow(() -> new IOException("File releasenotes.csv not found!")); - Arrays.stream(new String(in.readAllBytes(), StandardCharsets.UTF_8).split("\n")).forEach(line -> { + try (InputStream inputStream = ReleaseNotesUtil.class.getResourceAsStream("/releasenotes.csv")) { + if (inputStream == null) { + throw new IOException("File releasenotes.csv not found!"); + } + Arrays.stream(new String(inputStream.readAllBytes(), StandardCharsets.UTF_8).split("\n")).forEach(line -> { if (!line.isEmpty()) releaseNotes.put(line.split(";")[0], line.split(";")[1].trim()); }); diff --git a/src/main/java/com/wimdupont/sxcybot/util/SpringSecurityAuditorAware.java b/src/main/java/com/wimdupont/sxcybot/util/SpringSecurityAuditorAware.java @@ -9,11 +9,6 @@ import java.util.Optional; @Component public class SpringSecurityAuditorAware implements AuditorAware<String> { - /** - * Returns the current auditor of the application. - * - * @return the current auditor - */ @Override public Optional<String> getCurrentAuditor() { return Optional.empty();