From 262e13fa686c188914e15c770c42c68f5ac181be Mon Sep 17 00:00:00 2001 From: ChomeNS <95471003+ChomeNS@users.noreply.github.com> Date: Sun, 21 Sep 2025 13:38:59 +0700 Subject: [PATCH] fix: server ip leaking in discord disconnect reason and *seen even when `hidden: true` --- build-number.txt | 2 +- .../me/chayapak1/chomens_bot/plugins/DiscordPlugin.java | 4 +++- .../chomens_bot/plugins/PlayersDatabasePlugin.java | 8 +++++++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/build-number.txt b/build-number.txt index a690ddc1..b0460c18 100644 --- a/build-number.txt +++ b/build-number.txt @@ -1 +1 @@ -3663 \ No newline at end of file +3664 \ No newline at end of file diff --git a/src/main/java/me/chayapak1/chomens_bot/plugins/DiscordPlugin.java b/src/main/java/me/chayapak1/chomens_bot/plugins/DiscordPlugin.java index ac62b14f..8c4e710f 100644 --- a/src/main/java/me/chayapak1/chomens_bot/plugins/DiscordPlugin.java +++ b/src/main/java/me/chayapak1/chomens_bot/plugins/DiscordPlugin.java @@ -153,7 +153,9 @@ public class DiscordPlugin { public void disconnected (final DisconnectedEvent event) { if (!bot.options.logConnectionStatusMessages || bot.connectAttempts >= 6) return; - final String reason = ComponentUtilities.stringifyDiscordAnsi(event.getReason()); + final String reason = ComponentUtilities.stringifyDiscordAnsi(event.getReason()) + .replace(bot.getServerString(true), bot.getServerString()) + .replace(bot.options.host, bot.getServerString()); sendMessageInstantly( String.format( I18nUtilities.get("info.disconnected"), diff --git a/src/main/java/me/chayapak1/chomens_bot/plugins/PlayersDatabasePlugin.java b/src/main/java/me/chayapak1/chomens_bot/plugins/PlayersDatabasePlugin.java index ef7c698b..9ea36a97 100644 --- a/src/main/java/me/chayapak1/chomens_bot/plugins/PlayersDatabasePlugin.java +++ b/src/main/java/me/chayapak1/chomens_bot/plugins/PlayersDatabasePlugin.java @@ -100,7 +100,13 @@ public class PlayersDatabasePlugin implements Listener { if (!result.next()) return null; // doesn't exist final long time = result.getTimestamp("time").getTime(); - final String server = result.getString("server"); + String server = result.getString("server"); + for (final Bot bot : Main.bots) { + if (bot.options.hidden && bot.getServerString(true).equals(server)) { + server = bot.getServerString(); + break; + } + } return LongObjectImmutablePair.of(time, server); } catch (final SQLException e) {