From 1da7aaee8f14a368ab7f305d6911ba5abf312146 Mon Sep 17 00:00:00 2001 From: Simon Verhoeven Date: Tue, 16 Apr 2024 21:29:47 +0200 Subject: [PATCH 1/4] chore: remove star imports (resolves #1057) --- .../togetherjava/tjbot/features/Features.java | 24 +++++++++- .../features/basic/RoleSelectCommand.java | 14 ++++-- .../bookmarks/BookmarksListRemoveHandler.java | 6 ++- .../features/code/CodeMessageHandler.java | 6 ++- .../componentids/ComponentIdStore.java | 14 +++++- .../tjbot/features/github/GitHubCommand.java | 5 ++- .../features/github/GitHubReference.java | 11 ++++- .../tjbot/features/help/HelpSystemHelper.java | 11 +++-- .../features/help/HelpThreadCommand.java | 14 ++++-- .../jshell/renderer/RendererUtils.java | 4 +- .../jshell/renderer/ResultEmbedRenderer.java | 2 +- .../renderer/ResultMinimalEmbedRenderer.java | 2 +- .../jshell/renderer/ResultRenderer.java | 3 +- .../wolframalpha/WolframAlphaHandler.java | 24 +++++++--- .../wolframalpha/WolframAlphaImages.java | 4 +- .../wolframalpha/api/QueryResult.java | 6 ++- .../tjbot/features/moderation/BanCommand.java | 10 +++-- .../features/moderation/KickCommand.java | 9 ++-- .../features/moderation/ModerationUtils.java | 13 ++++-- .../features/moderation/MuteCommand.java | 10 +++-- .../features/moderation/NoteCommand.java | 8 +++- .../moderation/QuarantineCommand.java | 8 +++- .../features/moderation/ReportCommand.java | 9 ++-- .../features/moderation/UnbanCommand.java | 10 +++-- .../features/moderation/UnmuteCommand.java | 8 +++- .../moderation/UnquarantineCommand.java | 8 +++- .../features/moderation/WarnCommand.java | 9 ++-- .../features/moderation/WhoIsCommand.java | 10 +++-- .../moderation/audit/AuditCommand.java | 6 ++- .../moderation/audit/ModAuditLogRoutine.java | 17 +++++-- .../moderation/modmail/ModMailCommand.java | 2 +- .../features/moderation/scam/ScamBlocker.java | 14 +++++- .../features/reminder/ReminderCommand.java | 6 ++- .../tjbot/features/system/BotCore.java | 19 +++++++- .../tjbot/features/tags/TagCommand.java | 7 ++- .../tjbot/features/tags/TagManageCommand.java | 9 +++- .../features/tophelper/TopHelpersCommand.java | 15 +++++-- .../tjbot/features/utils/StringDistances.java | 10 ++++- .../logging/discord/DiscordLogAppender.java | 9 +++- .../logging/discord/DiscordLogForwarder.java | 10 ++++- .../basic/SlashCommandEducatorTest.java | 4 +- .../features/mathcommands/TeXCommandTest.java | 4 +- .../MediaOnlyChannelListenerTest.java | 6 ++- .../features/reminder/RemindRoutineTest.java | 8 +++- .../tjbot/features/tags/TagCommandTest.java | 4 +- .../features/tags/TagManageCommandTest.java | 13 +++++- .../tjbot/features/tags/TagSystemTest.java | 10 ++++- .../tjbot/features/tags/TagsCommandTest.java | 3 +- .../TopHelperMessageListenerTest.java | 4 +- .../org/togetherjava/tjbot/jda/JdaTester.java | 45 ++++++++++++++++--- .../SlashCommandInteractionEventBuilder.java | 7 ++- .../formatter/formatting/TokenQueueTest.java | 5 ++- 52 files changed, 395 insertions(+), 104 deletions(-) diff --git a/application/src/main/java/org/togetherjava/tjbot/features/Features.java b/application/src/main/java/org/togetherjava/tjbot/features/Features.java index ea6b908b90..3e5212958c 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/Features.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/Features.java @@ -23,13 +23,33 @@ import org.togetherjava.tjbot.features.filesharing.FileSharingMessageListener; import org.togetherjava.tjbot.features.github.GitHubCommand; import org.togetherjava.tjbot.features.github.GitHubReference; -import org.togetherjava.tjbot.features.help.*; +import org.togetherjava.tjbot.features.help.GuildLeaveCloseThreadListener; +import org.togetherjava.tjbot.features.help.HelpSystemHelper; +import org.togetherjava.tjbot.features.help.HelpThreadActivityUpdater; +import org.togetherjava.tjbot.features.help.HelpThreadAutoArchiver; +import org.togetherjava.tjbot.features.help.HelpThreadCommand; +import org.togetherjava.tjbot.features.help.HelpThreadCreatedListener; +import org.togetherjava.tjbot.features.help.HelpThreadMetadataPurger; +import org.togetherjava.tjbot.features.help.PinnedNotificationRemover; import org.togetherjava.tjbot.features.jshell.JShellCommand; import org.togetherjava.tjbot.features.jshell.JShellEval; import org.togetherjava.tjbot.features.mathcommands.TeXCommand; import org.togetherjava.tjbot.features.mathcommands.wolframalpha.WolframAlphaCommand; import org.togetherjava.tjbot.features.mediaonly.MediaOnlyChannelListener; -import org.togetherjava.tjbot.features.moderation.*; +import org.togetherjava.tjbot.features.moderation.BanCommand; +import org.togetherjava.tjbot.features.moderation.KickCommand; +import org.togetherjava.tjbot.features.moderation.ModerationActionsStore; +import org.togetherjava.tjbot.features.moderation.MuteCommand; +import org.togetherjava.tjbot.features.moderation.NoteCommand; +import org.togetherjava.tjbot.features.moderation.QuarantineCommand; +import org.togetherjava.tjbot.features.moderation.RejoinModerationRoleListener; +import org.togetherjava.tjbot.features.moderation.ReportCommand; +import org.togetherjava.tjbot.features.moderation.TransferQuestionCommand; +import org.togetherjava.tjbot.features.moderation.UnbanCommand; +import org.togetherjava.tjbot.features.moderation.UnmuteCommand; +import org.togetherjava.tjbot.features.moderation.UnquarantineCommand; +import org.togetherjava.tjbot.features.moderation.WarnCommand; +import org.togetherjava.tjbot.features.moderation.WhoIsCommand; import org.togetherjava.tjbot.features.moderation.attachment.BlacklistedAttachmentListener; import org.togetherjava.tjbot.features.moderation.audit.AuditCommand; import org.togetherjava.tjbot.features.moderation.audit.ModAuditLogRoutine; diff --git a/application/src/main/java/org/togetherjava/tjbot/features/basic/RoleSelectCommand.java b/application/src/main/java/org/togetherjava/tjbot/features/basic/RoleSelectCommand.java index 7cf0dd5b69..1b7c362e48 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/basic/RoleSelectCommand.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/basic/RoleSelectCommand.java @@ -2,7 +2,12 @@ import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.Permission; -import net.dv8tion.jda.api.entities.*; +import net.dv8tion.jda.api.entities.Guild; +import net.dv8tion.jda.api.entities.IMentionable; +import net.dv8tion.jda.api.entities.Member; +import net.dv8tion.jda.api.entities.MessageEmbed; +import net.dv8tion.jda.api.entities.Role; +import net.dv8tion.jda.api.entities.RoleIcon; import net.dv8tion.jda.api.entities.emoji.Emoji; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; import net.dv8tion.jda.api.events.interaction.component.StringSelectInteractionEvent; @@ -21,9 +26,12 @@ import org.togetherjava.tjbot.features.SlashCommandAdapter; import org.togetherjava.tjbot.features.componentids.Lifespan; -import java.awt.*; -import java.util.*; +import java.awt.Color; +import java.util.ArrayList; +import java.util.Collection; import java.util.List; +import java.util.Objects; +import java.util.Optional; import java.util.function.Function; import java.util.stream.Collectors; diff --git a/application/src/main/java/org/togetherjava/tjbot/features/bookmarks/BookmarksListRemoveHandler.java b/application/src/main/java/org/togetherjava/tjbot/features/bookmarks/BookmarksListRemoveHandler.java index 4832e1ef4f..6c6de7b5d5 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/bookmarks/BookmarksListRemoveHandler.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/bookmarks/BookmarksListRemoveHandler.java @@ -20,7 +20,11 @@ import org.togetherjava.tjbot.features.utils.MessageUtils; import java.awt.Color; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Set; +import java.util.StringJoiner; import java.util.function.Function; import java.util.function.Predicate; import java.util.function.UnaryOperator; diff --git a/application/src/main/java/org/togetherjava/tjbot/features/code/CodeMessageHandler.java b/application/src/main/java/org/togetherjava/tjbot/features/code/CodeMessageHandler.java index f59e1ef2d2..35a8c8da26 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/code/CodeMessageHandler.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/code/CodeMessageHandler.java @@ -26,7 +26,11 @@ import javax.annotation.Nullable; import java.awt.Color; -import java.util.*; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; import java.util.function.Function; import java.util.stream.Collectors; import java.util.stream.Stream; diff --git a/application/src/main/java/org/togetherjava/tjbot/features/componentids/ComponentIdStore.java b/application/src/main/java/org/togetherjava/tjbot/features/componentids/ComponentIdStore.java index 4dbdc25ffe..7ada38e67d 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/componentids/ComponentIdStore.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/componentids/ComponentIdStore.java @@ -18,8 +18,18 @@ import java.time.Instant; import java.time.temporal.ChronoUnit; import java.time.temporal.TemporalUnit; -import java.util.*; -import java.util.concurrent.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.Map; +import java.util.Optional; +import java.util.UUID; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.ScheduledFuture; +import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; import java.util.function.Consumer; import java.util.function.Function; diff --git a/application/src/main/java/org/togetherjava/tjbot/features/github/GitHubCommand.java b/application/src/main/java/org/togetherjava/tjbot/features/github/GitHubCommand.java index 2a6f2f1137..53a7eed187 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/github/GitHubCommand.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/github/GitHubCommand.java @@ -14,7 +14,10 @@ import java.io.UncheckedIOException; import java.time.Duration; import java.time.Instant; -import java.util.*; +import java.util.Comparator; +import java.util.List; +import java.util.PriorityQueue; +import java.util.Queue; import java.util.function.ToIntFunction; import java.util.regex.Matcher; import java.util.stream.Stream; diff --git a/application/src/main/java/org/togetherjava/tjbot/features/github/GitHubReference.java b/application/src/main/java/org/togetherjava/tjbot/features/github/GitHubReference.java index 5f9ae9a4bb..00a58ae82a 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/github/GitHubReference.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/github/GitHubReference.java @@ -8,14 +8,21 @@ import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import org.apache.commons.collections4.ListUtils; -import org.kohsuke.github.*; +import org.kohsuke.github.GHIssue; +import org.kohsuke.github.GHIssueState; +import org.kohsuke.github.GHIssueStateReason; +import org.kohsuke.github.GHLabel; +import org.kohsuke.github.GHPullRequest; +import org.kohsuke.github.GHRepository; +import org.kohsuke.github.GHUser; +import org.kohsuke.github.GitHub; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.togetherjava.tjbot.config.Config; import org.togetherjava.tjbot.features.MessageReceiverAdapter; -import java.awt.*; +import java.awt.Color; import java.io.FileNotFoundException; import java.io.IOException; import java.io.UncheckedIOException; diff --git a/application/src/main/java/org/togetherjava/tjbot/features/help/HelpSystemHelper.java b/application/src/main/java/org/togetherjava/tjbot/features/help/HelpSystemHelper.java index f14342c28d..1293155a76 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/help/HelpSystemHelper.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/help/HelpSystemHelper.java @@ -1,7 +1,12 @@ package org.togetherjava.tjbot.features.help; import net.dv8tion.jda.api.EmbedBuilder; -import net.dv8tion.jda.api.entities.*; +import net.dv8tion.jda.api.entities.Guild; +import net.dv8tion.jda.api.entities.Member; +import net.dv8tion.jda.api.entities.Message; +import net.dv8tion.jda.api.entities.MessageEmbed; +import net.dv8tion.jda.api.entities.Role; +import net.dv8tion.jda.api.entities.SelfUser; import net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer; import net.dv8tion.jda.api.entities.channel.concrete.ForumChannel; import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel; @@ -23,7 +28,7 @@ import org.togetherjava.tjbot.features.chatgpt.ChatGptService; import org.togetherjava.tjbot.features.componentids.ComponentIdInteractor; -import java.awt.*; +import java.awt.Color; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -114,7 +119,7 @@ public HelpSystemHelper(Config config, Database database, ChatGptService chatGpt * why the message wasn't used. */ RestAction constructChatGptAttempt(ThreadChannel threadChannel, - String originalQuestion, ComponentIdInteractor componentIdInteractor) { + String originalQuestion, ComponentIdInteractor componentIdInteractor) { Optional questionOptional = prepareChatGptQuestion(threadChannel, originalQuestion); Optional chatGPTAnswer; diff --git a/application/src/main/java/org/togetherjava/tjbot/features/help/HelpThreadCommand.java b/application/src/main/java/org/togetherjava/tjbot/features/help/HelpThreadCommand.java index a2b1a123a3..376fd0b01c 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/help/HelpThreadCommand.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/help/HelpThreadCommand.java @@ -3,7 +3,10 @@ import com.github.benmanes.caffeine.cache.Cache; import com.github.benmanes.caffeine.cache.Caffeine; import net.dv8tion.jda.api.EmbedBuilder; -import net.dv8tion.jda.api.entities.*; +import net.dv8tion.jda.api.entities.Guild; +import net.dv8tion.jda.api.entities.Message; +import net.dv8tion.jda.api.entities.MessageEmbed; +import net.dv8tion.jda.api.entities.Role; import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; import net.dv8tion.jda.api.interactions.InteractionHook; @@ -20,7 +23,12 @@ import java.time.Instant; import java.time.temporal.ChronoUnit; -import java.util.*; +import java.util.Arrays; +import java.util.EnumMap; +import java.util.Locale; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; import java.util.concurrent.TimeUnit; import java.util.function.BiConsumer; import java.util.function.Function; @@ -160,7 +168,7 @@ private void refreshCooldownFor(Subcommand subcommand, ThreadChannel helpThread) } private RestAction sendCategoryChangedMessage(Guild guild, InteractionHook hook, - ThreadChannel helpThread, String category) { + ThreadChannel helpThread, String category) { String changedContent = "Changed the category to **%s**.".formatted(category); WebhookMessageEditAction action = hook.editOriginal(changedContent); diff --git a/application/src/main/java/org/togetherjava/tjbot/features/jshell/renderer/RendererUtils.java b/application/src/main/java/org/togetherjava/tjbot/features/jshell/renderer/RendererUtils.java index 48dfe416e1..e93b5803a1 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/jshell/renderer/RendererUtils.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/jshell/renderer/RendererUtils.java @@ -14,7 +14,9 @@ import java.util.List; import java.util.Optional; -import static org.togetherjava.tjbot.features.utils.Colors.*; +import static org.togetherjava.tjbot.features.utils.Colors.ERROR_COLOR; +import static org.togetherjava.tjbot.features.utils.Colors.PARTIAL_SUCCESS_COLOR; +import static org.togetherjava.tjbot.features.utils.Colors.SUCCESS_COLOR; class RendererUtils { private RendererUtils() {} diff --git a/application/src/main/java/org/togetherjava/tjbot/features/jshell/renderer/ResultEmbedRenderer.java b/application/src/main/java/org/togetherjava/tjbot/features/jshell/renderer/ResultEmbedRenderer.java index ecbd215eb4..4d7c77b4e0 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/jshell/renderer/ResultEmbedRenderer.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/jshell/renderer/ResultEmbedRenderer.java @@ -10,7 +10,7 @@ import javax.annotation.Nullable; -import java.awt.*; +import java.awt.Color; import java.util.ArrayList; import java.util.List; import java.util.Optional; diff --git a/application/src/main/java/org/togetherjava/tjbot/features/jshell/renderer/ResultMinimalEmbedRenderer.java b/application/src/main/java/org/togetherjava/tjbot/features/jshell/renderer/ResultMinimalEmbedRenderer.java index 333d3bd69f..6870dfa398 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/jshell/renderer/ResultMinimalEmbedRenderer.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/jshell/renderer/ResultMinimalEmbedRenderer.java @@ -7,7 +7,7 @@ import javax.annotation.Nullable; -import java.awt.*; +import java.awt.Color; import java.util.ArrayList; import java.util.List; import java.util.Optional; diff --git a/application/src/main/java/org/togetherjava/tjbot/features/jshell/renderer/ResultRenderer.java b/application/src/main/java/org/togetherjava/tjbot/features/jshell/renderer/ResultRenderer.java index d264b9b8c1..fe8d96e48b 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/jshell/renderer/ResultRenderer.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/jshell/renderer/ResultRenderer.java @@ -9,8 +9,7 @@ import org.togetherjava.tjbot.features.jshell.backend.dto.JShellResult; import javax.annotation.Nullable; - -import java.awt.*; +import java.awt.Color; /** * Allows to render JShell results. diff --git a/application/src/main/java/org/togetherjava/tjbot/features/mathcommands/wolframalpha/WolframAlphaHandler.java b/application/src/main/java/org/togetherjava/tjbot/features/mathcommands/wolframalpha/WolframAlphaHandler.java index 4b0719e98e..88f4ed280c 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/mathcommands/wolframalpha/WolframAlphaHandler.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/mathcommands/wolframalpha/WolframAlphaHandler.java @@ -8,17 +8,31 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.togetherjava.tjbot.features.mathcommands.wolframalpha.api.*; +import org.togetherjava.tjbot.features.mathcommands.wolframalpha.api.DidYouMean; +import org.togetherjava.tjbot.features.mathcommands.wolframalpha.api.DidYouMeans; import org.togetherjava.tjbot.features.mathcommands.wolframalpha.api.Error; - -import java.awt.*; +import org.togetherjava.tjbot.features.mathcommands.wolframalpha.api.FutureTopic; +import org.togetherjava.tjbot.features.mathcommands.wolframalpha.api.LanguageMessage; +import org.togetherjava.tjbot.features.mathcommands.wolframalpha.api.Pod; +import org.togetherjava.tjbot.features.mathcommands.wolframalpha.api.QueryResult; +import org.togetherjava.tjbot.features.mathcommands.wolframalpha.api.RelatedExample; +import org.togetherjava.tjbot.features.mathcommands.wolframalpha.api.RelatedExamples; +import org.togetherjava.tjbot.features.mathcommands.wolframalpha.api.SubPod; +import org.togetherjava.tjbot.features.mathcommands.wolframalpha.api.Tip; +import org.togetherjava.tjbot.features.mathcommands.wolframalpha.api.Tips; + +import java.awt.Color; import java.awt.image.BufferedImage; import java.io.IOException; import java.net.HttpURLConnection; import java.net.URISyntaxException; import java.net.http.HttpResponse; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; import java.util.List; +import java.util.Objects; +import java.util.StringJoiner; import java.util.function.Function; import java.util.stream.Collectors; @@ -147,7 +161,7 @@ private HandlerResponse handleMisunderstoodQuery(QueryResult result) { } private static String createBulletPointList(Collection elements, - Function elementToText) { + Function elementToText) { return elements.stream() .map(elementToText) .map(text -> "• " + text) diff --git a/application/src/main/java/org/togetherjava/tjbot/features/mathcommands/wolframalpha/WolframAlphaImages.java b/application/src/main/java/org/togetherjava/tjbot/features/mathcommands/wolframalpha/WolframAlphaImages.java index 3bad6ee03e..a9fd8cac82 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/mathcommands/wolframalpha/WolframAlphaImages.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/mathcommands/wolframalpha/WolframAlphaImages.java @@ -5,7 +5,9 @@ import javax.imageio.ImageIO; -import java.awt.*; +import java.awt.Color; +import java.awt.Font; +import java.awt.Graphics; import java.awt.font.FontRenderContext; import java.awt.geom.AffineTransform; import java.awt.geom.Rectangle2D; diff --git a/application/src/main/java/org/togetherjava/tjbot/features/mathcommands/wolframalpha/api/QueryResult.java b/application/src/main/java/org/togetherjava/tjbot/features/mathcommands/wolframalpha/api/QueryResult.java index 15579560e8..f2fab087ec 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/mathcommands/wolframalpha/api/QueryResult.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/mathcommands/wolframalpha/api/QueryResult.java @@ -1,6 +1,10 @@ package org.togetherjava.tjbot.features.mathcommands.wolframalpha.api; -import com.fasterxml.jackson.annotation.*; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonRootName; import com.fasterxml.jackson.dataformat.xml.XmlMapper; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; diff --git a/application/src/main/java/org/togetherjava/tjbot/features/moderation/BanCommand.java b/application/src/main/java/org/togetherjava/tjbot/features/moderation/BanCommand.java index 1c0bf953ef..6a590eb65c 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/moderation/BanCommand.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/moderation/BanCommand.java @@ -1,7 +1,11 @@ package org.togetherjava.tjbot.features.moderation; import net.dv8tion.jda.api.Permission; -import net.dv8tion.jda.api.entities.*; +import net.dv8tion.jda.api.entities.Guild; +import net.dv8tion.jda.api.entities.Member; +import net.dv8tion.jda.api.entities.Message; +import net.dv8tion.jda.api.entities.MessageEmbed; +import net.dv8tion.jda.api.entities.User; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; import net.dv8tion.jda.api.exceptions.ErrorResponseException; import net.dv8tion.jda.api.interactions.InteractionHook; @@ -82,7 +86,7 @@ private static RestAction handleAlreadyBanned(Guild.Ban ban, Interactio } private static RestAction sendDm(User target, - @Nullable ModerationUtils.TemporaryData temporaryData, String reason, Guild guild) { + @Nullable ModerationUtils.TemporaryData temporaryData, String reason, Guild guild) { String durationMessage = temporaryData == null ? "Permanently" : temporaryData.duration(); String description = """ @@ -94,7 +98,7 @@ private static RestAction sendDm(User target, } private static MessageEmbed sendFeedback(boolean hasSentDm, User target, Member author, - @Nullable ModerationUtils.TemporaryData temporaryData, String reason) { + @Nullable ModerationUtils.TemporaryData temporaryData, String reason) { String durationText = "The ban duration is: " + (temporaryData == null ? "permanent" : temporaryData.duration()); String dmNoticeText = ""; diff --git a/application/src/main/java/org/togetherjava/tjbot/features/moderation/KickCommand.java b/application/src/main/java/org/togetherjava/tjbot/features/moderation/KickCommand.java index f4cecf1a31..2bac8d3a47 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/moderation/KickCommand.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/moderation/KickCommand.java @@ -1,7 +1,10 @@ package org.togetherjava.tjbot.features.moderation; import net.dv8tion.jda.api.Permission; -import net.dv8tion.jda.api.entities.*; +import net.dv8tion.jda.api.entities.Guild; +import net.dv8tion.jda.api.entities.Member; +import net.dv8tion.jda.api.entities.MessageEmbed; +import net.dv8tion.jda.api.entities.User; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; import net.dv8tion.jda.api.interactions.callbacks.IReplyCallback; import net.dv8tion.jda.api.interactions.commands.OptionType; @@ -55,7 +58,7 @@ private static void handleAbsentTarget(IReplyCallback event) { } private void kickUserFlow(Member target, Member author, String reason, Guild guild, - SlashCommandInteractionEvent event) { + SlashCommandInteractionEvent event) { event.deferReply().queue(); sendDm(target.getUser(), reason, guild) @@ -91,7 +94,7 @@ private AuditableRestAction kickUser(Member target, Member author, String } private static MessageEmbed sendFeedback(boolean hasSentDm, Member target, Member author, - String reason) { + String reason) { String dmNoticeText = ""; if (!hasSentDm) { dmNoticeText = "(Unable to send them a DM.)"; diff --git a/application/src/main/java/org/togetherjava/tjbot/features/moderation/ModerationUtils.java b/application/src/main/java/org/togetherjava/tjbot/features/moderation/ModerationUtils.java index 9151a3f0de..87e0c8ba87 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/moderation/ModerationUtils.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/moderation/ModerationUtils.java @@ -2,7 +2,12 @@ import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.Permission; -import net.dv8tion.jda.api.entities.*; +import net.dv8tion.jda.api.entities.Guild; +import net.dv8tion.jda.api.entities.IPermissionHolder; +import net.dv8tion.jda.api.entities.Member; +import net.dv8tion.jda.api.entities.MessageEmbed; +import net.dv8tion.jda.api.entities.Role; +import net.dv8tion.jda.api.entities.User; import net.dv8tion.jda.api.interactions.callbacks.IReplyCallback; import net.dv8tion.jda.api.requests.RestAction; import net.dv8tion.jda.api.requests.restaction.AuditableRestAction; @@ -85,7 +90,7 @@ static boolean handleReason(CharSequence reason, IReplyCallback event) { * @return Whether the author and bot can interact with the target user */ public static boolean handleCanInteractWithTarget(String actionVerb, Member bot, Member author, - Member target, IReplyCallback event) { + Member target, IReplyCallback event) { String targetTag = target.getUser().getName(); if (!author.canInteract(target)) { event @@ -153,7 +158,7 @@ static boolean handleCanInteractWithRole(Member bot, Member author, Role role, * @return Whether the bot has the required permission */ static boolean handleHasBotPermissions(String actionVerb, Permission permission, - IPermissionHolder bot, Guild guild, IReplyCallback event) { + IPermissionHolder bot, Guild guild, IReplyCallback event) { if (!bot.hasPermission(permission)) { event .reply("I can not %s users in this guild since I do not have the %s permission." @@ -278,7 +283,7 @@ static boolean handleHasAuthorPermissions(String actionVerb, Permission permissi * @return the created response */ static MessageEmbed createActionResponse(User author, ModerationAction action, User target, - @Nullable String extraMessage, @Nullable String reason) { + @Nullable String extraMessage, @Nullable String reason) { String description = "%s **%s** (id: %s).".formatted(action.getVerb(), target.getName(), target.getId()); if (extraMessage != null && !extraMessage.isBlank()) { diff --git a/application/src/main/java/org/togetherjava/tjbot/features/moderation/MuteCommand.java b/application/src/main/java/org/togetherjava/tjbot/features/moderation/MuteCommand.java index e4ad3a4074..d4f383e768 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/moderation/MuteCommand.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/moderation/MuteCommand.java @@ -1,6 +1,10 @@ package org.togetherjava.tjbot.features.moderation; -import net.dv8tion.jda.api.entities.*; +import net.dv8tion.jda.api.entities.Guild; +import net.dv8tion.jda.api.entities.Member; +import net.dv8tion.jda.api.entities.MessageEmbed; +import net.dv8tion.jda.api.entities.Role; +import net.dv8tion.jda.api.entities.User; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; import net.dv8tion.jda.api.interactions.callbacks.IReplyCallback; import net.dv8tion.jda.api.interactions.commands.OptionType; @@ -70,7 +74,7 @@ private static void handleAlreadyMutedTarget(IReplyCallback event) { } private static RestAction sendDm(User target, - @Nullable ModerationUtils.TemporaryData temporaryData, String reason, Guild guild) { + @Nullable ModerationUtils.TemporaryData temporaryData, String reason, Guild guild) { String durationMessage = temporaryData == null ? "Permanent" : temporaryData.duration(); String description = """ @@ -82,7 +86,7 @@ private static RestAction sendDm(User target, } private static MessageEmbed sendFeedback(boolean hasSentDm, Member target, Member author, - @Nullable ModerationUtils.TemporaryData temporaryData, String reason) { + @Nullable ModerationUtils.TemporaryData temporaryData, String reason) { String durationText = "The mute duration is: " + (temporaryData == null ? "permanent" : temporaryData.duration()); String dmNoticeText = ""; diff --git a/application/src/main/java/org/togetherjava/tjbot/features/moderation/NoteCommand.java b/application/src/main/java/org/togetherjava/tjbot/features/moderation/NoteCommand.java index 2a3ed399fa..737f8353d6 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/moderation/NoteCommand.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/moderation/NoteCommand.java @@ -1,6 +1,10 @@ package org.togetherjava.tjbot.features.moderation; -import net.dv8tion.jda.api.entities.*; +import net.dv8tion.jda.api.entities.Guild; +import net.dv8tion.jda.api.entities.ISnowflake; +import net.dv8tion.jda.api.entities.Member; +import net.dv8tion.jda.api.entities.MessageEmbed; +import net.dv8tion.jda.api.entities.User; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; import net.dv8tion.jda.api.interactions.callbacks.IReplyCallback; import net.dv8tion.jda.api.interactions.commands.OptionMapping; @@ -75,7 +79,7 @@ private boolean handleChecks(Member bot, Member author, @Nullable Member target, } private void sendNote(User target, Member author, String content, ISnowflake guild, - IReplyCallback event) { + IReplyCallback event) { storeNote(target, author, content, guild); sendFeedback(target, author, content, event); } diff --git a/application/src/main/java/org/togetherjava/tjbot/features/moderation/QuarantineCommand.java b/application/src/main/java/org/togetherjava/tjbot/features/moderation/QuarantineCommand.java index 4d19167beb..dc701c2bf9 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/moderation/QuarantineCommand.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/moderation/QuarantineCommand.java @@ -1,6 +1,10 @@ package org.togetherjava.tjbot.features.moderation; -import net.dv8tion.jda.api.entities.*; +import net.dv8tion.jda.api.entities.Guild; +import net.dv8tion.jda.api.entities.Member; +import net.dv8tion.jda.api.entities.MessageEmbed; +import net.dv8tion.jda.api.entities.Role; +import net.dv8tion.jda.api.entities.User; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; import net.dv8tion.jda.api.interactions.callbacks.IReplyCallback; import net.dv8tion.jda.api.interactions.commands.OptionType; @@ -72,7 +76,7 @@ private static RestAction sendDm(User target, String reason, Guild guil } private static MessageEmbed sendFeedback(boolean hasSentDm, Member target, Member author, - String reason) { + String reason) { String dmNoticeText = ""; if (!hasSentDm) { dmNoticeText = "\n(Unable to send them a DM.)"; diff --git a/application/src/main/java/org/togetherjava/tjbot/features/moderation/ReportCommand.java b/application/src/main/java/org/togetherjava/tjbot/features/moderation/ReportCommand.java index e56f56be60..1fe144e751 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/moderation/ReportCommand.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/moderation/ReportCommand.java @@ -3,7 +3,10 @@ import com.github.benmanes.caffeine.cache.Cache; import com.github.benmanes.caffeine.cache.Caffeine; import net.dv8tion.jda.api.EmbedBuilder; -import net.dv8tion.jda.api.entities.*; +import net.dv8tion.jda.api.entities.Guild; +import net.dv8tion.jda.api.entities.Message; +import net.dv8tion.jda.api.entities.MessageEmbed; +import net.dv8tion.jda.api.entities.Role; import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; import net.dv8tion.jda.api.events.interaction.ModalInteractionEvent; import net.dv8tion.jda.api.events.interaction.command.MessageContextInteractionEvent; @@ -24,7 +27,7 @@ import org.togetherjava.tjbot.features.MessageContextCommand; import org.togetherjava.tjbot.features.utils.MessageUtils; -import java.awt.*; +import java.awt.Color; import java.time.Instant; import java.time.temporal.ChronoUnit; import java.util.List; @@ -164,7 +167,7 @@ private Optional handleRequireModMailChannel(ModalInteractionEvent } private MessageCreateAction createModMessage(String reportReason, - ReportedMessage reportedMessage, Guild guild, TextChannel modMailAuditLog) { + ReportedMessage reportedMessage, Guild guild, TextChannel modMailAuditLog) { MessageEmbed reportedMessageEmbed = new EmbedBuilder().setTitle("Report") .setDescription(MessageUtils.abbreviate(reportedMessage.content, MessageEmbed.DESCRIPTION_MAX_LENGTH)) diff --git a/application/src/main/java/org/togetherjava/tjbot/features/moderation/UnbanCommand.java b/application/src/main/java/org/togetherjava/tjbot/features/moderation/UnbanCommand.java index 1a3c2d24c0..e3c9497378 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/moderation/UnbanCommand.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/moderation/UnbanCommand.java @@ -1,7 +1,11 @@ package org.togetherjava.tjbot.features.moderation; import net.dv8tion.jda.api.Permission; -import net.dv8tion.jda.api.entities.*; +import net.dv8tion.jda.api.entities.Guild; +import net.dv8tion.jda.api.entities.IPermissionHolder; +import net.dv8tion.jda.api.entities.Member; +import net.dv8tion.jda.api.entities.MessageEmbed; +import net.dv8tion.jda.api.entities.User; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; import net.dv8tion.jda.api.exceptions.ErrorResponseException; import net.dv8tion.jda.api.interactions.callbacks.IReplyCallback; @@ -45,7 +49,7 @@ public UnbanCommand(ModerationActionsStore actionsStore) { } private void unban(User target, Member author, String reason, Guild guild, - IReplyCallback event) { + IReplyCallback event) { guild.unban(target).reason(reason).queue(result -> { MessageEmbed message = ModerationUtils.createActionResponse(author.getUser(), ModerationAction.UNBAN, target, null, reason); @@ -86,7 +90,7 @@ private static void handleFailure(Throwable unbanFailure, User target, IReplyCal } private boolean handleChecks(IPermissionHolder bot, Member author, CharSequence reason, - Guild guild, IReplyCallback event) { + Guild guild, IReplyCallback event) { if (!ModerationUtils.handleHasBotPermissions(ACTION_VERB, Permission.BAN_MEMBERS, bot, guild, event)) { return false; diff --git a/application/src/main/java/org/togetherjava/tjbot/features/moderation/UnmuteCommand.java b/application/src/main/java/org/togetherjava/tjbot/features/moderation/UnmuteCommand.java index 8b0c6669e2..e01e8950bf 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/moderation/UnmuteCommand.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/moderation/UnmuteCommand.java @@ -1,6 +1,10 @@ package org.togetherjava.tjbot.features.moderation; -import net.dv8tion.jda.api.entities.*; +import net.dv8tion.jda.api.entities.Guild; +import net.dv8tion.jda.api.entities.Member; +import net.dv8tion.jda.api.entities.MessageEmbed; +import net.dv8tion.jda.api.entities.Role; +import net.dv8tion.jda.api.entities.User; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; import net.dv8tion.jda.api.interactions.callbacks.IReplyCallback; import net.dv8tion.jda.api.interactions.commands.OptionType; @@ -68,7 +72,7 @@ private static RestAction sendDm(User target, String reason, Guild guil } private static MessageEmbed sendFeedback(boolean hasSentDm, Member target, Member author, - String reason) { + String reason) { String dmNoticeText = ""; if (!hasSentDm) { dmNoticeText = "(Unable to send them a DM.)"; diff --git a/application/src/main/java/org/togetherjava/tjbot/features/moderation/UnquarantineCommand.java b/application/src/main/java/org/togetherjava/tjbot/features/moderation/UnquarantineCommand.java index 4acdc63076..0387cf7d65 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/moderation/UnquarantineCommand.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/moderation/UnquarantineCommand.java @@ -1,6 +1,10 @@ package org.togetherjava.tjbot.features.moderation; -import net.dv8tion.jda.api.entities.*; +import net.dv8tion.jda.api.entities.Guild; +import net.dv8tion.jda.api.entities.Member; +import net.dv8tion.jda.api.entities.MessageEmbed; +import net.dv8tion.jda.api.entities.Role; +import net.dv8tion.jda.api.entities.User; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; import net.dv8tion.jda.api.interactions.callbacks.IReplyCallback; import net.dv8tion.jda.api.interactions.commands.OptionType; @@ -72,7 +76,7 @@ private static RestAction sendDm(User target, String reason, Guild guil } private static MessageEmbed sendFeedback(boolean hasSentDm, Member target, Member author, - String reason) { + String reason) { String dmNoticeText = ""; if (!hasSentDm) { dmNoticeText = "(Unable to send them a DM.)"; diff --git a/application/src/main/java/org/togetherjava/tjbot/features/moderation/WarnCommand.java b/application/src/main/java/org/togetherjava/tjbot/features/moderation/WarnCommand.java index aa1805070e..08f19763c7 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/moderation/WarnCommand.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/moderation/WarnCommand.java @@ -1,6 +1,9 @@ package org.togetherjava.tjbot.features.moderation; -import net.dv8tion.jda.api.entities.*; +import net.dv8tion.jda.api.entities.Guild; +import net.dv8tion.jda.api.entities.Member; +import net.dv8tion.jda.api.entities.MessageEmbed; +import net.dv8tion.jda.api.entities.User; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; import net.dv8tion.jda.api.interactions.commands.OptionMapping; import net.dv8tion.jda.api.interactions.commands.OptionType; @@ -46,7 +49,7 @@ public WarnCommand(ModerationActionsStore actionsStore) { } private void warnUserFlow(User target, Member author, String reason, Guild guild, - SlashCommandInteractionEvent event) { + SlashCommandInteractionEvent event) { event.deferReply().queue(); sendDm(target, reason, guild).map(hasSentDm -> { @@ -77,7 +80,7 @@ private void warnUser(User target, Member author, String reason, Guild guild) { } private static MessageEmbed sendFeedback(boolean hasSentDm, User target, Member author, - String reason) { + String reason) { String dmNoticeText = ""; if (!hasSentDm) { dmNoticeText = "(Unable to send them a DM.)"; diff --git a/application/src/main/java/org/togetherjava/tjbot/features/moderation/WhoIsCommand.java b/application/src/main/java/org/togetherjava/tjbot/features/moderation/WhoIsCommand.java index 137be42f08..5cee816282 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/moderation/WhoIsCommand.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/moderation/WhoIsCommand.java @@ -1,7 +1,11 @@ package org.togetherjava.tjbot.features.moderation; import net.dv8tion.jda.api.EmbedBuilder; -import net.dv8tion.jda.api.entities.*; +import net.dv8tion.jda.api.entities.GuildVoiceState; +import net.dv8tion.jda.api.entities.Member; +import net.dv8tion.jda.api.entities.MessageEmbed; +import net.dv8tion.jda.api.entities.Role; +import net.dv8tion.jda.api.entities.User; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; import net.dv8tion.jda.api.interactions.callbacks.IReplyCallback; import net.dv8tion.jda.api.interactions.commands.OptionMapping; @@ -14,7 +18,7 @@ import javax.annotation.CheckReturnValue; -import java.awt.*; +import java.awt.Color; import java.time.OffsetDateTime; import java.time.format.DateTimeFormatter; import java.util.Collection; @@ -106,7 +110,7 @@ private static ReplyCallbackAction handleWhoIsMember(final IReplyCallback event, } private static ReplyCallbackAction sendEmbedWithProfileAction(final IReplyCallback event, - MessageEmbed embed, String userId) { + MessageEmbed embed, String userId) { return event.replyEmbeds(embed) .addActionRow( DiscordClientAction.General.USER.asLinkButton("Click to see profile!", userId)); diff --git a/application/src/main/java/org/togetherjava/tjbot/features/moderation/audit/AuditCommand.java b/application/src/main/java/org/togetherjava/tjbot/features/moderation/audit/AuditCommand.java index c9191f5760..42627c86d6 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/moderation/audit/AuditCommand.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/moderation/audit/AuditCommand.java @@ -31,7 +31,11 @@ import java.time.Instant; import java.time.ZoneOffset; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.Objects; import java.util.function.Supplier; import java.util.stream.Collectors; diff --git a/application/src/main/java/org/togetherjava/tjbot/features/moderation/audit/ModAuditLogRoutine.java b/application/src/main/java/org/togetherjava/tjbot/features/moderation/audit/ModAuditLogRoutine.java index 25e6031f0f..428fac6de1 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/moderation/audit/ModAuditLogRoutine.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/moderation/audit/ModAuditLogRoutine.java @@ -28,15 +28,26 @@ import javax.annotation.Nullable; import java.awt.Color; -import java.time.*; +import java.time.Duration; +import java.time.Instant; +import java.time.LocalTime; +import java.time.OffsetDateTime; +import java.time.ZoneOffset; import java.time.temporal.ChronoUnit; import java.time.temporal.TemporalAccessor; -import java.util.*; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; import java.util.function.BiFunction; import java.util.stream.Collectors; +import static com.fasterxml.jackson.databind.type.LogicalType.Collection; + /** * Routine that automatically checks moderator actions on a schedule and logs them to dedicated * channels. @@ -300,7 +311,7 @@ private boolean containsMutedRole(AuditLogEntry entry, AuditLogKey key) { .orElse(List.of()); return roleChanges.stream() .map(Map::entrySet) - .flatMap(Collection::stream) + .flatMap(java.util.Collection::stream) .filter(changeEntry -> "name".equals(changeEntry.getKey())) .map(Map.Entry::getValue) .anyMatch(ModerationUtils.getIsMutedRolePredicate(config)); diff --git a/application/src/main/java/org/togetherjava/tjbot/features/moderation/modmail/ModMailCommand.java b/application/src/main/java/org/togetherjava/tjbot/features/moderation/modmail/ModMailCommand.java index 7737f0ae0c..76d5082057 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/moderation/modmail/ModMailCommand.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/moderation/modmail/ModMailCommand.java @@ -27,7 +27,7 @@ import org.togetherjava.tjbot.features.SlashCommandAdapter; import org.togetherjava.tjbot.features.utils.DiscordClientAction; -import java.awt.*; +import java.awt.Color; import java.time.Instant; import java.time.temporal.ChronoUnit; import java.util.List; diff --git a/application/src/main/java/org/togetherjava/tjbot/features/moderation/scam/ScamBlocker.java b/application/src/main/java/org/togetherjava/tjbot/features/moderation/scam/ScamBlocker.java index f60dc91b41..7af44533fa 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/moderation/scam/ScamBlocker.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/moderation/scam/ScamBlocker.java @@ -2,7 +2,13 @@ import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.JDA; -import net.dv8tion.jda.api.entities.*; +import net.dv8tion.jda.api.entities.Guild; +import net.dv8tion.jda.api.entities.Member; +import net.dv8tion.jda.api.entities.Message; +import net.dv8tion.jda.api.entities.MessageEmbed; +import net.dv8tion.jda.api.entities.Role; +import net.dv8tion.jda.api.entities.SelfUser; +import net.dv8tion.jda.api.entities.User; import net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel; import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; import net.dv8tion.jda.api.events.interaction.component.ButtonInteractionEvent; @@ -32,7 +38,11 @@ import org.togetherjava.tjbot.logging.LogMarkers; import java.awt.Color; -import java.util.*; +import java.util.Collection; +import java.util.EnumSet; +import java.util.List; +import java.util.Optional; +import java.util.Set; import java.util.function.Consumer; import java.util.function.Predicate; import java.util.function.UnaryOperator; diff --git a/application/src/main/java/org/togetherjava/tjbot/features/reminder/ReminderCommand.java b/application/src/main/java/org/togetherjava/tjbot/features/reminder/ReminderCommand.java index 273e832988..e67f9ce61a 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/reminder/ReminderCommand.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/reminder/ReminderCommand.java @@ -31,7 +31,11 @@ import org.togetherjava.tjbot.features.utils.Pagination; import org.togetherjava.tjbot.features.utils.StringDistances; -import java.time.*; +import java.time.Duration; +import java.time.Instant; +import java.time.Period; +import java.time.ZoneOffset; +import java.time.ZonedDateTime; import java.time.temporal.TemporalAmount; import java.util.List; diff --git a/application/src/main/java/org/togetherjava/tjbot/features/system/BotCore.java b/application/src/main/java/org/togetherjava/tjbot/features/system/BotCore.java index 83f7496496..c57d813dbc 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/system/BotCore.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/system/BotCore.java @@ -22,13 +22,28 @@ import org.togetherjava.tjbot.config.Config; import org.togetherjava.tjbot.db.Database; -import org.togetherjava.tjbot.features.*; +import org.togetherjava.tjbot.features.EventReceiver; +import org.togetherjava.tjbot.features.Feature; +import org.togetherjava.tjbot.features.Features; +import org.togetherjava.tjbot.features.MessageContextCommand; +import org.togetherjava.tjbot.features.MessageReceiver; +import org.togetherjava.tjbot.features.Routine; +import org.togetherjava.tjbot.features.SlashCommand; +import org.togetherjava.tjbot.features.UserContextCommand; +import org.togetherjava.tjbot.features.UserInteractionType; +import org.togetherjava.tjbot.features.UserInteractor; import org.togetherjava.tjbot.features.componentids.ComponentId; import org.togetherjava.tjbot.features.componentids.ComponentIdParser; import org.togetherjava.tjbot.features.componentids.ComponentIdStore; import org.togetherjava.tjbot.features.componentids.InvalidComponentIdFormatException; -import java.util.*; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import java.util.UUID; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; diff --git a/application/src/main/java/org/togetherjava/tjbot/features/tags/TagCommand.java b/application/src/main/java/org/togetherjava/tjbot/features/tags/TagCommand.java index 2cf1994fba..1bf13983bf 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/tags/TagCommand.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/tags/TagCommand.java @@ -24,7 +24,12 @@ import org.togetherjava.tjbot.features.utils.StringDistances; import java.time.Instant; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import java.util.Set; /** * Implements the {@code /tag} command which lets the bot respond content of a tag that has been diff --git a/application/src/main/java/org/togetherjava/tjbot/features/tags/TagManageCommand.java b/application/src/main/java/org/togetherjava/tjbot/features/tags/TagManageCommand.java index c6b327ecf2..bb69ffb433 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/tags/TagManageCommand.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/tags/TagManageCommand.java @@ -22,7 +22,14 @@ import java.nio.charset.StandardCharsets; import java.time.temporal.TemporalAccessor; -import java.util.*; +import java.util.ArrayList; +import java.util.EnumSet; +import java.util.List; +import java.util.NoSuchElementException; +import java.util.Objects; +import java.util.Optional; +import java.util.OptionalLong; +import java.util.Set; import java.util.function.BiConsumer; import java.util.function.Consumer; diff --git a/application/src/main/java/org/togetherjava/tjbot/features/tophelper/TopHelpersCommand.java b/application/src/main/java/org/togetherjava/tjbot/features/tophelper/TopHelpersCommand.java index 52692f139b..0625f93106 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/tophelper/TopHelpersCommand.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/tophelper/TopHelpersCommand.java @@ -23,9 +23,18 @@ import javax.annotation.Nullable; import java.math.BigDecimal; -import java.time.*; +import java.time.Instant; +import java.time.LocalTime; +import java.time.Month; +import java.time.YearMonth; +import java.time.ZoneOffset; +import java.time.ZonedDateTime; import java.time.format.TextStyle; -import java.util.*; +import java.util.Arrays; +import java.util.Collection; +import java.util.List; +import java.util.Locale; +import java.util.Map; import java.util.function.Function; import java.util.function.IntFunction; import java.util.stream.Collectors; @@ -137,7 +146,7 @@ private static void handleError(Throwable error, IDeferrableCallback event) { } private static void handleTopHelpers(Collection topHelpers, - Collection members, TimeRange timeRange, IDeferrableCallback event) { + Collection members, TimeRange timeRange, IDeferrableCallback event) { Map userIdToMember = members.stream().collect(Collectors.toMap(Member::getIdLong, Function.identity())); diff --git a/application/src/main/java/org/togetherjava/tjbot/features/utils/StringDistances.java b/application/src/main/java/org/togetherjava/tjbot/features/utils/StringDistances.java index 583623cae2..dd2d1e58cf 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/utils/StringDistances.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/utils/StringDistances.java @@ -1,6 +1,12 @@ package org.togetherjava.tjbot.features.utils; -import java.util.*; +import java.util.Arrays; +import java.util.Collection; +import java.util.Comparator; +import java.util.List; +import java.util.Optional; +import java.util.PriorityQueue; +import java.util.Queue; import java.util.stream.IntStream; import java.util.stream.Stream; @@ -31,7 +37,7 @@ private StringDistances() { * @return the best matching candidate, or empty iff the candidates are empty */ public static Optional closestMatch(CharSequence query, - Collection candidates) { + Collection candidates) { return candidates.stream() .min(Comparator.comparingInt(candidate -> editDistance(query, candidate))); } diff --git a/application/src/main/java/org/togetherjava/tjbot/logging/discord/DiscordLogAppender.java b/application/src/main/java/org/togetherjava/tjbot/logging/discord/DiscordLogAppender.java index fbf6e97a83..6da47c5298 100644 --- a/application/src/main/java/org/togetherjava/tjbot/logging/discord/DiscordLogAppender.java +++ b/application/src/main/java/org/togetherjava/tjbot/logging/discord/DiscordLogAppender.java @@ -1,6 +1,11 @@ package org.togetherjava.tjbot.logging.discord; -import org.apache.logging.log4j.core.*; +import org.apache.logging.log4j.core.Appender; +import org.apache.logging.log4j.core.Core; +import org.apache.logging.log4j.core.Filter; +import org.apache.logging.log4j.core.Layout; +import org.apache.logging.log4j.core.LogEvent; +import org.apache.logging.log4j.core.StringLayout; import org.apache.logging.log4j.core.appender.AbstractAppender; import org.apache.logging.log4j.core.config.Property; import org.apache.logging.log4j.core.config.plugins.Plugin; @@ -19,7 +24,7 @@ final class DiscordLogAppender extends AbstractAppender { private final DiscordLogForwarder logForwarder; private DiscordLogAppender(String name, Filter filter, StringLayout layout, - boolean ignoreExceptions, URI webhook, String sourceCodeBaseUrl) { + boolean ignoreExceptions, URI webhook, String sourceCodeBaseUrl) { super(name, filter, layout, ignoreExceptions, NO_PROPERTIES); logForwarder = new DiscordLogForwarder(webhook, sourceCodeBaseUrl); diff --git a/application/src/main/java/org/togetherjava/tjbot/logging/discord/DiscordLogForwarder.java b/application/src/main/java/org/togetherjava/tjbot/logging/discord/DiscordLogForwarder.java index b86a6eec16..e3c9df9b2f 100644 --- a/application/src/main/java/org/togetherjava/tjbot/logging/discord/DiscordLogForwarder.java +++ b/application/src/main/java/org/togetherjava/tjbot/logging/discord/DiscordLogForwarder.java @@ -18,7 +18,13 @@ import java.io.StringWriter; import java.net.URI; import java.time.Instant; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import java.util.PriorityQueue; +import java.util.Queue; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; @@ -204,7 +210,7 @@ private static String describeLogEvent(LogEvent event) { } private static Optional linkToSource(@Nullable StackTraceElement sourceElement, - String sourceCodeBaseUrl) { + String sourceCodeBaseUrl) { if (sourceElement == null) { return Optional.empty(); } diff --git a/application/src/test/java/org/togetherjava/tjbot/features/basic/SlashCommandEducatorTest.java b/application/src/test/java/org/togetherjava/tjbot/features/basic/SlashCommandEducatorTest.java index 3b7035dc20..03d07c1a2c 100644 --- a/application/src/test/java/org/togetherjava/tjbot/features/basic/SlashCommandEducatorTest.java +++ b/application/src/test/java/org/togetherjava/tjbot/features/basic/SlashCommandEducatorTest.java @@ -16,7 +16,9 @@ import java.util.stream.Stream; import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.*; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; final class SlashCommandEducatorTest { private JdaTester jdaTester; diff --git a/application/src/test/java/org/togetherjava/tjbot/features/mathcommands/TeXCommandTest.java b/application/src/test/java/org/togetherjava/tjbot/features/mathcommands/TeXCommandTest.java index 4ba05958b2..483d9d48e6 100644 --- a/application/src/test/java/org/togetherjava/tjbot/features/mathcommands/TeXCommandTest.java +++ b/application/src/test/java/org/togetherjava/tjbot/features/mathcommands/TeXCommandTest.java @@ -14,7 +14,9 @@ import java.util.ArrayList; import java.util.List; -import static org.mockito.ArgumentMatchers.*; +import static org.mockito.ArgumentMatchers.argThat; +import static org.mockito.ArgumentMatchers.contains; +import static org.mockito.ArgumentMatchers.startsWith; import static org.mockito.Mockito.description; import static org.mockito.Mockito.verify; diff --git a/application/src/test/java/org/togetherjava/tjbot/features/mediaonly/MediaOnlyChannelListenerTest.java b/application/src/test/java/org/togetherjava/tjbot/features/mediaonly/MediaOnlyChannelListenerTest.java index fcc9f8b71b..c31a49589e 100644 --- a/application/src/test/java/org/togetherjava/tjbot/features/mediaonly/MediaOnlyChannelListenerTest.java +++ b/application/src/test/java/org/togetherjava/tjbot/features/mediaonly/MediaOnlyChannelListenerTest.java @@ -15,7 +15,11 @@ import java.util.List; -import static org.mockito.Mockito.*; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; final class MediaOnlyChannelListenerTest { diff --git a/application/src/test/java/org/togetherjava/tjbot/features/reminder/RemindRoutineTest.java b/application/src/test/java/org/togetherjava/tjbot/features/reminder/RemindRoutineTest.java index 96e83aebd7..533fd82c58 100644 --- a/application/src/test/java/org/togetherjava/tjbot/features/reminder/RemindRoutineTest.java +++ b/application/src/test/java/org/togetherjava/tjbot/features/reminder/RemindRoutineTest.java @@ -24,7 +24,13 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; -import static org.mockito.Mockito.*; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyLong; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; import static org.togetherjava.tjbot.db.generated.tables.PendingReminders.PENDING_REMINDERS; final class RemindRoutineTest { diff --git a/application/src/test/java/org/togetherjava/tjbot/features/tags/TagCommandTest.java b/application/src/test/java/org/togetherjava/tjbot/features/tags/TagCommandTest.java index bdd119a311..bb8f3cea5b 100644 --- a/application/src/test/java/org/togetherjava/tjbot/features/tags/TagCommandTest.java +++ b/application/src/test/java/org/togetherjava/tjbot/features/tags/TagCommandTest.java @@ -15,7 +15,9 @@ import javax.annotation.Nullable; -import static org.mockito.Mockito.*; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.verify; final class TagCommandTest { private TagSystem system; diff --git a/application/src/test/java/org/togetherjava/tjbot/features/tags/TagManageCommandTest.java b/application/src/test/java/org/togetherjava/tjbot/features/tags/TagManageCommandTest.java index 8789d2b679..13027fcf63 100644 --- a/application/src/test/java/org/togetherjava/tjbot/features/tags/TagManageCommandTest.java +++ b/application/src/test/java/org/togetherjava/tjbot/features/tags/TagManageCommandTest.java @@ -23,9 +23,18 @@ import java.io.IOException; import java.util.List; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.*; +import static org.mockito.ArgumentMatchers.argThat; +import static org.mockito.ArgumentMatchers.startsWith; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; final class TagManageCommandTest { private TagSystem system; diff --git a/application/src/test/java/org/togetherjava/tjbot/features/tags/TagSystemTest.java b/application/src/test/java/org/togetherjava/tjbot/features/tags/TagSystemTest.java index bd0efcc9d9..97b1b2ab3f 100644 --- a/application/src/test/java/org/togetherjava/tjbot/features/tags/TagSystemTest.java +++ b/application/src/test/java/org/togetherjava/tjbot/features/tags/TagSystemTest.java @@ -11,8 +11,14 @@ import java.util.Optional; import java.util.Set; -import static org.junit.jupiter.api.Assertions.*; -import static org.mockito.Mockito.*; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertThrowsExactly; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.verify; final class TagSystemTest { private TagSystem system; diff --git a/application/src/test/java/org/togetherjava/tjbot/features/tags/TagsCommandTest.java b/application/src/test/java/org/togetherjava/tjbot/features/tags/TagsCommandTest.java index 22a821f3da..4869ef2a5b 100644 --- a/application/src/test/java/org/togetherjava/tjbot/features/tags/TagsCommandTest.java +++ b/application/src/test/java/org/togetherjava/tjbot/features/tags/TagsCommandTest.java @@ -16,7 +16,8 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNull; -import static org.mockito.Mockito.*; +import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.verify; final class TagsCommandTest { private TagSystem system; diff --git a/application/src/test/java/org/togetherjava/tjbot/features/tophelper/TopHelperMessageListenerTest.java b/application/src/test/java/org/togetherjava/tjbot/features/tophelper/TopHelperMessageListenerTest.java index e4cb316a6e..a0cd9fa9f3 100644 --- a/application/src/test/java/org/togetherjava/tjbot/features/tophelper/TopHelperMessageListenerTest.java +++ b/application/src/test/java/org/togetherjava/tjbot/features/tophelper/TopHelperMessageListenerTest.java @@ -18,7 +18,9 @@ import java.util.List; import java.util.stream.Stream; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import static org.togetherjava.tjbot.db.generated.tables.HelpChannelMessages.HELP_CHANNEL_MESSAGES; diff --git a/application/src/test/java/org/togetherjava/tjbot/jda/JdaTester.java b/application/src/test/java/org/togetherjava/tjbot/jda/JdaTester.java index 944a978f51..387571bfe4 100644 --- a/application/src/test/java/org/togetherjava/tjbot/jda/JdaTester.java +++ b/application/src/test/java/org/togetherjava/tjbot/jda/JdaTester.java @@ -2,7 +2,11 @@ import net.dv8tion.jda.api.JDA; import net.dv8tion.jda.api.Permission; -import net.dv8tion.jda.api.entities.*; +import net.dv8tion.jda.api.entities.Member; +import net.dv8tion.jda.api.entities.Message; +import net.dv8tion.jda.api.entities.MessageEmbed; +import net.dv8tion.jda.api.entities.Role; +import net.dv8tion.jda.api.entities.User; import net.dv8tion.jda.api.entities.channel.ChannelType; import net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel; import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; @@ -19,7 +23,12 @@ import net.dv8tion.jda.api.interactions.callbacks.IReplyCallback; import net.dv8tion.jda.api.interactions.components.ItemComponent; import net.dv8tion.jda.api.interactions.components.LayoutComponent; -import net.dv8tion.jda.api.requests.*; +import net.dv8tion.jda.api.requests.ErrorResponse; +import net.dv8tion.jda.api.requests.Response; +import net.dv8tion.jda.api.requests.RestAction; +import net.dv8tion.jda.api.requests.RestConfig; +import net.dv8tion.jda.api.requests.RestRateLimiter; +import net.dv8tion.jda.api.requests.SequentialRestRateLimiter; import net.dv8tion.jda.api.requests.restaction.CacheRestAction; import net.dv8tion.jda.api.requests.restaction.interactions.ReplyCallbackAction; import net.dv8tion.jda.api.utils.AttachmentProxy; @@ -29,7 +38,12 @@ import net.dv8tion.jda.api.utils.messages.MessageCreateData; import net.dv8tion.jda.api.utils.messages.MessageEditData; import net.dv8tion.jda.internal.JDAImpl; -import net.dv8tion.jda.internal.entities.*; +import net.dv8tion.jda.internal.entities.EntityBuilder; +import net.dv8tion.jda.internal.entities.GuildImpl; +import net.dv8tion.jda.internal.entities.MemberImpl; +import net.dv8tion.jda.internal.entities.RoleImpl; +import net.dv8tion.jda.internal.entities.SelfUserImpl; +import net.dv8tion.jda.internal.entities.UserImpl; import net.dv8tion.jda.internal.entities.channel.concrete.PrivateChannelImpl; import net.dv8tion.jda.internal.entities.channel.concrete.TextChannelImpl; import net.dv8tion.jda.internal.entities.channel.concrete.ThreadChannelImpl; @@ -52,7 +66,12 @@ import java.io.InputStream; import java.nio.charset.StandardCharsets; -import java.util.*; +import java.util.Arrays; +import java.util.EnumSet; +import java.util.List; +import java.util.Optional; +import java.util.Set; +import java.util.UUID; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledThreadPoolExecutor; @@ -64,7 +83,19 @@ import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; import static org.mockito.AdditionalMatchers.not; -import static org.mockito.Mockito.*; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyBoolean; +import static org.mockito.ArgumentMatchers.anyCollection; +import static org.mockito.ArgumentMatchers.anyLong; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.doAnswer; +import static org.mockito.Mockito.doNothing; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.mockingDetails; +import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.when; /** * Utility class for testing {@link SlashCommand}s. @@ -452,7 +483,7 @@ public JDA getJdaMock() { */ @SuppressWarnings("unchecked") public > R createSucceededActionMock(@Nullable T t, - Class restActionType) { + Class restActionType) { R action = mock(restActionType); Answer successExecution = invocation -> { @@ -595,7 +626,7 @@ public ErrorResponseException createErrorResponseException(ErrorResponse reason) * @return the event of receiving the given message */ public MessageReceivedEvent createMessageReceiveEvent(MessageCreateData message, - List attachments, ChannelType channelType) { + List attachments, ChannelType channelType) { Message receivedMessage = clientMessageToReceivedMessageMock(message); mockMessage(receivedMessage, channelType); doReturn(attachments).when(receivedMessage).getAttachments(); diff --git a/application/src/test/java/org/togetherjava/tjbot/jda/SlashCommandInteractionEventBuilder.java b/application/src/test/java/org/togetherjava/tjbot/jda/SlashCommandInteractionEventBuilder.java index 62ed9a81cd..31b27e4e19 100644 --- a/application/src/test/java/org/togetherjava/tjbot/jda/SlashCommandInteractionEventBuilder.java +++ b/application/src/test/java/org/togetherjava/tjbot/jda/SlashCommandInteractionEventBuilder.java @@ -16,7 +16,12 @@ import org.togetherjava.tjbot.jda.payloads.PayloadChannel; import org.togetherjava.tjbot.jda.payloads.PayloadMember; import org.togetherjava.tjbot.jda.payloads.PayloadUser; -import org.togetherjava.tjbot.jda.payloads.slashcommand.*; +import org.togetherjava.tjbot.jda.payloads.slashcommand.PayloadSlashCommand; +import org.togetherjava.tjbot.jda.payloads.slashcommand.PayloadSlashCommandData; +import org.togetherjava.tjbot.jda.payloads.slashcommand.PayloadSlashCommandMembers; +import org.togetherjava.tjbot.jda.payloads.slashcommand.PayloadSlashCommandOption; +import org.togetherjava.tjbot.jda.payloads.slashcommand.PayloadSlashCommandResolved; +import org.togetherjava.tjbot.jda.payloads.slashcommand.PayloadSlashCommandUsers; import javax.annotation.Nullable; diff --git a/formatter/src/test/java/org/togetherjava/tjbot/formatter/formatting/TokenQueueTest.java b/formatter/src/test/java/org/togetherjava/tjbot/formatter/formatting/TokenQueueTest.java index 04b0aa4146..d29a86e97e 100644 --- a/formatter/src/test/java/org/togetherjava/tjbot/formatter/formatting/TokenQueueTest.java +++ b/formatter/src/test/java/org/togetherjava/tjbot/formatter/formatting/TokenQueueTest.java @@ -8,7 +8,10 @@ import java.util.List; import java.util.NoSuchElementException; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; final class TokenQueueTest { From 45a4133b0c4859cca991032f6c785cde1f449c3d Mon Sep 17 00:00:00 2001 From: Simon Verhoeven Date: Tue, 16 Apr 2024 21:32:16 +0200 Subject: [PATCH 2/4] chore: apply spotless --- .../togetherjava/tjbot/features/help/HelpSystemHelper.java | 2 +- .../togetherjava/tjbot/features/help/HelpThreadCommand.java | 2 +- .../tjbot/features/jshell/renderer/ResultRenderer.java | 1 + .../mathcommands/wolframalpha/WolframAlphaHandler.java | 2 +- .../togetherjava/tjbot/features/moderation/BanCommand.java | 4 ++-- .../togetherjava/tjbot/features/moderation/KickCommand.java | 4 ++-- .../tjbot/features/moderation/ModerationUtils.java | 6 +++--- .../togetherjava/tjbot/features/moderation/MuteCommand.java | 4 ++-- .../togetherjava/tjbot/features/moderation/NoteCommand.java | 2 +- .../tjbot/features/moderation/QuarantineCommand.java | 2 +- .../tjbot/features/moderation/ReportCommand.java | 2 +- .../tjbot/features/moderation/UnbanCommand.java | 4 ++-- .../tjbot/features/moderation/UnmuteCommand.java | 2 +- .../tjbot/features/moderation/UnquarantineCommand.java | 2 +- .../togetherjava/tjbot/features/moderation/WarnCommand.java | 4 ++-- .../tjbot/features/moderation/WhoIsCommand.java | 2 +- .../tjbot/features/moderation/audit/ModAuditLogRoutine.java | 1 - .../tjbot/features/tophelper/TopHelpersCommand.java | 2 +- .../togetherjava/tjbot/features/utils/StringDistances.java | 2 +- .../tjbot/logging/discord/DiscordLogAppender.java | 2 +- .../tjbot/logging/discord/DiscordLogForwarder.java | 2 +- .../src/test/java/org/togetherjava/tjbot/jda/JdaTester.java | 4 ++-- 22 files changed, 29 insertions(+), 29 deletions(-) diff --git a/application/src/main/java/org/togetherjava/tjbot/features/help/HelpSystemHelper.java b/application/src/main/java/org/togetherjava/tjbot/features/help/HelpSystemHelper.java index 1293155a76..a2aff66bfb 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/help/HelpSystemHelper.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/help/HelpSystemHelper.java @@ -119,7 +119,7 @@ public HelpSystemHelper(Config config, Database database, ChatGptService chatGpt * why the message wasn't used. */ RestAction constructChatGptAttempt(ThreadChannel threadChannel, - String originalQuestion, ComponentIdInteractor componentIdInteractor) { + String originalQuestion, ComponentIdInteractor componentIdInteractor) { Optional questionOptional = prepareChatGptQuestion(threadChannel, originalQuestion); Optional chatGPTAnswer; diff --git a/application/src/main/java/org/togetherjava/tjbot/features/help/HelpThreadCommand.java b/application/src/main/java/org/togetherjava/tjbot/features/help/HelpThreadCommand.java index 376fd0b01c..9f0fc220a1 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/help/HelpThreadCommand.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/help/HelpThreadCommand.java @@ -168,7 +168,7 @@ private void refreshCooldownFor(Subcommand subcommand, ThreadChannel helpThread) } private RestAction sendCategoryChangedMessage(Guild guild, InteractionHook hook, - ThreadChannel helpThread, String category) { + ThreadChannel helpThread, String category) { String changedContent = "Changed the category to **%s**.".formatted(category); WebhookMessageEditAction action = hook.editOriginal(changedContent); diff --git a/application/src/main/java/org/togetherjava/tjbot/features/jshell/renderer/ResultRenderer.java b/application/src/main/java/org/togetherjava/tjbot/features/jshell/renderer/ResultRenderer.java index fe8d96e48b..b1f5fbdcc1 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/jshell/renderer/ResultRenderer.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/jshell/renderer/ResultRenderer.java @@ -9,6 +9,7 @@ import org.togetherjava.tjbot.features.jshell.backend.dto.JShellResult; import javax.annotation.Nullable; + import java.awt.Color; /** diff --git a/application/src/main/java/org/togetherjava/tjbot/features/mathcommands/wolframalpha/WolframAlphaHandler.java b/application/src/main/java/org/togetherjava/tjbot/features/mathcommands/wolframalpha/WolframAlphaHandler.java index 88f4ed280c..856256c2c9 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/mathcommands/wolframalpha/WolframAlphaHandler.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/mathcommands/wolframalpha/WolframAlphaHandler.java @@ -161,7 +161,7 @@ private HandlerResponse handleMisunderstoodQuery(QueryResult result) { } private static String createBulletPointList(Collection elements, - Function elementToText) { + Function elementToText) { return elements.stream() .map(elementToText) .map(text -> "• " + text) diff --git a/application/src/main/java/org/togetherjava/tjbot/features/moderation/BanCommand.java b/application/src/main/java/org/togetherjava/tjbot/features/moderation/BanCommand.java index 6a590eb65c..058c5670db 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/moderation/BanCommand.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/moderation/BanCommand.java @@ -86,7 +86,7 @@ private static RestAction handleAlreadyBanned(Guild.Ban ban, Interactio } private static RestAction sendDm(User target, - @Nullable ModerationUtils.TemporaryData temporaryData, String reason, Guild guild) { + @Nullable ModerationUtils.TemporaryData temporaryData, String reason, Guild guild) { String durationMessage = temporaryData == null ? "Permanently" : temporaryData.duration(); String description = """ @@ -98,7 +98,7 @@ private static RestAction sendDm(User target, } private static MessageEmbed sendFeedback(boolean hasSentDm, User target, Member author, - @Nullable ModerationUtils.TemporaryData temporaryData, String reason) { + @Nullable ModerationUtils.TemporaryData temporaryData, String reason) { String durationText = "The ban duration is: " + (temporaryData == null ? "permanent" : temporaryData.duration()); String dmNoticeText = ""; diff --git a/application/src/main/java/org/togetherjava/tjbot/features/moderation/KickCommand.java b/application/src/main/java/org/togetherjava/tjbot/features/moderation/KickCommand.java index 2bac8d3a47..01d6e9958d 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/moderation/KickCommand.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/moderation/KickCommand.java @@ -58,7 +58,7 @@ private static void handleAbsentTarget(IReplyCallback event) { } private void kickUserFlow(Member target, Member author, String reason, Guild guild, - SlashCommandInteractionEvent event) { + SlashCommandInteractionEvent event) { event.deferReply().queue(); sendDm(target.getUser(), reason, guild) @@ -94,7 +94,7 @@ private AuditableRestAction kickUser(Member target, Member author, String } private static MessageEmbed sendFeedback(boolean hasSentDm, Member target, Member author, - String reason) { + String reason) { String dmNoticeText = ""; if (!hasSentDm) { dmNoticeText = "(Unable to send them a DM.)"; diff --git a/application/src/main/java/org/togetherjava/tjbot/features/moderation/ModerationUtils.java b/application/src/main/java/org/togetherjava/tjbot/features/moderation/ModerationUtils.java index 87e0c8ba87..d6aba6dc68 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/moderation/ModerationUtils.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/moderation/ModerationUtils.java @@ -90,7 +90,7 @@ static boolean handleReason(CharSequence reason, IReplyCallback event) { * @return Whether the author and bot can interact with the target user */ public static boolean handleCanInteractWithTarget(String actionVerb, Member bot, Member author, - Member target, IReplyCallback event) { + Member target, IReplyCallback event) { String targetTag = target.getUser().getName(); if (!author.canInteract(target)) { event @@ -158,7 +158,7 @@ static boolean handleCanInteractWithRole(Member bot, Member author, Role role, * @return Whether the bot has the required permission */ static boolean handleHasBotPermissions(String actionVerb, Permission permission, - IPermissionHolder bot, Guild guild, IReplyCallback event) { + IPermissionHolder bot, Guild guild, IReplyCallback event) { if (!bot.hasPermission(permission)) { event .reply("I can not %s users in this guild since I do not have the %s permission." @@ -283,7 +283,7 @@ static boolean handleHasAuthorPermissions(String actionVerb, Permission permissi * @return the created response */ static MessageEmbed createActionResponse(User author, ModerationAction action, User target, - @Nullable String extraMessage, @Nullable String reason) { + @Nullable String extraMessage, @Nullable String reason) { String description = "%s **%s** (id: %s).".formatted(action.getVerb(), target.getName(), target.getId()); if (extraMessage != null && !extraMessage.isBlank()) { diff --git a/application/src/main/java/org/togetherjava/tjbot/features/moderation/MuteCommand.java b/application/src/main/java/org/togetherjava/tjbot/features/moderation/MuteCommand.java index d4f383e768..b94199697a 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/moderation/MuteCommand.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/moderation/MuteCommand.java @@ -74,7 +74,7 @@ private static void handleAlreadyMutedTarget(IReplyCallback event) { } private static RestAction sendDm(User target, - @Nullable ModerationUtils.TemporaryData temporaryData, String reason, Guild guild) { + @Nullable ModerationUtils.TemporaryData temporaryData, String reason, Guild guild) { String durationMessage = temporaryData == null ? "Permanent" : temporaryData.duration(); String description = """ @@ -86,7 +86,7 @@ private static RestAction sendDm(User target, } private static MessageEmbed sendFeedback(boolean hasSentDm, Member target, Member author, - @Nullable ModerationUtils.TemporaryData temporaryData, String reason) { + @Nullable ModerationUtils.TemporaryData temporaryData, String reason) { String durationText = "The mute duration is: " + (temporaryData == null ? "permanent" : temporaryData.duration()); String dmNoticeText = ""; diff --git a/application/src/main/java/org/togetherjava/tjbot/features/moderation/NoteCommand.java b/application/src/main/java/org/togetherjava/tjbot/features/moderation/NoteCommand.java index 737f8353d6..d2622797a8 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/moderation/NoteCommand.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/moderation/NoteCommand.java @@ -79,7 +79,7 @@ private boolean handleChecks(Member bot, Member author, @Nullable Member target, } private void sendNote(User target, Member author, String content, ISnowflake guild, - IReplyCallback event) { + IReplyCallback event) { storeNote(target, author, content, guild); sendFeedback(target, author, content, event); } diff --git a/application/src/main/java/org/togetherjava/tjbot/features/moderation/QuarantineCommand.java b/application/src/main/java/org/togetherjava/tjbot/features/moderation/QuarantineCommand.java index dc701c2bf9..876d1bcc24 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/moderation/QuarantineCommand.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/moderation/QuarantineCommand.java @@ -76,7 +76,7 @@ private static RestAction sendDm(User target, String reason, Guild guil } private static MessageEmbed sendFeedback(boolean hasSentDm, Member target, Member author, - String reason) { + String reason) { String dmNoticeText = ""; if (!hasSentDm) { dmNoticeText = "\n(Unable to send them a DM.)"; diff --git a/application/src/main/java/org/togetherjava/tjbot/features/moderation/ReportCommand.java b/application/src/main/java/org/togetherjava/tjbot/features/moderation/ReportCommand.java index 1fe144e751..d7c5192a1d 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/moderation/ReportCommand.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/moderation/ReportCommand.java @@ -167,7 +167,7 @@ private Optional handleRequireModMailChannel(ModalInteractionEvent } private MessageCreateAction createModMessage(String reportReason, - ReportedMessage reportedMessage, Guild guild, TextChannel modMailAuditLog) { + ReportedMessage reportedMessage, Guild guild, TextChannel modMailAuditLog) { MessageEmbed reportedMessageEmbed = new EmbedBuilder().setTitle("Report") .setDescription(MessageUtils.abbreviate(reportedMessage.content, MessageEmbed.DESCRIPTION_MAX_LENGTH)) diff --git a/application/src/main/java/org/togetherjava/tjbot/features/moderation/UnbanCommand.java b/application/src/main/java/org/togetherjava/tjbot/features/moderation/UnbanCommand.java index e3c9497378..1f4031646f 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/moderation/UnbanCommand.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/moderation/UnbanCommand.java @@ -49,7 +49,7 @@ public UnbanCommand(ModerationActionsStore actionsStore) { } private void unban(User target, Member author, String reason, Guild guild, - IReplyCallback event) { + IReplyCallback event) { guild.unban(target).reason(reason).queue(result -> { MessageEmbed message = ModerationUtils.createActionResponse(author.getUser(), ModerationAction.UNBAN, target, null, reason); @@ -90,7 +90,7 @@ private static void handleFailure(Throwable unbanFailure, User target, IReplyCal } private boolean handleChecks(IPermissionHolder bot, Member author, CharSequence reason, - Guild guild, IReplyCallback event) { + Guild guild, IReplyCallback event) { if (!ModerationUtils.handleHasBotPermissions(ACTION_VERB, Permission.BAN_MEMBERS, bot, guild, event)) { return false; diff --git a/application/src/main/java/org/togetherjava/tjbot/features/moderation/UnmuteCommand.java b/application/src/main/java/org/togetherjava/tjbot/features/moderation/UnmuteCommand.java index e01e8950bf..62530268f6 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/moderation/UnmuteCommand.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/moderation/UnmuteCommand.java @@ -72,7 +72,7 @@ private static RestAction sendDm(User target, String reason, Guild guil } private static MessageEmbed sendFeedback(boolean hasSentDm, Member target, Member author, - String reason) { + String reason) { String dmNoticeText = ""; if (!hasSentDm) { dmNoticeText = "(Unable to send them a DM.)"; diff --git a/application/src/main/java/org/togetherjava/tjbot/features/moderation/UnquarantineCommand.java b/application/src/main/java/org/togetherjava/tjbot/features/moderation/UnquarantineCommand.java index 0387cf7d65..6659f5d43a 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/moderation/UnquarantineCommand.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/moderation/UnquarantineCommand.java @@ -76,7 +76,7 @@ private static RestAction sendDm(User target, String reason, Guild guil } private static MessageEmbed sendFeedback(boolean hasSentDm, Member target, Member author, - String reason) { + String reason) { String dmNoticeText = ""; if (!hasSentDm) { dmNoticeText = "(Unable to send them a DM.)"; diff --git a/application/src/main/java/org/togetherjava/tjbot/features/moderation/WarnCommand.java b/application/src/main/java/org/togetherjava/tjbot/features/moderation/WarnCommand.java index 08f19763c7..2aca00ca2c 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/moderation/WarnCommand.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/moderation/WarnCommand.java @@ -49,7 +49,7 @@ public WarnCommand(ModerationActionsStore actionsStore) { } private void warnUserFlow(User target, Member author, String reason, Guild guild, - SlashCommandInteractionEvent event) { + SlashCommandInteractionEvent event) { event.deferReply().queue(); sendDm(target, reason, guild).map(hasSentDm -> { @@ -80,7 +80,7 @@ private void warnUser(User target, Member author, String reason, Guild guild) { } private static MessageEmbed sendFeedback(boolean hasSentDm, User target, Member author, - String reason) { + String reason) { String dmNoticeText = ""; if (!hasSentDm) { dmNoticeText = "(Unable to send them a DM.)"; diff --git a/application/src/main/java/org/togetherjava/tjbot/features/moderation/WhoIsCommand.java b/application/src/main/java/org/togetherjava/tjbot/features/moderation/WhoIsCommand.java index 5cee816282..e7f7f4b8e9 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/moderation/WhoIsCommand.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/moderation/WhoIsCommand.java @@ -110,7 +110,7 @@ private static ReplyCallbackAction handleWhoIsMember(final IReplyCallback event, } private static ReplyCallbackAction sendEmbedWithProfileAction(final IReplyCallback event, - MessageEmbed embed, String userId) { + MessageEmbed embed, String userId) { return event.replyEmbeds(embed) .addActionRow( DiscordClientAction.General.USER.asLinkButton("Click to see profile!", userId)); diff --git a/application/src/main/java/org/togetherjava/tjbot/features/moderation/audit/ModAuditLogRoutine.java b/application/src/main/java/org/togetherjava/tjbot/features/moderation/audit/ModAuditLogRoutine.java index 428fac6de1..e2c976baae 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/moderation/audit/ModAuditLogRoutine.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/moderation/audit/ModAuditLogRoutine.java @@ -46,7 +46,6 @@ import java.util.function.BiFunction; import java.util.stream.Collectors; -import static com.fasterxml.jackson.databind.type.LogicalType.Collection; /** * Routine that automatically checks moderator actions on a schedule and logs them to dedicated diff --git a/application/src/main/java/org/togetherjava/tjbot/features/tophelper/TopHelpersCommand.java b/application/src/main/java/org/togetherjava/tjbot/features/tophelper/TopHelpersCommand.java index 0625f93106..04295920e1 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/tophelper/TopHelpersCommand.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/tophelper/TopHelpersCommand.java @@ -146,7 +146,7 @@ private static void handleError(Throwable error, IDeferrableCallback event) { } private static void handleTopHelpers(Collection topHelpers, - Collection members, TimeRange timeRange, IDeferrableCallback event) { + Collection members, TimeRange timeRange, IDeferrableCallback event) { Map userIdToMember = members.stream().collect(Collectors.toMap(Member::getIdLong, Function.identity())); diff --git a/application/src/main/java/org/togetherjava/tjbot/features/utils/StringDistances.java b/application/src/main/java/org/togetherjava/tjbot/features/utils/StringDistances.java index dd2d1e58cf..563d5324e5 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/utils/StringDistances.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/utils/StringDistances.java @@ -37,7 +37,7 @@ private StringDistances() { * @return the best matching candidate, or empty iff the candidates are empty */ public static Optional closestMatch(CharSequence query, - Collection candidates) { + Collection candidates) { return candidates.stream() .min(Comparator.comparingInt(candidate -> editDistance(query, candidate))); } diff --git a/application/src/main/java/org/togetherjava/tjbot/logging/discord/DiscordLogAppender.java b/application/src/main/java/org/togetherjava/tjbot/logging/discord/DiscordLogAppender.java index 6da47c5298..f770618483 100644 --- a/application/src/main/java/org/togetherjava/tjbot/logging/discord/DiscordLogAppender.java +++ b/application/src/main/java/org/togetherjava/tjbot/logging/discord/DiscordLogAppender.java @@ -24,7 +24,7 @@ final class DiscordLogAppender extends AbstractAppender { private final DiscordLogForwarder logForwarder; private DiscordLogAppender(String name, Filter filter, StringLayout layout, - boolean ignoreExceptions, URI webhook, String sourceCodeBaseUrl) { + boolean ignoreExceptions, URI webhook, String sourceCodeBaseUrl) { super(name, filter, layout, ignoreExceptions, NO_PROPERTIES); logForwarder = new DiscordLogForwarder(webhook, sourceCodeBaseUrl); diff --git a/application/src/main/java/org/togetherjava/tjbot/logging/discord/DiscordLogForwarder.java b/application/src/main/java/org/togetherjava/tjbot/logging/discord/DiscordLogForwarder.java index e3c9df9b2f..3b35cb9ac2 100644 --- a/application/src/main/java/org/togetherjava/tjbot/logging/discord/DiscordLogForwarder.java +++ b/application/src/main/java/org/togetherjava/tjbot/logging/discord/DiscordLogForwarder.java @@ -210,7 +210,7 @@ private static String describeLogEvent(LogEvent event) { } private static Optional linkToSource(@Nullable StackTraceElement sourceElement, - String sourceCodeBaseUrl) { + String sourceCodeBaseUrl) { if (sourceElement == null) { return Optional.empty(); } diff --git a/application/src/test/java/org/togetherjava/tjbot/jda/JdaTester.java b/application/src/test/java/org/togetherjava/tjbot/jda/JdaTester.java index 387571bfe4..f84f0ec1f9 100644 --- a/application/src/test/java/org/togetherjava/tjbot/jda/JdaTester.java +++ b/application/src/test/java/org/togetherjava/tjbot/jda/JdaTester.java @@ -483,7 +483,7 @@ public JDA getJdaMock() { */ @SuppressWarnings("unchecked") public > R createSucceededActionMock(@Nullable T t, - Class restActionType) { + Class restActionType) { R action = mock(restActionType); Answer successExecution = invocation -> { @@ -626,7 +626,7 @@ public ErrorResponseException createErrorResponseException(ErrorResponse reason) * @return the event of receiving the given message */ public MessageReceivedEvent createMessageReceiveEvent(MessageCreateData message, - List attachments, ChannelType channelType) { + List attachments, ChannelType channelType) { Message receivedMessage = clientMessageToReceivedMessageMock(message); mockMessage(receivedMessage, channelType); doReturn(attachments).when(receivedMessage).getAttachments(); From aeb36c506a7ac9d6dcdb2d6fd24d4af480483080 Mon Sep 17 00:00:00 2001 From: Simon Verhoeven Date: Mon, 6 May 2024 18:38:50 +0200 Subject: [PATCH 3/4] chore: spotless --- .../src/main/java/org/togetherjava/tjbot/features/Features.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application/src/main/java/org/togetherjava/tjbot/features/Features.java b/application/src/main/java/org/togetherjava/tjbot/features/Features.java index 4993df8b8f..e2f5778d37 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/Features.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/Features.java @@ -23,7 +23,6 @@ import org.togetherjava.tjbot.features.filesharing.FileSharingMessageListener; import org.togetherjava.tjbot.features.github.GitHubCommand; import org.togetherjava.tjbot.features.github.GitHubReference; -import org.togetherjava.tjbot.features.javamail.RSSHandlerRoutine; import org.togetherjava.tjbot.features.help.GuildLeaveCloseThreadListener; import org.togetherjava.tjbot.features.help.HelpSystemHelper; import org.togetherjava.tjbot.features.help.HelpThreadActivityUpdater; @@ -32,6 +31,7 @@ import org.togetherjava.tjbot.features.help.HelpThreadCreatedListener; import org.togetherjava.tjbot.features.help.HelpThreadMetadataPurger; import org.togetherjava.tjbot.features.help.PinnedNotificationRemover; +import org.togetherjava.tjbot.features.javamail.RSSHandlerRoutine; import org.togetherjava.tjbot.features.jshell.JShellCommand; import org.togetherjava.tjbot.features.jshell.JShellEval; import org.togetherjava.tjbot.features.mathcommands.TeXCommand; From c2aa6f1752fa2f870a97661e5a9e9b0389568be8 Mon Sep 17 00:00:00 2001 From: Simon Verhoeven Date: Tue, 7 May 2024 15:28:06 +0200 Subject: [PATCH 4/4] chore: update import --- .../tjbot/features/moderation/audit/ModAuditLogRoutine.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/application/src/main/java/org/togetherjava/tjbot/features/moderation/audit/ModAuditLogRoutine.java b/application/src/main/java/org/togetherjava/tjbot/features/moderation/audit/ModAuditLogRoutine.java index e2c976baae..b143a5cf64 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/moderation/audit/ModAuditLogRoutine.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/moderation/audit/ModAuditLogRoutine.java @@ -36,6 +36,7 @@ import java.time.temporal.ChronoUnit; import java.time.temporal.TemporalAccessor; import java.util.ArrayList; +import java.util.Collection; import java.util.Comparator; import java.util.List; import java.util.Map; @@ -310,7 +311,7 @@ private boolean containsMutedRole(AuditLogEntry entry, AuditLogKey key) { .orElse(List.of()); return roleChanges.stream() .map(Map::entrySet) - .flatMap(java.util.Collection::stream) + .flatMap(Collection::stream) .filter(changeEntry -> "name".equals(changeEntry.getKey())) .map(Map.Entry::getValue) .anyMatch(ModerationUtils.getIsMutedRolePredicate(config));