From aa7dd14889e60899f2a510dd336369fb2cb91a1c Mon Sep 17 00:00:00 2001 From: Daniel McAssey Date: Tue, 14 Jan 2025 19:20:59 +0000 Subject: [PATCH] fix(server): fix chat message cleanup regex --- GLOKON.Baiters.Core/BaitersServer.cs | 2 +- GLOKON.Baiters.Core/Packets/Handlers/MessageHandler.cs | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/GLOKON.Baiters.Core/BaitersServer.cs b/GLOKON.Baiters.Core/BaitersServer.cs index 60ebbcc..32ae664 100644 --- a/GLOKON.Baiters.Core/BaitersServer.cs +++ b/GLOKON.Baiters.Core/BaitersServer.cs @@ -231,7 +231,7 @@ public void SendSystemMessage(string message, string color = MessageColour.Defau { SendPacket(new("message") { - // Need to format it like this, if not username wont appear + // Need to format it like this, if not username wont appear and color wont either ["message"] = string.Format("%u: {0}", message), ["color"] = color, ["local"] = false, diff --git a/GLOKON.Baiters.Core/Packets/Handlers/MessageHandler.cs b/GLOKON.Baiters.Core/Packets/Handlers/MessageHandler.cs index 1acb396..a84a9b2 100644 --- a/GLOKON.Baiters.Core/Packets/Handlers/MessageHandler.cs +++ b/GLOKON.Baiters.Core/Packets/Handlers/MessageHandler.cs @@ -4,10 +4,8 @@ namespace GLOKON.Baiters.Core.Packets.Handlers { - internal class MessageHandler(BaitersServer server) : IPacketHandler + internal partial class MessageHandler(BaitersServer server) : IPacketHandler { - private readonly Regex _messageCleanUpRegex = new(Regex.Escape("%u:")); - public void Handle(ulong sender, Packet data) { string playerName = "UNKNOWN"; @@ -22,7 +20,7 @@ public void Handle(ulong sender, Packet data) SentAt = DateTime.Now, SenderId = sender, SenderName = playerName, - Message = _messageCleanUpRegex.Replace((string)data["message"], string.Empty, 1).Trim(), + Message = MessageCleanUpRegex().Replace((string)data["message"], string.Empty, 1).Trim(), Colour = (string)data["color"], IsLocal = (bool)data["local"], Position = (Vector3)data["position"], @@ -30,5 +28,8 @@ public void Handle(ulong sender, Packet data) ZoneOwner = (long)data["zone_owner"], }); } + + [GeneratedRegex("%u:?")] + private static partial Regex MessageCleanUpRegex(); } }