void ProcessUrl(string nick, string url) { // If we haven't seen the URL recently. if (urlHistory.Add(url)) { bool?inWhite = whitelist.IsInList(url, Channel, nick); // Check blacklist if whitelist isn't applicable. if (inWhite == null) { if (blacklist.IsInList(url, Channel, nick)) { log.Message("Blacklisted: {0}", url); } else { OutputUrl(url); } } // If in whitelist, go directly to output and skip blacklist. else if (inWhite == true) { OutputUrl(url); } // If the whitelist was applicable, but the URL wasn't found in it. else { log.Message("Not whitelisted: {0}", url); } } // If we have seen the URL recently, don't output it. else { log.Message("Spam suppression: {0}", url); } }