From b8de9532e2a4bfebb05dafd19179d25ec2725515 Mon Sep 17 00:00:00 2001 From: Tom Date: Thu, 16 Jan 2025 01:12:49 +0000 Subject: [PATCH] Fixed adding, modifying and fetching TTS filters. --- Hermes/Socket/Handlers/LoginAckHandler.cs | 2 +- Hermes/Socket/Requests/CreateTTSFilterAck.cs | 9 +++++++++ .../Socket/Requests/GetTTSWordFiltersAck.cs | 2 +- Hermes/Socket/Requests/UpdateTTSFilterAck.cs | 19 +++++++++++++++---- 4 files changed, 26 insertions(+), 6 deletions(-) diff --git a/Hermes/Socket/Handlers/LoginAckHandler.cs b/Hermes/Socket/Handlers/LoginAckHandler.cs index da3e7ed..aeec6a9 100644 --- a/Hermes/Socket/Handlers/LoginAckHandler.cs +++ b/Hermes/Socket/Handlers/LoginAckHandler.cs @@ -56,7 +56,7 @@ namespace TwitchChatTTS.Hermes.Socket.Handlers { try { - var re = new Regex(filter.Search!, RegexOptions.Compiled); + var re = new Regex(filter.Search!, ((RegexOptions) filter.Flag) | RegexOptions.Compiled); re.Match(string.Empty); filter.Regex = re; } diff --git a/Hermes/Socket/Requests/CreateTTSFilterAck.cs b/Hermes/Socket/Requests/CreateTTSFilterAck.cs index 6c2308f..93ba261 100644 --- a/Hermes/Socket/Requests/CreateTTSFilterAck.cs +++ b/Hermes/Socket/Requests/CreateTTSFilterAck.cs @@ -1,4 +1,5 @@ using System.Text.Json; +using System.Text.RegularExpressions; using HermesSocketLibrary.Requests.Messages; using Serilog; @@ -33,6 +34,14 @@ namespace TwitchChatTTS.Hermes.Socket.Requests return; } + try + { + var re = new Regex(filter.Search!, ((RegexOptions)filter.Flag) | RegexOptions.Compiled); + re.Match(string.Empty); + filter.Regex = re; + } + catch (Exception) { } + _logger.Debug($"Filter data [filter id: {filter.Id}][search: {filter.Search}][replace: {filter.Replace}]"); _user.RegexFilters.Add(filter); _logger.Information($"Filter has been created [filter id: {filter.Id}]"); diff --git a/Hermes/Socket/Requests/GetTTSWordFiltersAck.cs b/Hermes/Socket/Requests/GetTTSWordFiltersAck.cs index b779fdb..7d45d08 100644 --- a/Hermes/Socket/Requests/GetTTSWordFiltersAck.cs +++ b/Hermes/Socket/Requests/GetTTSWordFiltersAck.cs @@ -33,7 +33,7 @@ namespace TwitchChatTTS.Hermes.Socket.Requests { try { - var re = new Regex(filter.Search!, RegexOptions.Compiled); + var re = new Regex(filter.Search!, ((RegexOptions) filter.Flag) | RegexOptions.Compiled); re.Match(string.Empty); filter.Regex = re; } diff --git a/Hermes/Socket/Requests/UpdateTTSFilterAck.cs b/Hermes/Socket/Requests/UpdateTTSFilterAck.cs index 243b33e..736e99e 100644 --- a/Hermes/Socket/Requests/UpdateTTSFilterAck.cs +++ b/Hermes/Socket/Requests/UpdateTTSFilterAck.cs @@ -1,4 +1,5 @@ using System.Text.Json; +using System.Text.RegularExpressions; using HermesSocketLibrary.Requests.Messages; using Serilog; @@ -28,15 +29,25 @@ namespace TwitchChatTTS.Hermes.Socket.Requests } _logger.Debug($"Filter data [filter id: {filter.Id}][search: {filter.Search}][group id: {filter.Replace}]"); - var previous = _user.RegexFilters.FirstOrDefault(f => f.Id == filter.Id); - if (previous == null) + var current = _user.RegexFilters.FirstOrDefault(f => f.Id == filter.Id); + if (current == null) { _logger.Warning($"TTS Filter doest exist by id [filter id: {filter.Id}]"); return; } - previous.Search = filter.Search; - previous.Replace = filter.Replace; + current.Search = filter.Search; + current.Replace = filter.Replace; + current.Flag = filter.Flag; + + try + { + var re = new Regex(current.Search!, ((RegexOptions)current.Flag) | RegexOptions.Compiled); + re.Match(string.Empty); + current.Regex = re; + } + catch (Exception) { } + _logger.Information($"Filter has been updated [filter id: {filter.Id}]"); } }