Skip to content

Commit acf63d0

Browse files
committed
Fix: Add try-catch blocks for ChatControl integration
1 parent 6683af8 commit acf63d0

File tree

2 files changed

+36
-26
lines changed

2 files changed

+36
-26
lines changed

integrations/ChatControl-Red/src/main/java/com/loohp/multichatdiscordsrvaddon/integration/impl/ChatControlRedIntegration.java

+7-3
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,14 @@ public void disable(JavaPlugin plugin) {}
5353

5454
@Override
5555
public String filter(MessageSender messageSender, String message) {
56-
Checker checker = Checker.filterChannel(messageSender, message, null);
57-
if (checker.isCancelledSilently()) return "";
56+
try {
57+
Checker checker = Checker.filterChannel(messageSender, message, null);
58+
if (checker.isCancelledSilently()) return "";
5859

59-
return formatForDiscord(checker.getMessage());
60+
return formatForDiscord(checker.getMessage());
61+
} catch (Exception ignored) {}
62+
63+
return "";
6064
}
6165

6266
public void onChannelChatEvent(ChatChannelEvent event) {

integrations/ChatControl/src/main/java/com/loohp/multichatdiscordsrvaddon/integration/impl/ChatControlIntegration.java

+29-23
Original file line numberDiff line numberDiff line change
@@ -58,35 +58,41 @@ public void disable(JavaPlugin plugin) {}
5858
@SuppressWarnings("DataFlowIssue")
5959
@Override
6060
public String filter(MessageSender messageSender, String message) {
61-
String dynmapUsername = messageSender.getName();
61+
try {
62+
String dynmapUsername = messageSender.getName();
6263

63-
DynmapSender chatControlDynmapSender = null;
64-
if (!dynmapUsername.isEmpty()) {
65-
Player player = Bukkit.getPlayerExact(dynmapUsername);
66-
if (player != null) chatControlDynmapSender = new DynmapSender(dynmapUsername, player.getUniqueId(), player);
67-
} else {
68-
chatControlDynmapSender = new DynmapSender(Config.i().getHook().dynmap().fallbackName(), ChatUtils.ZERO_UUID, null);
69-
}
64+
DynmapSender chatControlDynmapSender = null;
65+
if (!dynmapUsername.isEmpty()) {
66+
Player player = Bukkit.getPlayerExact(dynmapUsername);
67+
if (player != null) chatControlDynmapSender = new DynmapSender(dynmapUsername, player.getUniqueId(), player);
68+
} else {
69+
chatControlDynmapSender = new DynmapSender(Config.i().getHook().dynmap().fallbackName(), ChatUtils.ZERO_UUID, null);
70+
}
7071

71-
Checker checker = ChatControlAPI.checkMessage(WrappedSender.fromDynmap(chatControlDynmapSender), message);
72-
if (checker.isCancelledSilently()) return "";
72+
Checker checker = ChatControlAPI.checkMessage(WrappedSender.fromDynmap(chatControlDynmapSender), message);
73+
if (checker.isCancelledSilently()) return "";
7374

74-
return formatForDiscord(checker.getMessage());
75+
return formatForDiscord(checker.getMessage());
76+
} catch (Exception ignored) {}
77+
78+
return "";
7579
}
7680

7781
public void onChannelPreChatEvent(ChannelPreChatEvent event) {
78-
Checker checker = ChatControlAPI.checkMessage(WrappedSender.fromSender(event.getSender()), event.getMessage());
79-
if (checker.isCancelledSilently()) return;
80-
81-
String formatted = formatForDiscord(checker.getMessage());
82-
83-
ChatUtils.toAllow.add(formatted);
84-
DiscordSRV.getPlugin().processChatMessage(
85-
(Player) event.getSender(),
86-
formatted,
87-
DiscordSRV.getPlugin().getOptionalChannel("global"),
88-
false
89-
);
82+
try {
83+
Checker checker = ChatControlAPI.checkMessage(WrappedSender.fromSender(event.getSender()), event.getMessage());
84+
if (checker.isCancelledSilently()) return;
85+
86+
String formatted = formatForDiscord(checker.getMessage());
87+
88+
ChatUtils.toAllow.add(formatted);
89+
DiscordSRV.getPlugin().processChatMessage(
90+
(Player) event.getSender(),
91+
formatted,
92+
DiscordSRV.getPlugin().getOptionalChannel("global"),
93+
false
94+
);
95+
} catch (Exception ignored) {}
9096
}
9197

9298
public void onPlayerMessage(AsyncPlayerChatEvent event) {

0 commit comments

Comments
 (0)