NoSoliciting/NoSoliciting/Filter.PartyFinder.cs
2021-01-02 08:23:41 -05:00

24 lines
751 B
C#

using System;
using System.Linq;
namespace NoSoliciting {
public partial class Filter {
private static class PartyFinder {
public static bool MatchesCustomFilters(string msg, PluginConfiguration config) {
if (config == null) {
throw new ArgumentNullException(nameof(config), "PluginConfiguration cannot be null");
}
if (!config.CustomPFFilter) {
return false;
}
msg = FilterUtil.Normalise(msg);
return config.PFSubstrings.Any(needle => msg.ContainsIgnoreCase(needle))
|| config.CompiledPFRegexes.Any(needle => needle.IsMatch(msg));
}
}
}
}