Skip to content

Commit 4b11c37

Browse files
committed
code cleanup
1 parent a60adbe commit 4b11c37

File tree

1 file changed

+28
-28
lines changed

1 file changed

+28
-28
lines changed

src/main/java/net/javadiscord/javabot/listener/HugListener.java

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -29,31 +29,6 @@ public class HugListener extends ListenerAdapter {
2929

3030
private static final Pattern FUCKER = Pattern.compile("(fuck)(ing|er|k+)?", Pattern.CASE_INSENSITIVE);
3131

32-
private static String processFuck(String str) {
33-
return FUCKER.matcher(str).replaceAll(matchResult -> {
34-
String theFuck = matchResult.group(1);
35-
String suffix = Objects.requireNonNullElse(matchResult.group(2), "");
36-
String processedSuffix = switch(suffix.toLowerCase()) {
37-
case "er", "ing" -> copyCase(suffix, 0, 'g') + suffix;
38-
default -> suffix.toLowerCase().startsWith("k") ? copyCase(suffix, "g".repeat(suffix.length())) : "";
39-
};
40-
return processHug(theFuck) + processedSuffix;
41-
});
42-
}
43-
44-
private static String copyCase(String source, String toChange) {
45-
if (source.length() != toChange.length()) throw new IllegalArgumentException("lengths differ");
46-
StringBuilder sb = new StringBuilder();
47-
for (int i = 0; i < source.length(); i++) {
48-
char a = source.charAt(i);
49-
char b = toChange.charAt(i);
50-
if (Character.isUpperCase(a)) b = Character.toUpperCase(b);
51-
else b = Character.toLowerCase(b);
52-
sb.append(b);
53-
}
54-
return sb.toString();
55-
}
56-
5732
@Override
5833
public void onMessageReceived(@Nonnull MessageReceivedEvent event) {
5934
if (!event.isFromGuild()) {
@@ -85,12 +60,11 @@ public void onMessageReceived(@Nonnull MessageReceivedEvent event) {
8560
if (tc == null) {
8661
return;
8762
}
88-
final TextChannel textChannel = tc;
8963
String content = event.getMessage().getContentRaw();
9064
if (FUCKER.matcher(content).find()) {
9165
long threadId = event.isFromThread() ? event.getChannel().getIdLong() : 0;
92-
WebhookUtil.ensureWebhookExists(textChannel,
93-
wh -> sendWebhookMessage(wh, event.getMessage(), processFuck(content), threadId),
66+
WebhookUtil.ensureWebhookExists(tc,
67+
wh -> sendWebhookMessage(wh, event.getMessage(), replaceFucks(content), threadId),
9468
e -> ExceptionLogger.capture(e, getClass().getSimpleName()));
9569
}
9670
}
@@ -102,6 +76,32 @@ private static String processHug(String originalText) {
10276
+ copyCase(originalText, 3, 'g');
10377
}
10478

79+
private static String replaceFucks(String str) {
80+
return FUCKER.matcher(str).replaceAll(matchResult -> {
81+
String theFuck = matchResult.group(1);
82+
String suffix = Objects.requireNonNullElse(matchResult.group(2), "");
83+
String processedSuffix = switch(suffix.toLowerCase()) {
84+
case "er", "ing" -> copyCase(suffix, 0, 'g') + suffix; // fucking, fucker
85+
case "" -> ""; // just fuck
86+
default -> copyCase(suffix, "g".repeat(suffix.length())); // fuckkkkk...
87+
};
88+
return processHug(theFuck) + processedSuffix;
89+
});
90+
}
91+
92+
private static String copyCase(String source, String toChange) {
93+
if (source.length() != toChange.length()) throw new IllegalArgumentException("lengths differ");
94+
StringBuilder sb = new StringBuilder();
95+
for (int i = 0; i < source.length(); i++) {
96+
char a = source.charAt(i);
97+
char b = toChange.charAt(i);
98+
if (Character.isUpperCase(a)) b = Character.toUpperCase(b);
99+
else b = Character.toLowerCase(b);
100+
sb.append(b);
101+
}
102+
return sb.toString();
103+
}
104+
105105
private static char copyCase(String original, int index, char newChar) {
106106
if (Character.isUpperCase(original.charAt(index))) {
107107
return Character.toUpperCase(newChar);

0 commit comments

Comments
 (0)