Skip to content

Commit 06687a5

Browse files
Release 1.13.13
2 parents ca14dd6 + 9ae4e09 commit 06687a5

File tree

2 files changed

+18
-17
lines changed

2 files changed

+18
-17
lines changed

build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ plugins {
55
}
66

77
group = "de.chojo"
8-
version = "1.13.12"
8+
version = "1.13.13"
99

1010
repositories {
1111
maven("https://eldonexus.de/repository/maven-public")

src/main/java/de/chojo/repbot/analyzer/MessageAnalyzer.java

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.google.common.cache.Cache;
44
import com.google.common.cache.CacheBuilder;
5+
import com.google.common.util.concurrent.UncheckedExecutionException;
56
import de.chojo.jdautil.parsing.DiscordResolver;
67
import de.chojo.jdautil.parsing.WeightedEntry;
78
import de.chojo.repbot.analyzer.results.AnalyzerResult;
@@ -12,21 +13,17 @@
1213
import de.chojo.repbot.dao.provider.Guilds;
1314
import de.chojo.repbot.dao.provider.Metrics;
1415
import de.chojo.repbot.util.LogNotify;
15-
1616
import net.dv8tion.jda.api.entities.Member;
1717
import net.dv8tion.jda.api.entities.Message;
1818
import net.dv8tion.jda.api.entities.MessageType;
1919
import org.jetbrains.annotations.NotNull;
2020
import org.jetbrains.annotations.Nullable;
2121
import org.slf4j.Logger;
2222

23-
import javax.validation.constraints.Null;
2423
import java.util.ArrayList;
2524
import java.util.List;
2625
import java.util.concurrent.CompletableFuture;
2726
import java.util.concurrent.ExecutionException;
28-
import java.util.concurrent.Executors;
29-
import java.util.concurrent.ForkJoinPool;
3027
import java.util.concurrent.TimeUnit;
3128
import java.util.concurrent.TimeoutException;
3229
import java.util.regex.Pattern;
@@ -40,9 +37,9 @@ public class MessageAnalyzer {
4037
private static final Object PLACEHOLDER = new Object();
4138
private final ContextResolver contextResolver;
4239
private final Cache<Long, AnalyzerResult> resultCache = CacheBuilder.newBuilder()
43-
.expireAfterWrite(10, TimeUnit.MINUTES)
44-
.maximumSize(100000)
45-
.build();
40+
.expireAfterWrite(10, TimeUnit.MINUTES)
41+
.maximumSize(100000)
42+
.build();
4643
private final Cache<Long, Object> rejectionCache = CacheBuilder.newBuilder()
4744
.expireAfterWrite(1, TimeUnit.MINUTES)
4845
.build();
@@ -75,10 +72,13 @@ public AnalyzerResult processMessage(Pattern pattern, @NotNull Message message,
7572
var analyzer = guilds.guild(message.getGuild()).reputation().analyzer();
7673
try {
7774
return analyzer.log(message, resultCache.get(message.getIdLong(), () -> analyzeWithTimeout(pattern, message, settings, limitTargets, limit)));
78-
} catch (ExecutionException e) {
75+
} catch (ExecutionException | UncheckedExecutionException e) {
7976
if (e.getCause() instanceof TimeoutException) {
8077
log.warn(LogNotify.NOTIFY_ADMIN, "Timeout when analyzing message using pattern {} for guild {}", pattern.pattern(), settings.guildId());
8178
rejectionCache.put(settings.guildId(), PLACEHOLDER);
79+
} else if (e.getCause().getCause() instanceof TimeoutException) {
80+
log.warn(LogNotify.NOTIFY_ADMIN, "Timeout when analyzing message using pattern {} for guild {}", pattern.pattern(), settings.guildId());
81+
rejectionCache.put(settings.guildId(), PLACEHOLDER);
8282
} else {
8383
log.error("Could not compute analyzer result", e);
8484
}
@@ -105,7 +105,8 @@ private AnalyzerResult analyze(Pattern pattern, Message message, @Nullable Setti
105105
if (message.getType() == MessageType.INLINE_REPLY) {
106106

107107
var referencedMessage = message.getReferencedMessage();
108-
if (referencedMessage == null) return AnalyzerResult.empty(match, EmptyResultReason.REFERENCE_MESSAGE_NOT_FOUND);
108+
if (referencedMessage == null)
109+
return AnalyzerResult.empty(match, EmptyResultReason.REFERENCE_MESSAGE_NOT_FOUND);
109110

110111
Member user;
111112

@@ -200,15 +201,15 @@ private AnalyzerResult resolveMessage(String matchPattern, Message message, Patt
200201
}
201202

202203
memberMatches = memberMatches.stream()
203-
.filter(e -> e.score() >= configuration.analyzerSettings().minFuzzyScore())
204-
.toList();
204+
.filter(e -> e.score() >= configuration.analyzerSettings().minFuzzyScore())
205+
.toList();
205206

206207
var members = users.stream()
207-
.filter(e -> e.getWeight() >= configuration.analyzerSettings().minFuzzyScore())
208-
.distinct()
209-
.sorted()
210-
.limit(limit)
211-
.collect(Collectors.toList());
208+
.filter(e -> e.getWeight() >= configuration.analyzerSettings().minFuzzyScore())
209+
.distinct()
210+
.sorted()
211+
.limit(limit)
212+
.collect(Collectors.toList());
212213
if (members.isEmpty()) return AnalyzerResult.empty(matchPattern, EmptyResultReason.INSUFFICIENT_SCORE);
213214

214215
var thankwords = thankWordIndices.stream().map(words::get).collect(Collectors.toList());

0 commit comments

Comments
 (0)