ConferenceRoom includes a language filtering module for this purpose. Its design has been a compromise. It tries to catch as much accidental profanity as it possibly can without being an undue CPU drain. As a result of its efficient design, its CPU consumption is barely noticeable, even on a heavily-loaded server. It supports configurable character mapping. This allows it to consider 'Foo' and 'f00' as equivalent. Or even 'Time', 'T1M3', 'T|mE' and 't[m3'. By default, the only character mappings it has are to make it case insensitive, but these can be adjusted. It does not and will not ever support any notion of 'mask lists' or 'wildcards'. This is for several reasons. They do not help catch accidental profanity. So they do not help the profanity filtering system serve its intended purpose. They consume undue amounts of CPU. Masked compares with wildcards are inherently expensive.
Lastly, it is too easy to accidentally filter a large amount of unintended material. Language filtering can be enabled server wide, on a per-user basis, or on a per-channel basis. It can be configured to discard or censor. It can be configured to send a warning, or not. The server as a whole must have only one single list of profane words. At this time, no support for multiple word lists is anticipated.
How to filter out specific phrases like URL's or other words that have special characters in them like some foreign character sets.
You may be able to get the profanity filter to do what you want, depending upon exactly what it is you want to do. The first thing you need to keep in mind is that the profanity filter works in three steps (it doesn't actually, but it acts as if it does):
If you want to stop URLs like 'http://xxx.xxx.xxx', you could map ':' to itself (it's a stop by default) and make sure '/' is a stop. Then add 'http:' to the filtered words list. If you only wanted to stop 'http://www.xxx.xxx', you could map ':' and '/' to themselves and make sure '.' is a stop. Then you could add 'http://www' to the filtered words list.
If only specific sites are a problem, map '.' to itself, make '/' a stop character and filter out the specific sites. For example 'www.foo.com' would stop 'http://www.foo.com' since the '/' is a stop character and '.' is not.
There's really no good way to catch things like "Come see my web site at www.foo.com" (such that the filter would catch any web site). There's just too many ways to disguise it.
If you have a repeat problem with specific sites, you may find that it's helpful to complain to the administrators of those sites and (in some cases) the abuse contacts for their uplinks. For extreme cases, where the site themself is sponsoring or encouraging this, you can take action to get the site blacklisted until they clean up their act.