From 5befdd308060115f75f560465f85151c0f5a4b1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment?= Date: Mon, 3 Mar 2025 12:15:17 +0100 Subject: [PATCH] Added tag feature --- ChatApp/src/network/protocol/ANSIColor.java | 4 ++++ ChatApp/src/server/Server.java | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ChatApp/src/network/protocol/ANSIColor.java b/ChatApp/src/network/protocol/ANSIColor.java index b65cf9f..9204b13 100644 --- a/ChatApp/src/network/protocol/ANSIColor.java +++ b/ChatApp/src/network/protocol/ANSIColor.java @@ -15,4 +15,8 @@ public class ANSIColor { .replace("&y", GREY) .replace("&n", RESET); } + + public static String tag(String message, String chatter){ + return message.replaceAll("(@" + chatter + ")", "\u001B[44;30m$1\u001B[49;39m" ); + } } diff --git a/ChatApp/src/server/Server.java b/ChatApp/src/server/Server.java index 125365d..7492d8b 100644 --- a/ChatApp/src/server/Server.java +++ b/ChatApp/src/server/Server.java @@ -10,6 +10,7 @@ import java.util.Map; import network.PacketHandler; import network.SocketReader; +import network.protocol.ANSIColor; import network.protocol.Packet; import network.protocol.packets.ChatMessagePacket; import network.protocol.packets.SendChatMessagePacket; @@ -81,7 +82,9 @@ public class Server implements PacketHandler { public boolean sendToRoom(String roomName, ChatMessagePacket packet) { if (roomName != null && rooms.containsKey(roomName)) { - rooms.get(roomName).forEach(con -> con.sendPacket(packet)); + rooms.get(roomName).forEach(con -> con.sendPacket( + new ChatMessagePacket(packet.getTime(), packet.getChatter(), ANSIColor.tag(packet.getContent(), con.getChatterName())) + )); return true; } return false;