NoSoliciting/NoSoliciting/Filter.Chat.cs

25 lines
784 B
C#
Raw Permalink Normal View History

using System;
using System.Linq;
using NoSoliciting.Interface;
2020-08-04 22:22:57 +00:00
namespace NoSoliciting {
public partial class Filter {
2021-01-02 13:23:41 +00:00
private static class Chat {
public static bool MatchesCustomFilters(string msg, PluginConfiguration config) {
if (config == null) {
throw new ArgumentNullException(nameof(config), "PluginConfiguration cannot be null");
}
2020-12-21 02:49:10 +00:00
if (!config.CustomChatFilter) {
return false;
}
msg = NoSolUtil.Normalise(msg);
return config.ValidChatSubstrings.Any(needle => msg.ContainsIgnoreCase(needle))
|| config.CompiledChatRegexes.Any(needle => needle.IsMatch(msg));
2020-08-04 22:22:57 +00:00
}
}
}
}