commit 406f61b6bf95dc1cb16d62ac1b0a41d5f6398f15 parent 99713dca2f63576b9bc801b4f5bfafcec0de017e Author: Wim Dupont <wim@wimdupont.com> Date: Fri, 7 Nov 2025 17:16:17 +0100 code cleanup Diffstat:
54 files changed, 171 insertions(+), 240 deletions(-)
diff --git a/src/main/java/com/wimdupont/sxcybot/SxcyBotApplication.java b/src/main/java/com/wimdupont/sxcybot/SxcyBotApplication.java @@ -61,7 +61,7 @@ public class SxcyBotApplication implements CommandLineRunner { @Override public void run(String[] args) { LOGGER.debug("Jda to be created"); - JDA jda = JDABuilder.createLight(token, + var jda = JDABuilder.createLight(token, GatewayIntent.MESSAGE_CONTENT, GatewayIntent.GUILD_MESSAGES, GatewayIntent.DIRECT_MESSAGES, diff --git a/src/main/java/com/wimdupont/sxcybot/client/ClientErrorHandler.java b/src/main/java/com/wimdupont/sxcybot/client/ClientErrorHandler.java @@ -16,7 +16,7 @@ public class ClientErrorHandler extends DefaultResponseErrorHandler { @Override public void handleError(ClientHttpResponse response) throws IOException { - String errorMsg = String.format("No results found. (%s)", response.getStatusText()); + var errorMsg = String.format("No results found. (%s)", response.getStatusText()); if (channel != null) { channel.sendMessage(errorMsg).queue(); } else { diff --git a/src/main/java/com/wimdupont/sxcybot/client/GrandExchangeClient.java b/src/main/java/com/wimdupont/sxcybot/client/GrandExchangeClient.java @@ -7,7 +7,6 @@ import com.wimdupont.sxcybot.util.NumberFormatter; import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel; import org.springframework.boot.web.client.RestTemplateBuilder; import org.springframework.stereotype.Component; -import org.springframework.web.client.RestTemplate; import java.time.Duration; import java.util.Map; @@ -24,11 +23,11 @@ public class GrandExchangeClient { @SuppressWarnings("unchecked") public String getPrice(String itemName, MessageChannel channel) throws EntityNotFoundException { - RestTemplate restTemplate = new RestTemplateBuilder() + var restTemplate = new RestTemplateBuilder() .errorHandler(new ClientErrorHandler(channel)) .readTimeout(Duration.ofSeconds(30)) .build(); - Object result = restTemplate.getForEntity(String.format(URL, itemName), Object.class).getBody(); + var result = restTemplate.getForEntity(String.format(URL, itemName), Object.class).getBody(); if (result != null) { try { return NumberFormatter.format(objectMapper diff --git a/src/main/java/com/wimdupont/sxcybot/client/HiScoreClient.java b/src/main/java/com/wimdupont/sxcybot/client/HiScoreClient.java @@ -7,7 +7,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.web.client.RestTemplateBuilder; import org.springframework.stereotype.Component; -import org.springframework.web.client.RestTemplate; import java.time.Duration; @@ -18,12 +17,12 @@ public class HiScoreClient { private static final Logger LOGGER = LoggerFactory.getLogger(HiScoreClient.class); public HiscoreDto getHiScores(String playerName, MessageChannel channel) throws EntityNotFoundException { - RestTemplate restTemplate = new RestTemplateBuilder() + var restTemplate = new RestTemplateBuilder() .errorHandler(new ClientErrorHandler(channel)) .readTimeout(Duration.ofSeconds(30)) .build(); try { - HiscoreDto result = restTemplate.getForObject(String.format(URL, playerName), HiscoreDto.class); + var result = restTemplate.getForObject(String.format(URL, playerName), HiscoreDto.class); if (result == null) { throw new Exception("Hiscore result is null"); } diff --git a/src/main/java/com/wimdupont/sxcybot/client/WiseOldManClient.java b/src/main/java/com/wimdupont/sxcybot/client/WiseOldManClient.java @@ -7,7 +7,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.web.client.RestTemplateBuilder; import org.springframework.stereotype.Component; -import org.springframework.web.client.RestTemplate; import java.time.Duration; @@ -19,12 +18,12 @@ public class WiseOldManClient { private final Logger LOGGER = LoggerFactory.getLogger(this.getClass()); public GroupDto getGroup(MessageChannel channel) throws EntityNotFoundException { - RestTemplate restTemplate = new RestTemplateBuilder() + var restTemplate = new RestTemplateBuilder() .errorHandler(new ClientErrorHandler(channel)) .readTimeout(Duration.ofSeconds(30)) .build(); try { - GroupDto result = restTemplate.getForObject(String.format(URL, GROUP), GroupDto.class); + var result = restTemplate.getForObject(String.format(URL, GROUP), GroupDto.class); if (result == null) { throw new Exception("Wise Old Man Groupo is null"); } diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/AdminCommandListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/AdminCommandListener.java @@ -12,13 +12,10 @@ import com.wimdupont.sxcybot.listeners.admin.RoleAssignListener; import com.wimdupont.sxcybot.listeners.admin.pvmrole.AutoUpdatePvmListener; import com.wimdupont.sxcybot.services.AccessService; import jakarta.annotation.Nonnull; -import net.dv8tion.jda.api.entities.Role; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import net.dv8tion.jda.api.hooks.ListenerAdapter; import org.springframework.stereotype.Component; -import java.util.stream.Stream; - import static com.wimdupont.sxcybot.util.Constants.ROLE_ACCESS.ADMIN_ROLE; import static com.wimdupont.sxcybot.util.Constants.ROLE_ACCESS.GENERAL; import static com.wimdupont.sxcybot.util.Constants.ROLE_ACCESS.GOD; @@ -61,7 +58,7 @@ public class AdminCommandListener extends ListenerAdapter { public void executeCommand(@Nonnull MessageReceivedEvent event, Admin adminCommand) { if (event.getMember() != null) { - Stream<Role> roleStream = event.getMember().getRoles().stream(); + var roleStream = event.getMember().getRoles().stream(); try { switch (adminCommand) { case EDITRULE -> { diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/GuildMemberEventListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/GuildMemberEventListener.java @@ -2,8 +2,6 @@ package com.wimdupont.sxcybot.listeners; import com.wimdupont.sxcybot.services.guild.GuildEventDmerService; import jakarta.annotation.Nonnull; -import net.dv8tion.jda.api.entities.Member; -import net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel; import net.dv8tion.jda.api.events.guild.member.GuildMemberRemoveEvent; import net.dv8tion.jda.api.exceptions.RateLimitedException; import net.dv8tion.jda.api.hooks.ListenerAdapter; @@ -11,8 +9,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; -import java.util.Optional; - @Component public class GuildMemberEventListener extends ListenerAdapter { @@ -28,12 +24,12 @@ public class GuildMemberEventListener extends ListenerAdapter { guildEventDmerService.findAll().forEach(guildEventDmer -> event.getGuild().loadMembers().onSuccess(memberList -> { if (!memberList.isEmpty()) { - Optional<Member> member = memberList.stream() + var member = memberList.stream() .filter(f -> guildEventDmer.getDiscordUserId().equalsIgnoreCase(f.getUser().getId())) .findFirst(); if (member.isPresent()) { try { - PrivateChannel privateChannel = member.get() + var privateChannel = member.get() .getUser() .openPrivateChannel() .complete(true); diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/PollReactionListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/PollReactionListener.java @@ -1,9 +1,9 @@ package com.wimdupont.sxcybot.listeners; import com.wimdupont.sxcybot.services.guild.PollService; +import com.wimdupont.sxcybot.util.EmbedBuilderFactory; import com.wimdupont.sxcybot.util.JdaUtil; import jakarta.annotation.Nonnull; -import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.entities.MessageEmbed; import net.dv8tion.jda.api.entities.MessageEmbed.Field; import net.dv8tion.jda.api.events.message.react.GenericMessageReactionEvent; @@ -31,12 +31,13 @@ public class PollReactionListener extends ListenerAdapter { if (isPoll(event)) { event.getChannel().retrieveMessageById(event.getMessageId()).queue(message -> { if (message.getEmbeds().size() == 1) { - MessageEmbed messageEmbed = message.getEmbeds().getFirst(); - EmbedBuilder embedBuilder = new EmbedBuilder(); + var messageEmbed = message.getEmbeds().getFirst(); + var embedBuilder = EmbedBuilderFactory.createBuilder(); + embedBuilder.setTitle(messageEmbed.getTitle()); embedBuilder.setColor(messageEmbed.getColor()); embedBuilder.setFooter(String.format("Last voted on %s", LocalDate.now()), event.getGuild().getIconUrl()); - String username = JdaUtil.getName(event).orElse(null); + var username = JdaUtil.getName(event).orElse(null); for (MessageEmbed.Field field : messageEmbed.getFields()) { List<String> nameSplit = field.getValue() != null ? new ArrayList<>(Arrays.asList(field.getValue().split(System.lineSeparator()))) @@ -44,10 +45,13 @@ public class PollReactionListener extends ListenerAdapter { if (field.getValue() != null && username != null && nameSplit.remove(username)) { String value = String.join(System.lineSeparator(), nameSplit); embedBuilder.addField(field); - embedBuilder.getFields() - .set(messageEmbed.getFields().indexOf(field), - new Field(getFieldNameWithCount(field, value) - .orElse(null), value, field.isInline())); + embedBuilder.getFields().set( + messageEmbed.getFields().indexOf(field), + new Field( + getFieldNameWithCount(field, value).orElse(null), + value, + field.isInline() + )); } else { if (field.getName() != null && field.getName().contains(event.getEmoji().getName())) { String value = field.getValue() != null && !field.getValue().contains("") diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/admin/BanlistListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/admin/BanlistListener.java @@ -3,18 +3,14 @@ package com.wimdupont.sxcybot.listeners.admin; import com.wimdupont.sxcybot.listeners.Listener; import com.wimdupont.sxcybot.repository.guild.dao.User; import com.wimdupont.sxcybot.services.guild.UserService; +import com.wimdupont.sxcybot.util.EmbedBuilderFactory; import com.wimdupont.sxcybot.util.JdaUtil; -import net.dv8tion.jda.api.EmbedBuilder; -import net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import net.dv8tion.jda.api.exceptions.RateLimitedException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; -import java.awt.Color; -import java.util.List; - @Component public class BanlistListener implements Listener { @@ -30,11 +26,10 @@ public class BanlistListener implements Listener { public void process(MessageReceivedEvent event) { if (event.getMember() != null) { try { - PrivateChannel privateChannel = event.getMember().getUser().openPrivateChannel().complete(true); - EmbedBuilder embedBuilder = new EmbedBuilder(); - embedBuilder.setColor(Color.red); + var privateChannel = event.getMember().getUser().openPrivateChannel().complete(true); + var embedBuilder = EmbedBuilderFactory.createBuilder(); embedBuilder.setTitle("List of banned users:"); - List<User> bannedList = userService.findAllBanned(); + var bannedList = userService.findAllBanned(); int i = 1; for (User user : bannedList) { embedBuilder.addField(user.getName(), diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/admin/BossUpdateMultiplierListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/admin/BossUpdateMultiplierListener.java @@ -4,7 +4,6 @@ import com.wimdupont.sxcybot.exceptions.EntityNotFoundException; import com.wimdupont.sxcybot.listeners.EventWaiter; import com.wimdupont.sxcybot.services.osrs.OsrsHiscoreBossService; import com.wimdupont.sxcybot.util.JdaUtil; -import net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import net.dv8tion.jda.api.exceptions.RateLimitedException; import org.slf4j.Logger; @@ -33,7 +32,7 @@ public class BossUpdateMultiplierListener implements EventListener { public void process(MessageReceivedEvent event) { if (event.getMember() != null) { try { - PrivateChannel privateChannel = event.getMember().getUser().openPrivateChannel().complete(true); + var privateChannel = event.getMember().getUser().openPrivateChannel().complete(true); privateChannel.sendMessage("Name of the boss you want to update?").queue(); eventWaiter.waitForPrivateChannelEvent(nameReceiver -> { try { diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/admin/EditBanlistListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/admin/EditBanlistListener.java @@ -6,7 +6,6 @@ import com.wimdupont.sxcybot.listeners.admin.banlist.DeleteBanlistUserListener; import com.wimdupont.sxcybot.listeners.admin.banlist.UpdateBanlistUserListener; import com.wimdupont.sxcybot.model.EditListenerDto; import com.wimdupont.sxcybot.util.EditListenerUtil; -import net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import net.dv8tion.jda.api.exceptions.RateLimitedException; import org.slf4j.Logger; @@ -36,8 +35,8 @@ public class EditBanlistListener implements Listener { public void process(MessageReceivedEvent event) { if (event.getMember() != null) { try { - PrivateChannel privateChannel = event.getMember().getUser().openPrivateChannel().complete(true); - EditListenerDto editListenerDto = EditListenerDto.Builder.newBuilder() + var privateChannel = event.getMember().getUser().openPrivateChannel().complete(true); + var editListenerDto = EditListenerDto.Builder.newBuilder() .addListener(addBanlistUserListener) .updateListener(updateBanlistListener) .deleteListener(deleteBanlistListener) diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/admin/EditPvmListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/admin/EditPvmListener.java @@ -6,7 +6,6 @@ import com.wimdupont.sxcybot.listeners.admin.pvmrole.DeletePvmListener; import com.wimdupont.sxcybot.listeners.admin.pvmrole.UpdatePvmListener; import com.wimdupont.sxcybot.model.EditListenerDto; import com.wimdupont.sxcybot.util.EditListenerUtil; -import net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import net.dv8tion.jda.api.exceptions.RateLimitedException; import org.slf4j.Logger; @@ -36,8 +35,8 @@ public class EditPvmListener implements Listener { public void process(MessageReceivedEvent event) { if (event.getMember() != null) { try { - PrivateChannel privateChannel = event.getMember().getUser().openPrivateChannel().complete(true); - EditListenerDto editListenerDto = EditListenerDto.Builder.newBuilder() + var privateChannel = event.getMember().getUser().openPrivateChannel().complete(true); + var editListenerDto = EditListenerDto.Builder.newBuilder() .addListener(addPvmListener) .updateListener(updatePvmListener) .deleteListener(deletePvmListener) diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/admin/EditRoleListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/admin/EditRoleListener.java @@ -5,7 +5,6 @@ import com.wimdupont.sxcybot.listeners.admin.role.AddRoleListener; import com.wimdupont.sxcybot.listeners.admin.role.DeleteRoleListener; import com.wimdupont.sxcybot.model.EditListenerDto; import com.wimdupont.sxcybot.util.EditListenerUtil; -import net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import net.dv8tion.jda.api.exceptions.RateLimitedException; import org.slf4j.Logger; @@ -32,8 +31,8 @@ public class EditRoleListener implements Listener { public void process(MessageReceivedEvent event) { if (event.getMember() != null) { try { - PrivateChannel privateChannel = event.getMember().getUser().openPrivateChannel().complete(true); - EditListenerDto editListenerDto = EditListenerDto.Builder.newBuilder() + var privateChannel = event.getMember().getUser().openPrivateChannel().complete(true); + var editListenerDto = EditListenerDto.Builder.newBuilder() .addListener(addRoleListener) .deleteListener(deleteRoleListener) //TODO why not implemented? diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/admin/EditRuleListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/admin/EditRuleListener.java @@ -6,7 +6,6 @@ import com.wimdupont.sxcybot.listeners.admin.rule.DeleteRuleListener; import com.wimdupont.sxcybot.listeners.admin.rule.UpdateRuleListener; import com.wimdupont.sxcybot.model.EditListenerDto; import com.wimdupont.sxcybot.util.EditListenerUtil; -import net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import net.dv8tion.jda.api.exceptions.RateLimitedException; import org.slf4j.Logger; @@ -36,8 +35,8 @@ public class EditRuleListener implements Listener { public void process(MessageReceivedEvent event) { if (event.getMember() != null) { try { - PrivateChannel privateChannel = event.getMember().getUser().openPrivateChannel().complete(true); - EditListenerDto editListenerDto = EditListenerDto.Builder.newBuilder() + var privateChannel = event.getMember().getUser().openPrivateChannel().complete(true); + var editListenerDto = EditListenerDto.Builder.newBuilder() .addListener(addRuleListener) .updateListener(updateRuleListener) .deleteListener(deleteRuleListener) diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/admin/RoleAssignListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/admin/RoleAssignListener.java @@ -8,7 +8,7 @@ import com.wimdupont.sxcybot.services.AccessService; import com.wimdupont.sxcybot.services.guild.GuildRoleService; import com.wimdupont.sxcybot.util.Constants; import com.wimdupont.sxcybot.util.DiscordMemberFinderUtil; -import net.dv8tion.jda.api.EmbedBuilder; +import com.wimdupont.sxcybot.util.EmbedBuilderFactory; import net.dv8tion.jda.api.entities.Role; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import net.dv8tion.jda.api.exceptions.RateLimitedException; @@ -16,7 +16,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; -import java.awt.Color; import java.util.Comparator; import java.util.stream.Stream; @@ -48,8 +47,7 @@ public class RoleAssignListener implements Listener { var privateChannel = event.getMember().getUser() .openPrivateChannel() .complete(true); - var embedBuilder = new EmbedBuilder(); - embedBuilder.setColor(Color.RED); + var embedBuilder = EmbedBuilderFactory.createBuilder(); discordMemberFinderUtil.onMemberFoundVerification(event, embedBuilder, privateChannel, member -> { embedBuilder.clearFields(); embedBuilder.setTitle("Type the numbers of the roles to add separated by a whitespace. If the member already has any role, it will get removed instead."); diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/admin/banlist/AddBanlistUserListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/admin/banlist/AddBanlistUserListener.java @@ -5,7 +5,6 @@ import com.wimdupont.sxcybot.listeners.PrivateListener; import com.wimdupont.sxcybot.repository.guild.dao.User; import com.wimdupont.sxcybot.services.guild.UserService; import com.wimdupont.sxcybot.util.JdaUtil; -import net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import org.springframework.stereotype.Component; @@ -23,19 +22,19 @@ public class AddBanlistUserListener implements PrivateListener { @Override public void process(MessageReceivedEvent privateMessageReceivedEvent, MessageReceivedEvent event) { - PrivateChannel privateChannel = privateMessageReceivedEvent.getChannel().asPrivateChannel(); + var privateChannel = privateMessageReceivedEvent.getChannel().asPrivateChannel(); privateChannel.sendMessage("Name of the user you want to ban?").queue(); eventWaiter.waitForPrivateChannelEvent(nameReceiver -> { privateChannel.sendMessage("Description?").queue(); eventWaiter.waitForPrivateChannelEvent(descriptionReceiver -> { - User userToBan = User.Builder.newBuilder() + var userToBan = User.Builder.newBuilder() .name(nameReceiver.getMessage().getContentRaw()) .description(descriptionReceiver.getMessage().getContentRaw()) .banned(true) .createdBy(JdaUtil.getName(event).orElse(null)) .lastModifiedBy(JdaUtil.getName(event).orElse(null)) .build(); - User bannedUser = userService.save(userToBan); + var bannedUser = userService.save(userToBan); privateChannel.sendMessage(String.format("User %s has been successfully banned.", bannedUser.getName())).queue(); event.getChannel().sendMessage(String.format("User %s has been banned by %s. (%s)", bannedUser.getName(), JdaUtil.getUser(event), bannedUser.getDescription() diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/admin/banlist/DeleteBanlistUserListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/admin/banlist/DeleteBanlistUserListener.java @@ -6,7 +6,6 @@ import com.wimdupont.sxcybot.listeners.PrivateListener; import com.wimdupont.sxcybot.repository.guild.dao.User; import com.wimdupont.sxcybot.services.guild.UserService; import com.wimdupont.sxcybot.util.JdaUtil; -import net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import org.springframework.stereotype.Component; @@ -24,7 +23,7 @@ public class DeleteBanlistUserListener implements PrivateListener { @Override public void process(MessageReceivedEvent privateEvent, MessageReceivedEvent event) { - PrivateChannel privateChannel = privateEvent.getChannel().asPrivateChannel(); + var privateChannel = privateEvent.getChannel().asPrivateChannel(); privateChannel.sendMessage("Name of the user you want to delete?").queue(); eventWaiter.waitForPrivateChannelEvent(nameReceiver -> { try { diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/admin/banlist/UpdateBanlistUserListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/admin/banlist/UpdateBanlistUserListener.java @@ -5,14 +5,11 @@ import com.wimdupont.sxcybot.listeners.EventWaiter; import com.wimdupont.sxcybot.listeners.PrivateListener; import com.wimdupont.sxcybot.repository.guild.dao.User; import com.wimdupont.sxcybot.services.guild.UserService; +import com.wimdupont.sxcybot.util.EmbedBuilderFactory; import com.wimdupont.sxcybot.util.JdaUtil; -import net.dv8tion.jda.api.EmbedBuilder; -import net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import org.springframework.stereotype.Component; -import java.awt.Color; - @Component public class UpdateBanlistUserListener implements PrivateListener { @@ -27,12 +24,11 @@ public class UpdateBanlistUserListener implements PrivateListener { @Override public void process(MessageReceivedEvent privateMessageReceivedEvent, MessageReceivedEvent event) { - PrivateChannel privateChannel = privateMessageReceivedEvent.getChannel().asPrivateChannel(); + var privateChannel = privateMessageReceivedEvent.getChannel().asPrivateChannel(); privateChannel.sendMessage("Name of the user you want to update (\"showlist\" to show all names in banlist).").queue(); eventWaiter.waitForPrivateChannelEvent(nameReceiver -> { if (nameReceiver.getMessage().getContentRaw().equalsIgnoreCase("showlist")) { - EmbedBuilder embedBuilder = new EmbedBuilder(); - embedBuilder.setColor(Color.red); + var embedBuilder = EmbedBuilderFactory.createBuilder(); embedBuilder.setTitle("Banned users:"); userService.findAllBanned().stream().map(User::getName).toList().forEach(f -> embedBuilder.addField(f, "", false)); diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/admin/pvmrole/AddPvmListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/admin/pvmrole/AddPvmListener.java @@ -7,15 +7,12 @@ import com.wimdupont.sxcybot.repository.guild.pvmrole.dao.PvmRoleUser; import com.wimdupont.sxcybot.services.guild.pvmrole.PvmRoleSnapshotComparatorService; import com.wimdupont.sxcybot.services.guild.pvmrole.PvmRoleUserService; import com.wimdupont.sxcybot.util.DiscordMemberFinderUtil; +import com.wimdupont.sxcybot.util.EmbedBuilderFactory; import com.wimdupont.sxcybot.util.JdaUtil; -import net.dv8tion.jda.api.EmbedBuilder; -import net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import org.springframework.dao.DataIntegrityViolationException; import org.springframework.stereotype.Component; -import java.awt.Color; - @Component public class AddPvmListener implements PrivateListener { @@ -36,9 +33,9 @@ public class AddPvmListener implements PrivateListener { @Override public void process(MessageReceivedEvent privateMessageReceivedEvent, MessageReceivedEvent event) { - PrivateChannel privateChannel = privateMessageReceivedEvent.getChannel().asPrivateChannel(); - EmbedBuilder embedBuilder = new EmbedBuilder(); - embedBuilder.setColor(Color.RED); + var privateChannel = privateMessageReceivedEvent.getChannel().asPrivateChannel(); + var embedBuilder = EmbedBuilderFactory.createBuilder(); + embedBuilder.setTitle("Add member for PvM competition"); discordMemberFinderUtil.onMemberFoundVerification(event, embedBuilder, privateChannel, member -> { embedBuilder.clearFields(); diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/admin/pvmrole/DeletePvmListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/admin/pvmrole/DeletePvmListener.java @@ -8,15 +8,12 @@ import com.wimdupont.sxcybot.repository.guild.pvmrole.dao.PvmRoleUser; import com.wimdupont.sxcybot.services.guild.pvmrole.PvmKcSnapshotService; import com.wimdupont.sxcybot.services.guild.pvmrole.PvmRoleUserService; import com.wimdupont.sxcybot.util.Constants.Commands; +import com.wimdupont.sxcybot.util.EmbedBuilderFactory; import com.wimdupont.sxcybot.util.JdaUtil; -import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.entities.User; -import net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import org.springframework.stereotype.Component; -import java.awt.Color; - @Component public class DeletePvmListener implements PrivateListener { @@ -34,9 +31,9 @@ public class DeletePvmListener implements PrivateListener { @Override public void process(MessageReceivedEvent privateMessageReceivedEvent, MessageReceivedEvent event) { - PrivateChannel privateChannel = privateMessageReceivedEvent.getChannel().asPrivateChannel(); - EmbedBuilder embedBuilder = new EmbedBuilder(); - embedBuilder.setColor(Color.RED); + var privateChannel = privateMessageReceivedEvent.getChannel().asPrivateChannel(); + var embedBuilder = EmbedBuilderFactory.createBuilder(); + embedBuilder.setTitle("Delete user from PvM competition."); embedBuilder.addField("Type the discord name or RSN of the user you want to delete.", "", false); privateChannel.sendMessageEmbeds(embedBuilder.build()).queue(); diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/admin/pvmrole/UpdatePvmListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/admin/pvmrole/UpdatePvmListener.java @@ -7,16 +7,13 @@ import com.wimdupont.sxcybot.listeners.PrivateListener; import com.wimdupont.sxcybot.repository.guild.pvmrole.dao.PvmRoleUser; import com.wimdupont.sxcybot.services.guild.pvmrole.PvmRoleUserService; import com.wimdupont.sxcybot.util.Constants.Commands; +import com.wimdupont.sxcybot.util.EmbedBuilderFactory; import com.wimdupont.sxcybot.util.JdaUtil; -import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.entities.User; -import net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import org.springframework.dao.DataIntegrityViolationException; import org.springframework.stereotype.Component; -import java.awt.Color; - @Component public class UpdatePvmListener implements PrivateListener { @@ -31,9 +28,9 @@ public class UpdatePvmListener implements PrivateListener { @Override public void process(MessageReceivedEvent privateMessageReceivedEvent, MessageReceivedEvent event) { - PrivateChannel privateChannel = privateMessageReceivedEvent.getChannel().asPrivateChannel(); - EmbedBuilder embedBuilder = new EmbedBuilder(); - embedBuilder.setColor(Color.RED); + var privateChannel = privateMessageReceivedEvent.getChannel().asPrivateChannel(); + var embedBuilder = EmbedBuilderFactory.createBuilder(); + embedBuilder.setTitle("Update user for PvM competition."); embedBuilder.addField("Type the discord name of the user you want to update.", "", false); privateChannel.sendMessageEmbeds(embedBuilder.build()).queue(); diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/admin/role/DeleteRoleListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/admin/role/DeleteRoleListener.java @@ -3,12 +3,10 @@ package com.wimdupont.sxcybot.listeners.admin.role; import com.wimdupont.sxcybot.exceptions.EntityNotFoundException; import com.wimdupont.sxcybot.listeners.EventWaiter; import com.wimdupont.sxcybot.listeners.PrivateListener; -import com.wimdupont.sxcybot.repository.guild.dao.GuildRole; import com.wimdupont.sxcybot.services.guild.GuildRoleService; import com.wimdupont.sxcybot.util.Constants; import com.wimdupont.sxcybot.util.Constants.Commands; import com.wimdupont.sxcybot.util.JdaUtil; -import net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import org.springframework.stereotype.Component; @@ -26,7 +24,7 @@ public class DeleteRoleListener implements PrivateListener { @Override public void process(MessageReceivedEvent privateMessageReceivedEvent, MessageReceivedEvent event) { - PrivateChannel privateChannel = privateMessageReceivedEvent.getChannel().asPrivateChannel(); + var privateChannel = privateMessageReceivedEvent.getChannel().asPrivateChannel(); privateChannel.sendMessage("Name of the role you want to delete?").queue(); eventWaiter.waitForPrivateChannelEvent(nameReceiver -> { try { diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/admin/rule/DeleteRuleListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/admin/rule/DeleteRuleListener.java @@ -3,10 +3,8 @@ package com.wimdupont.sxcybot.listeners.admin.rule; import com.wimdupont.sxcybot.exceptions.EntityNotFoundException; import com.wimdupont.sxcybot.listeners.EventWaiter; import com.wimdupont.sxcybot.listeners.PrivateListener; -import com.wimdupont.sxcybot.repository.guild.dao.Rule; import com.wimdupont.sxcybot.services.guild.RuleService; import com.wimdupont.sxcybot.util.JdaUtil; -import net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import org.springframework.stereotype.Component; @@ -25,12 +23,12 @@ public class DeleteRuleListener implements PrivateListener { @Override public void process(MessageReceivedEvent privateMessageReceivedEvent, MessageReceivedEvent event) { - PrivateChannel privateChannel = privateMessageReceivedEvent.getChannel().asPrivateChannel(); + var privateChannel = privateMessageReceivedEvent.getChannel().asPrivateChannel(); privateChannel.sendMessage("Type the # of the rule you wish to delete please.").queue(); eventWaiter.waitForPrivateChannelEvent(ruleDeleltionReceiver -> { try { - int ruleNumber = Integer.parseInt(ruleDeleltionReceiver.getMessage().getContentRaw()); - Rule rule = ruleService.findByNumber(ruleNumber); + var ruleNumber = Integer.parseInt(ruleDeleltionReceiver.getMessage().getContentRaw()); + var rule = ruleService.findByNumber(ruleNumber); ruleService.delete(rule); ruleService.findAll().stream().filter(f -> f.getNumber() > ruleNumber).toList() .forEach(ruleToUpdate -> { diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/admin/rule/UpdateRuleListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/admin/rule/UpdateRuleListener.java @@ -3,10 +3,8 @@ package com.wimdupont.sxcybot.listeners.admin.rule; import com.wimdupont.sxcybot.exceptions.EntityNotFoundException; import com.wimdupont.sxcybot.listeners.EventWaiter; import com.wimdupont.sxcybot.listeners.PrivateListener; -import com.wimdupont.sxcybot.repository.guild.dao.Rule; import com.wimdupont.sxcybot.services.guild.RuleService; import com.wimdupont.sxcybot.util.JdaUtil; -import net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import org.springframework.stereotype.Component; @@ -25,17 +23,17 @@ public class UpdateRuleListener implements PrivateListener { @Override public void process(MessageReceivedEvent privateMessageReceivedEvent, MessageReceivedEvent event) { - PrivateChannel privateChannel = privateMessageReceivedEvent.getChannel().asPrivateChannel(); + var privateChannel = privateMessageReceivedEvent.getChannel().asPrivateChannel(); privateChannel.sendMessage("Type the rule number you want to update.").queue(); eventWaiter.waitForPrivateChannelEvent(ruleNumberReciever -> { try { - int ruleNumber = Integer.parseInt(ruleNumberReciever.getMessage().getContentRaw()); + var ruleNumber = Integer.parseInt(ruleNumberReciever.getMessage().getContentRaw()); privateChannel.sendMessage(String.format("Type the new rule description for rule %s.", ruleNumber)).queue(); eventWaiter.waitForPrivateChannelEvent(descriptionReceiver -> { try { - Rule ruleToUpdate = ruleService.findByNumber(ruleNumber); + var ruleToUpdate = ruleService.findByNumber(ruleNumber); ruleToUpdate.setDescription(descriptionReceiver.getMessage().getContentRaw()); - Rule rule = ruleService.save(ruleToUpdate); + var rule = ruleService.save(ruleToUpdate); descriptionReceiver.getChannel().sendMessage(rule + " edited").queue(); event.getChannel().sendMessage(String.format("Rule #%s has been edited by %s", ruleNumber, JdaUtil.getUser(event))).queue(); } catch (EntityNotFoundException exc) { diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/member/BB8Listener.java b/src/main/java/com/wimdupont/sxcybot/listeners/member/BB8Listener.java @@ -2,13 +2,11 @@ package com.wimdupont.sxcybot.listeners.member; import com.wimdupont.sxcybot.listeners.Listener; import com.wimdupont.sxcybot.util.Constants.Emoji; -import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import net.dv8tion.jda.api.utils.FileUpload; import org.springframework.stereotype.Component; import java.io.File; -import java.net.URL; @Component public class BB8Listener implements Listener { @@ -17,8 +15,8 @@ public class BB8Listener implements Listener { @Override public void process(MessageReceivedEvent event) { - MessageChannel channel = event.getChannel(); - URL url = getClass().getResource(BB8_IMAGE); + var channel = event.getChannel(); + var url = getClass().getResource(BB8_IMAGE); if (url != null) { var fileUpload = FileUpload.fromData(new File(url.getFile()).toPath()); diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/member/CombatStatsListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/member/CombatStatsListener.java @@ -1,12 +1,12 @@ package com.wimdupont.sxcybot.listeners.member; +import com.wimdupont.sxcybot.enums.OsrsCombatStat; import com.wimdupont.sxcybot.listeners.Listener; import com.wimdupont.sxcybot.model.CombatDto; import com.wimdupont.sxcybot.model.OsrsStat; import com.wimdupont.sxcybot.services.osrs.CombatCalculatorService; import com.wimdupont.sxcybot.services.osrs.StatMessageSender; -import com.wimdupont.sxcybot.enums.OsrsCombatStat; -import net.dv8tion.jda.api.EmbedBuilder; +import com.wimdupont.sxcybot.util.EmbedBuilderFactory; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import org.springframework.stereotype.Component; @@ -28,7 +28,7 @@ public class CombatStatsListener implements Listener { @Override public void process(MessageReceivedEvent event) { - EmbedBuilder embedBuilder = new EmbedBuilder(); + var embedBuilder = EmbedBuilderFactory.createBuilder(); event.getChannel().sendTyping().queue(e -> statMessageSender.sendStatMessage(event, embedBuilder, this::isCombatStat, f -> embedBuilder.addField(f.name(), "Level " + f.level(), true) diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/member/CustomPollListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/member/CustomPollListener.java @@ -2,8 +2,7 @@ package com.wimdupont.sxcybot.listeners.member; import com.wimdupont.sxcybot.listeners.Listener; import com.wimdupont.sxcybot.util.CustomPollFiller; -import net.dv8tion.jda.api.EmbedBuilder; -import net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel; +import com.wimdupont.sxcybot.util.EmbedBuilderFactory; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import net.dv8tion.jda.api.exceptions.RateLimitedException; import org.slf4j.Logger; @@ -12,7 +11,6 @@ import org.springframework.beans.factory.config.ConfigurableBeanFactory; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; -import java.awt.Color; import java.util.LinkedHashSet; @Component @@ -28,14 +26,14 @@ public class CustomPollListener implements Listener { @Override public void process(MessageReceivedEvent event) { - String msg = event.getMessage().getContentRaw(); + var msg = event.getMessage().getContentRaw(); try { - String title = msg.substring(msg.indexOf(" ")); + var title = msg.substring(msg.indexOf(" ")); if (event.getMember() != null) { try { - PrivateChannel privateChannel = event.getMember().getUser().openPrivateChannel().complete(true); - EmbedBuilder embedBuilder = new EmbedBuilder(); - embedBuilder.setColor(Color.red); + var privateChannel = event.getMember().getUser().openPrivateChannel().complete(true); + var embedBuilder = EmbedBuilderFactory.createBuilder(); + embedBuilder.setTitle(title); embedBuilder.setFooter("Let the polling begin!", event.getGuild().getIconUrl()); diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/member/EventListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/member/EventListener.java @@ -3,7 +3,6 @@ package com.wimdupont.sxcybot.listeners.member; import com.wimdupont.sxcybot.listeners.EventWaiter; import com.wimdupont.sxcybot.listeners.Listener; import com.wimdupont.sxcybot.repository.guild.dao.Event; -import net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import net.dv8tion.jda.api.exceptions.RateLimitedException; import org.slf4j.Logger; @@ -24,7 +23,7 @@ public class EventListener implements Listener { public void process(MessageReceivedEvent event) { if (!event.getAuthor().isBot() && event.getMember() != null) { try { - PrivateChannel privateChannel = event.getMember().getUser().openPrivateChannel().complete(true); + var privateChannel = event.getMember().getUser().openPrivateChannel().complete(true); privateChannel.sendMessage("Name of the event?").queue(); eventWaiter.waitForPrivateChannelEvent(nameReceiver -> { privateChannel.sendMessage("Description?").queue(); diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/member/ForumListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/member/ForumListener.java @@ -2,13 +2,10 @@ package com.wimdupont.sxcybot.listeners.member; import com.wimdupont.sxcybot.listeners.Listener; import com.wimdupont.sxcybot.services.guild.ChannelDetailService; -import net.dv8tion.jda.api.EmbedBuilder; -import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel; +import com.wimdupont.sxcybot.util.EmbedBuilderFactory; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import org.springframework.stereotype.Component; -import java.awt.Color; - @Component public class ForumListener implements Listener { @@ -21,9 +18,9 @@ public class ForumListener implements Listener { @Override public void process(MessageReceivedEvent event) { channelDetailService.findAll().stream().findAny().ifPresent(channelDetail -> { - MessageChannel channel = event.getChannel(); - EmbedBuilder embedBuilder = new EmbedBuilder(); - embedBuilder.setColor(Color.RED); + var channel = event.getChannel(); + var embedBuilder = EmbedBuilderFactory.createBuilder(); + embedBuilder.setTitle("Link to the forum post", channelDetail.getForumUrl()); channel.sendMessageEmbeds(embedBuilder.build()).queue(); }); diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/member/HelpListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/member/HelpListener.java @@ -4,27 +4,24 @@ import com.wimdupont.sxcybot.enums.Command; import com.wimdupont.sxcybot.enums.Command.Admin; import com.wimdupont.sxcybot.listeners.Listener; import com.wimdupont.sxcybot.util.Constants.Commands; -import net.dv8tion.jda.api.EmbedBuilder; +import com.wimdupont.sxcybot.util.EmbedBuilderFactory; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import org.springframework.stereotype.Component; -import java.awt.Color; - @Component public class HelpListener implements Listener { @Override public void process(MessageReceivedEvent event) { event.getChannel().sendTyping().queue(); - EmbedBuilder embedBuilder = new EmbedBuilder(); + var embedBuilder = EmbedBuilderFactory.createBuilder(); - embedBuilder.setColor(Color.red); embedBuilder.setTitle("List of Commands"); for (Command command : Command.values()) { embedBuilder.addField(Commands.COMMAND_PREFIX + command.name().toLowerCase(), command.description, false); } - EmbedBuilder adminEmbedBuilder = new EmbedBuilder(); - adminEmbedBuilder.setColor(Color.red); + var adminEmbedBuilder = EmbedBuilderFactory.createBuilder(); + adminEmbedBuilder.setTitle("List of Admin Commands"); for (Admin admin : Admin.values()) { adminEmbedBuilder.addField(Commands.COMMAND_PREFIX + admin.name().toLowerCase(), admin.description, false); diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/member/HiscoreBossListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/member/HiscoreBossListener.java @@ -4,14 +4,11 @@ import com.wimdupont.sxcybot.enums.PvmRole; import com.wimdupont.sxcybot.listeners.Listener; import com.wimdupont.sxcybot.repository.osrs.dao.OsrsHiscoreBoss; import com.wimdupont.sxcybot.services.osrs.OsrsHiscoreBossService; +import com.wimdupont.sxcybot.util.EmbedBuilderFactory; import com.wimdupont.sxcybot.util.JdaUtil; -import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import org.springframework.stereotype.Component; -import java.awt.Color; -import java.util.List; - @Component public class HiscoreBossListener implements Listener { @@ -23,9 +20,9 @@ public class HiscoreBossListener implements Listener { @Override public void process(MessageReceivedEvent event) { - EmbedBuilder embedBuilder = new EmbedBuilder(); - embedBuilder.setColor(Color.red); - List<OsrsHiscoreBoss> hiscoreBossList = osrsHiscoreBossService.findAll(); + var embedBuilder = EmbedBuilderFactory.createBuilder(); + var hiscoreBossList = osrsHiscoreBossService.findAll(); + for (PvmRole pvmRole : PvmRole.values()) { int i = 1; embedBuilder.setTitle(String.format("List of %s bosses:", pvmRole)); diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/member/KillCountListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/member/KillCountListener.java @@ -3,15 +3,11 @@ package com.wimdupont.sxcybot.listeners.member; import com.wimdupont.sxcybot.client.HiScoreClient; import com.wimdupont.sxcybot.exceptions.EntityNotFoundException; import com.wimdupont.sxcybot.listeners.Listener; -import com.wimdupont.sxcybot.model.OsrsBossKc; +import com.wimdupont.sxcybot.util.EmbedBuilderFactory; import com.wimdupont.sxcybot.util.JdaUtil; -import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import org.springframework.stereotype.Component; -import java.awt.Color; -import java.util.List; - @Component public class KillCountListener implements Listener { @@ -23,15 +19,15 @@ public class KillCountListener implements Listener { @Override public void process(MessageReceivedEvent event) { - String msg = event.getMessage().getContentRaw(); + var msg = event.getMessage().getContentRaw(); try { - String player = msg.substring(msg.indexOf(" ")).trim(); - List<OsrsBossKc> bossKcList = hiScoreClient.getHiScores(player, event.getChannel()).activities(); + var player = msg.substring(msg.indexOf(" ")).trim(); + var bossKcList = hiScoreClient.getHiScores(player, event.getChannel()).activities(); event.getChannel().sendTyping().queue(q -> { - EmbedBuilder embedBuilder = new EmbedBuilder(); + var embedBuilder = EmbedBuilderFactory.createBuilder(); + embedBuilder.setTitle(String.format("Killcount for %s", player)); - embedBuilder.setColor(Color.RED); int i = 1; bossKcList.stream().filter(f -> -1 != f.score()).forEach(f -> { embedBuilder.addField(f.name(), String.format("Kc: %s%sRank: %s", f.score(), System.lineSeparator(), f.rank()), true); diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/member/PingListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/member/PingListener.java @@ -1,7 +1,6 @@ package com.wimdupont.sxcybot.listeners.member; import com.wimdupont.sxcybot.listeners.Listener; -import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import org.springframework.stereotype.Component; @@ -10,9 +9,9 @@ public class PingListener implements Listener { @Override public void process(MessageReceivedEvent event) { - MessageChannel channel; - channel = event.getChannel(); - long time = System.currentTimeMillis(); + var channel = event.getChannel(); + var time = System.currentTimeMillis(); + channel.sendMessage("Pong") .queue(response -> response.editMessageFormat("Pong: %d ms", System.currentTimeMillis() - time).queue()); } diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/member/PollListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/member/PollListener.java @@ -4,13 +4,11 @@ import com.wimdupont.sxcybot.listeners.Listener; import com.wimdupont.sxcybot.repository.guild.dao.Poll; import com.wimdupont.sxcybot.services.guild.PollService; import com.wimdupont.sxcybot.util.Constants.Reaction; -import net.dv8tion.jda.api.EmbedBuilder; +import com.wimdupont.sxcybot.util.EmbedBuilderFactory; import net.dv8tion.jda.api.entities.emoji.Emoji; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import org.springframework.stereotype.Component; -import java.awt.Color; - @Component public class PollListener implements Listener { @@ -22,12 +20,11 @@ public class PollListener implements Listener { @Override public void process(MessageReceivedEvent event) { - EmbedBuilder embedBuilder = new EmbedBuilder(); + var embedBuilder = EmbedBuilderFactory.createBuilder(); String msg = event.getMessage().getContentRaw(); try { String title = msg.substring(msg.indexOf(" ")); - embedBuilder.setColor(Color.red); embedBuilder.setTitle(title); embedBuilder.addField("✅ Accept (0)", "", true); embedBuilder.addField("❎ Deny (0)", "", true); diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/member/PriceListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/member/PriceListener.java @@ -3,12 +3,10 @@ package com.wimdupont.sxcybot.listeners.member; import com.wimdupont.sxcybot.client.GrandExchangeClient; import com.wimdupont.sxcybot.exceptions.EntityNotFoundException; import com.wimdupont.sxcybot.listeners.Listener; -import net.dv8tion.jda.api.EmbedBuilder; +import com.wimdupont.sxcybot.util.EmbedBuilderFactory; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import org.springframework.stereotype.Component; -import java.awt.Color; - @Component public class PriceListener implements Listener { @@ -20,15 +18,15 @@ public class PriceListener implements Listener { @Override public void process(MessageReceivedEvent event) { - EmbedBuilder embedBuilder = new EmbedBuilder(); - String msg = event.getMessage().getContentRaw(); + var embedBuilder = EmbedBuilderFactory.createBuilder(); + var msg = event.getMessage().getContentRaw(); + try { - String itemName = msg.substring(msg.indexOf(" ")).trim(); + var itemName = msg.substring(msg.indexOf(" ")).trim(); event.getChannel().sendTyping().queue(typing -> { try { String result = grandExchangeClient.getPrice(itemName, event.getChannel()); embedBuilder.setTitle("Price of item"); - embedBuilder.setColor(Color.RED); embedBuilder.addField(itemName, result, false); event.getChannel().sendMessageEmbeds(embedBuilder.build()).queue(); } catch (EntityNotFoundException e) { diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/member/PvmListListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/member/PvmListListener.java @@ -3,14 +3,11 @@ package com.wimdupont.sxcybot.listeners.member; import com.wimdupont.sxcybot.listeners.Listener; import com.wimdupont.sxcybot.repository.guild.pvmrole.dao.PvmRoleUser; import com.wimdupont.sxcybot.services.guild.pvmrole.PvmRoleUserService; +import com.wimdupont.sxcybot.util.EmbedBuilderFactory; import com.wimdupont.sxcybot.util.JdaUtil; -import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import org.springframework.stereotype.Component; -import java.awt.Color; -import java.util.List; - @Component public class PvmListListener implements Listener { @@ -22,10 +19,10 @@ public class PvmListListener implements Listener { @Override public void process(MessageReceivedEvent event) { - EmbedBuilder embedBuilder = new EmbedBuilder(); - embedBuilder.setColor(Color.red); + var embedBuilder = EmbedBuilderFactory.createBuilder(); + var pvmRoleUsers = pvmRoleUserService.findAll(); + embedBuilder.setTitle("List of PvM Role competitors:"); - List<PvmRoleUser> pvmRoleUsers = pvmRoleUserService.findAll(); event.getGuild().loadMembers().onSuccess(members -> { int i = 1; for (PvmRoleUser pvmRoleUser : pvmRoleUsers) { diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/member/PvmRoleCheckListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/member/PvmRoleCheckListener.java @@ -2,7 +2,6 @@ package com.wimdupont.sxcybot.listeners.member; import com.wimdupont.sxcybot.listeners.Listener; import com.wimdupont.sxcybot.services.OsrsMonitoringService; -import net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import net.dv8tion.jda.api.exceptions.RateLimitedException; import org.slf4j.Logger; @@ -23,7 +22,7 @@ public class PvmRoleCheckListener implements Listener { public void process(MessageReceivedEvent event) { if (event.getMember() != null) { try { - PrivateChannel privateChannel = event.getMember().getUser().openPrivateChannel().complete(true); + var privateChannel = event.getMember().getUser().openPrivateChannel().complete(true); osrsMonitoringService.monitorPvmRoleUserHiscores(privateChannel); osrsMonitoringService.monitorDiscordMembers(privateChannel); } catch (RateLimitedException e) { diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/member/PvmRolePollListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/member/PvmRolePollListener.java @@ -2,7 +2,6 @@ package com.wimdupont.sxcybot.listeners.member; import com.wimdupont.sxcybot.listeners.Listener; import com.wimdupont.sxcybot.services.PvMRoleResolver; -import net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import net.dv8tion.jda.api.exceptions.RateLimitedException; import org.slf4j.Logger; @@ -23,7 +22,7 @@ public class PvmRolePollListener implements Listener { public void process(MessageReceivedEvent event) { if (event.getMember() != null) { try { - PrivateChannel privateChannel = event.getMember().getUser().openPrivateChannel().complete(true); + var privateChannel = event.getMember().getUser().openPrivateChannel().complete(true); pvMRoleResolver.resolvePvMRoles(false, privateChannel); } catch (RateLimitedException e) { LOGGER.error(e.getMessage(), e); diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/member/RuleListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/member/RuleListener.java @@ -6,13 +6,10 @@ import com.wimdupont.sxcybot.exceptions.EntityNotFoundException; import com.wimdupont.sxcybot.listeners.Listener; import com.wimdupont.sxcybot.services.guild.RuleService; import com.wimdupont.sxcybot.util.Constants.Commands; -import net.dv8tion.jda.api.EmbedBuilder; -import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel; +import com.wimdupont.sxcybot.util.EmbedBuilderFactory; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import org.springframework.stereotype.Component; -import java.awt.Color; - @Component public class RuleListener implements Listener { @@ -25,9 +22,10 @@ public class RuleListener implements Listener { @Override public void process(MessageReceivedEvent event) { - MessageChannel channel = event.getChannel(); + var channel = event.getChannel(); int ruleNumber; String description; + try { ruleNumber = Integer.parseInt(event.getMessage().getContentRaw().substring(Commands.COMMAND_PREFIX.length() + Command.RULE.name().length() + 1)); description = ruleService.findByNumber(ruleNumber).getDescription(); @@ -35,8 +33,7 @@ public class RuleListener implements Listener { channel.sendMessage(e.getMessage()).queue(); return; } - EmbedBuilder embedBuilder = new EmbedBuilder(); - embedBuilder.setColor(Color.RED); + var embedBuilder = EmbedBuilderFactory.createBuilder(); embedBuilder.setTitle("Show rule result"); embedBuilder.addField(String.format("Rule #%s", ruleNumber), description, false); channel.sendMessageEmbeds(embedBuilder.build()).queue(); diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/member/RulesListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/member/RulesListener.java @@ -3,14 +3,12 @@ package com.wimdupont.sxcybot.listeners.member; import com.wimdupont.sxcybot.listeners.Listener; import com.wimdupont.sxcybot.repository.guild.dao.Rule; import com.wimdupont.sxcybot.services.guild.RuleService; +import com.wimdupont.sxcybot.util.EmbedBuilderFactory; import com.wimdupont.sxcybot.util.JdaUtil; -import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import org.springframework.stereotype.Component; -import java.awt.Color; import java.util.Comparator; -import java.util.List; @Component public class RulesListener implements Listener { @@ -23,10 +21,10 @@ public class RulesListener implements Listener { @Override public void process(MessageReceivedEvent event) { - EmbedBuilder embedBuilder = new EmbedBuilder(); - embedBuilder.setColor(Color.red); + var embedBuilder = EmbedBuilderFactory.createBuilder(); + embedBuilder.setTitle(String.format("List of %s rules:", event.getGuild().getName())); - List<Rule> ruleList = ruleService.findAll(); + var ruleList = ruleService.findAll(); ruleList.sort(Comparator.comparing(Rule::getNumber)); int i = 1; for (Rule rule : ruleList) { diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/member/SpinListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/member/SpinListener.java @@ -3,7 +3,7 @@ package com.wimdupont.sxcybot.listeners.member; import com.wimdupont.sxcybot.enums.Command; import com.wimdupont.sxcybot.listeners.Listener; import com.wimdupont.sxcybot.util.Constants.Commands; -import net.dv8tion.jda.api.EmbedBuilder; +import com.wimdupont.sxcybot.util.EmbedBuilderFactory; import net.dv8tion.jda.api.entities.channel.unions.MessageChannelUnion; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import net.dv8tion.jda.api.requests.restaction.pagination.PinnedMessagePaginationAction.PinnedMessage; @@ -11,7 +11,6 @@ import org.springframework.data.util.Pair; import org.springframework.stereotype.Component; import org.springframework.util.StringUtils; -import java.awt.Color; import java.util.Comparator; import java.util.HashMap; import java.util.Map; @@ -28,8 +27,7 @@ public class SpinListener implements Listener { var random = getRandom(bounds); var reward = getRewards(channel).get(random); - EmbedBuilder embedBuilder = new EmbedBuilder(); - embedBuilder.setColor(Color.red); + var embedBuilder = EmbedBuilderFactory.createBuilder(); embedBuilder.setTitle(String.format("Spinning Result (%s)", bounds)); embedBuilder.setDescription(reward == null ? "You've rolled **%d**!".formatted(random) diff --git a/src/main/java/com/wimdupont/sxcybot/listeners/member/StatsListener.java b/src/main/java/com/wimdupont/sxcybot/listeners/member/StatsListener.java @@ -2,7 +2,7 @@ package com.wimdupont.sxcybot.listeners.member; import com.wimdupont.sxcybot.listeners.Listener; import com.wimdupont.sxcybot.services.osrs.StatMessageSender; -import net.dv8tion.jda.api.EmbedBuilder; +import com.wimdupont.sxcybot.util.EmbedBuilderFactory; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import org.springframework.stereotype.Component; @@ -19,7 +19,7 @@ public class StatsListener implements Listener { @Override public void process(MessageReceivedEvent event) { - EmbedBuilder embedBuilder = new EmbedBuilder(); + var embedBuilder = EmbedBuilderFactory.createBuilder(); event.getChannel().sendTyping().queue(e -> statMessageSender.sendStatMessage(event, embedBuilder, Objects::nonNull, f -> embedBuilder.addField(f.name(), diff --git a/src/main/java/com/wimdupont/sxcybot/services/OsrsMonitoringService.java b/src/main/java/com/wimdupont/sxcybot/services/OsrsMonitoringService.java @@ -7,8 +7,8 @@ import com.wimdupont.sxcybot.repository.guild.pvmrole.dao.PvmRoleUser; import com.wimdupont.sxcybot.services.guild.ChannelDetailService; import com.wimdupont.sxcybot.services.guild.pvmrole.PvmRoleUserService; import com.wimdupont.sxcybot.services.osrs.OsrsHiscoreBossService; +import com.wimdupont.sxcybot.util.EmbedBuilderFactory; import com.wimdupont.sxcybot.util.JdaUtil; -import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -16,7 +16,6 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; -import java.awt.Color; import java.util.ArrayList; import java.util.Comparator; import java.util.List; @@ -60,7 +59,7 @@ public class OsrsMonitoringService { } public void monitorDiscordMembers(PrivateChannel privateChannel) { - List<PvmRoleUser> unfound = new ArrayList<>(); + var unfound = new ArrayList<PvmRoleUser>(); channelDetailService.getJda().getGuilds().forEach(guild -> guild.loadMembers().onSuccess(memberlist -> { pvmRoleUserService.findAll().stream() @@ -72,7 +71,7 @@ public class OsrsMonitoringService { } public void monitorPvmRoleUserHiscores(PrivateChannel privateChannel) { - List<PvmRoleUser> unfound = new ArrayList<>(); + var unfound = new ArrayList<PvmRoleUser>(); for (PvmRoleUser pvmRoleUser : pvmRoleUserService.findAll()) { try { hiScoreClient.getHiScores(pvmRoleUser.getRsn(), null); @@ -94,8 +93,8 @@ public class OsrsMonitoringService { LOGGER.info("All PvM Role competitors have been found in discord."); } } else { - EmbedBuilder embedBuilder = new EmbedBuilder(); - embedBuilder.setColor(Color.red); + var embedBuilder = EmbedBuilderFactory.createBuilder(); + embedBuilder.setTitle("PvM competitor Discord check"); if (!unfound.isEmpty()) { embedBuilder.setDescription("No Discord Member found for following competitor RSN's:"); @@ -116,8 +115,8 @@ public class OsrsMonitoringService { LOGGER.info("All PvM Role competitors have been found in the hiscores."); } } else { - EmbedBuilder embedBuilder = new EmbedBuilder(); - embedBuilder.setColor(Color.red); + var embedBuilder = EmbedBuilderFactory.createBuilder(); + embedBuilder.setTitle("PvM competitor Hiscore check"); if (!unfound.isEmpty()) { embedBuilder.setDescription("No hiscores found for following competitor RSN's:"); @@ -137,7 +136,7 @@ public class OsrsMonitoringService { .max(Comparator.comparingInt(Integer::valueOf)) .orElseThrow(); var maxPersistedOrder = osrsHiscoreBossService.findMaxOrderValue(); - if (maxHiscoreOrder != maxPersistedOrder){ + if (maxHiscoreOrder != maxPersistedOrder) { handleError(String.format("Hiscores check not OK: Online bosses count (%s) != persisted count (%s) ", maxHiscoreOrder, maxPersistedOrder)); } diff --git a/src/main/java/com/wimdupont/sxcybot/services/PvMRoleResolver.java b/src/main/java/com/wimdupont/sxcybot/services/PvMRoleResolver.java @@ -22,7 +22,6 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; -import java.util.Map; @Component public class PvMRoleResolver { @@ -51,7 +50,7 @@ public class PvMRoleResolver { } public void resolvePvMRoles(boolean persist, PrivateChannel privateChannel) { - Map<PvmRole, LinkedHashMap<PvmRoleUser, BigDecimal>> scoreBoard = new HashMap<>(); + var scoreBoard = new HashMap<PvmRole, LinkedHashMap<PvmRoleUser, BigDecimal>>(); for (PvmRole pvmRole : PvmRole.values()) { if (!pvmRole.equals(PvmRole.UNUSED)) scoreBoard.put(pvmRole, new LinkedHashMap<>()); diff --git a/src/main/java/com/wimdupont/sxcybot/services/guild/ChatModService.java b/src/main/java/com/wimdupont/sxcybot/services/guild/ChatModService.java @@ -44,7 +44,7 @@ public class ChatModService { if (previousUrlMessages.isEmpty()) return true; try { - LocalDateTime latest = previousUrlMessages.stream().findFirst() + var latest = previousUrlMessages.stream().findFirst() .map(ChatData::getCreatedDateTime) .orElseThrow(); if (latest.plusMinutes(1L).isBefore(LocalDateTime.now())) { diff --git a/src/main/java/com/wimdupont/sxcybot/services/guild/pvmrole/PvmRoleAssignerService.java b/src/main/java/com/wimdupont/sxcybot/services/guild/pvmrole/PvmRoleAssignerService.java @@ -4,8 +4,8 @@ import com.wimdupont.sxcybot.enums.PvmRole; import com.wimdupont.sxcybot.exceptions.EntityNotFoundException; import com.wimdupont.sxcybot.repository.guild.dao.ChannelDetail; import com.wimdupont.sxcybot.repository.guild.pvmrole.dao.PvmRoleUser; +import com.wimdupont.sxcybot.util.EmbedBuilderFactory; import com.wimdupont.sxcybot.util.JdaUtil; -import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.Member; import net.dv8tion.jda.api.entities.Role; @@ -13,12 +13,10 @@ import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.awt.Color; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Comparator; import java.util.LinkedHashMap; -import java.util.List; import java.util.Map; import java.util.Optional; @@ -31,15 +29,15 @@ public class PvmRoleAssignerService { try { for (PvmRole pvmRole : scoreBoard.keySet()) { var role = getRole(pvmRole, channelDetail, guild); - EmbedBuilder embedBuilder = new EmbedBuilder(); - embedBuilder.setColor(Color.red); + var embedBuilder = EmbedBuilderFactory.createBuilder(); + embedBuilder.setTitle(String.format("**%s** Scoreboard results:", role.getName())); if (scoreBoard.get(pvmRole).isEmpty()) { embedBuilder.addField(String.format("No KC gains detected for %s", pvmRole.name().toLowerCase()), "No increase in KC found for participants, role will remain unchanged.", false); textChannel.sendMessageEmbeds(embedBuilder.build()).queue(); continue; } - List<Map.Entry<PvmRoleUser, BigDecimal>> entries = new ArrayList<>(scoreBoard.get(pvmRole).entrySet()); + var entries = new ArrayList<>(scoreBoard.get(pvmRole).entrySet()); entries.sort(Map.Entry.comparingByValue(Comparator.reverseOrder())); scoreBoard.get(pvmRole).clear(); entries.forEach(f -> scoreBoard.get(pvmRole).put(f.getKey(), f.getValue())); diff --git a/src/main/java/com/wimdupont/sxcybot/services/guild/pvmrole/PvmRoleUserAutoAddService.java b/src/main/java/com/wimdupont/sxcybot/services/guild/pvmrole/PvmRoleUserAutoAddService.java @@ -5,8 +5,8 @@ import com.wimdupont.sxcybot.exceptions.EntityNotFoundException; import com.wimdupont.sxcybot.model.wiseoldman.MembershipDto; import com.wimdupont.sxcybot.repository.guild.pvmrole.dao.PvmRoleUser; import com.wimdupont.sxcybot.services.guild.ChannelDetailService; +import com.wimdupont.sxcybot.util.EmbedBuilderFactory; import com.wimdupont.sxcybot.util.JdaUtil; -import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.entities.MessageEmbed.Field; import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; import org.slf4j.Logger; @@ -14,7 +14,6 @@ import org.slf4j.LoggerFactory; import org.springframework.dao.DataIntegrityViolationException; import org.springframework.stereotype.Service; -import java.awt.Color; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -43,6 +42,7 @@ public class PvmRoleUserAutoAddService { var group = wiseOldManClient.getGroup(channel); var obscureList = new HashMap<String, List<String>>(); var unknownList = new ArrayList<String>(); + channelDetailService.getJda().getGuilds().forEach(guild -> guild.loadMembers().onSuccess(discordMembers -> { for (MembershipDto membership : group.memberships()) { @@ -93,8 +93,7 @@ public class PvmRoleUserAutoAddService { } private void postObscures(TextChannel channel, HashMap<String, List<String>> obscureList) { - EmbedBuilder embedBuilder = new EmbedBuilder(); - embedBuilder.setColor(Color.red); + var embedBuilder = EmbedBuilderFactory.createBuilder(); embedBuilder.setTitle("Obscure RSN's"); int i = 1; for (Entry<String, List<String>> obscureRsn : obscureList.entrySet()) { @@ -110,8 +109,8 @@ public class PvmRoleUserAutoAddService { } private void postUnknowns(TextChannel channel, List<String> unknownList) { - EmbedBuilder embedBuilder = new EmbedBuilder(); - embedBuilder.setColor(Color.red); + var embedBuilder = EmbedBuilderFactory.createBuilder(); + embedBuilder.setTitle("Unknown RSN's"); int i = 1; for (String unknownRsn : unknownList) { diff --git a/src/main/java/com/wimdupont/sxcybot/services/osrs/StatMessageSender.java b/src/main/java/com/wimdupont/sxcybot/services/osrs/StatMessageSender.java @@ -8,7 +8,6 @@ import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.awt.Color; import java.util.List; import java.util.function.Consumer; import java.util.function.Predicate; @@ -28,13 +27,12 @@ public class StatMessageSender { Predicate<OsrsStat> predicate, Consumer<OsrsStat> consumer, Consumer<List<OsrsStat>> calcCombatLevel) { - String msg = event.getMessage().getContentRaw(); + var msg = event.getMessage().getContentRaw(); try { - String player = msg.substring(msg.indexOf(" ")).trim(); + var player = msg.substring(msg.indexOf(" ")).trim(); try { - embedBuilder.setColor(Color.RED); embedBuilder.setTitle(String.format("Stats of %s", player)); - List<OsrsStat> osrsStatList = hiScoreClient.getHiScores(player, event.getChannel()).skills(); + var osrsStatList = hiScoreClient.getHiScores(player, event.getChannel()).skills(); osrsStatList.stream().filter(predicate).forEach(consumer); if (calcCombatLevel != null) { diff --git a/src/main/java/com/wimdupont/sxcybot/util/CustomPollFiller.java b/src/main/java/com/wimdupont/sxcybot/util/CustomPollFiller.java @@ -31,8 +31,8 @@ public class CustomPollFiller { // private static final String EMOJI_REGEX = "([\\u20a0-\\u32ff\\ud83c\\udc00-\\ud83d\\udeff\\udbb9\\udce5-\\udbb9\\udcee])"; public void fillPoll(PrivateChannel privateChannel, MessageReceivedEvent event, EmbedBuilder embedBuilder, Set<String> emojiList) { - EmbedBuilder embeddedOption = new EmbedBuilder(); - embeddedOption.setColor(Color.RED); + var embeddedOption = EmbedBuilderFactory.createBuilder(); + embeddedOption.addField("Please enter an option for the poll", "`stop` to finish and create the poll.", false); privateChannel.sendMessageEmbeds(embeddedOption.build()).queue(); embeddedOption.clear(); diff --git a/src/main/java/com/wimdupont/sxcybot/util/EditListenerUtil.java b/src/main/java/com/wimdupont/sxcybot/util/EditListenerUtil.java @@ -5,8 +5,6 @@ import com.wimdupont.sxcybot.model.EditListenerDto; import net.dv8tion.jda.api.EmbedBuilder; import org.springframework.stereotype.Component; -import java.awt.Color; - @Component public class EditListenerUtil { @@ -33,8 +31,8 @@ public class EditListenerUtil { } private static EmbedBuilder getEmbedBuilder(EditListenerDto editListenerDto) { - EmbedBuilder embedBuilder = new EmbedBuilder(); - embedBuilder.setColor(Color.red); + var embedBuilder = EmbedBuilderFactory.createBuilder(); + embedBuilder.setTitle("What do you want to do?"); embedBuilder.addField("1", String.format("Add a new %s.", editListenerDto.entityName()), false); embedBuilder.addField("2", String.format("Delete an existing %s.", editListenerDto.entityName()), false); diff --git a/src/main/java/com/wimdupont/sxcybot/util/EmbedBuilderFactory.java b/src/main/java/com/wimdupont/sxcybot/util/EmbedBuilderFactory.java @@ -0,0 +1,16 @@ +package com.wimdupont.sxcybot.util; + +import net.dv8tion.jda.api.EmbedBuilder; + +import java.awt.Color; + +public class EmbedBuilderFactory { + + private EmbedBuilderFactory() { + } + + public static EmbedBuilder createBuilder() { + return new EmbedBuilder().setColor(Color.RED); + } + +} diff --git a/src/main/java/com/wimdupont/sxcybot/util/NumberFormatter.java b/src/main/java/com/wimdupont/sxcybot/util/NumberFormatter.java @@ -5,6 +5,9 @@ import java.util.Locale; public class NumberFormatter { + private NumberFormatter() { + } + public static String format(String numberToFormat) { return format(Integer.valueOf(numberToFormat)); } diff --git a/src/main/java/com/wimdupont/sxcybot/util/ReleaseNotesUtil.java b/src/main/java/com/wimdupont/sxcybot/util/ReleaseNotesUtil.java @@ -3,13 +3,11 @@ package com.wimdupont.sxcybot.util; import com.wimdupont.sxcybot.repository.guild.dao.ChannelDetail; import com.wimdupont.sxcybot.services.guild.ChannelDetailService; -import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.JDA; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; -import java.awt.Color; import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets; @@ -32,10 +30,10 @@ public class ReleaseNotesUtil { } public void showReleaseNotes(JDA jda) { - Map<String, String> releaseNotes = ReleaseNotesUtil.getReleaseNotes(); + var releaseNotes = ReleaseNotesUtil.getReleaseNotes(); if (!releaseNotes.isEmpty()) { - EmbedBuilder embedBuilder = new EmbedBuilder(); - embedBuilder.setColor(Color.RED); + var embedBuilder = EmbedBuilderFactory.createBuilder(); + embedBuilder.setTitle(String.format("Latest updates %s", LocalDate.now()), GITLAB_URL); for (Entry<String, String> entry : releaseNotes.entrySet()) { embedBuilder.addField(entry.getKey(), entry.getValue(), false); diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties @@ -12,7 +12,6 @@ spring.flyway.url=jdbc:mariadb://localhost:3306/sxcybot #pvm.role.schedule=0 0 0 * * 7 #every 1st and 15th day of the month pvm.role.schedule=0 0 1 1,15 * * - ##### add to profile properties: ##### #spring.datasource.username= #spring.datasource.password= @@ -20,7 +19,6 @@ pvm.role.schedule=0 0 1 1,15 * * #spring.flyway.password= #discord.bot.token= #server.port=8080 - ##### mail ##### mail.enabled=false #mail.from=