'Your post contains words that aren't allowed' ... but which ones?


I just tried editing a message here on Meta but kept getting the ‘Your post contains words that aren’t allowed’ warning. As it doesn’t show WHICH words, I couldn’t figure out what I was doing wrong and had to ask a team member for help. How about adding a little more information here?


I think the risk there is we would be showing profanity in many cases which is not pleasant.

Not true in this case but in the typical case it would be.


It would just be reflecting my own words, hardly shocking :slight_smile:


I suppose that is true what do you think @neil?


I got one of those today and I wasn’t swearing. I assumed it was a glitch and moved on but maybe it wasn’t and I was doing something I shouldn’t have been doing. Not knowing, I wasn’t educated on what I was doing wrong.

A compromise might be to have a list which includes words that wouldn’t offend people and instead of listing the swear words, maybe say something like, “Also Includes profanities, swear words, and language considered by society to be derogatory towards a minority. Those words aren’t listed here out of respect for members.”

It just occurred to me there are words that aren’t allowed that have dual meaning – one of the meanings being derogatory. That might be good to list.


I’ve seen this confusion come up in another Discourse forum as well; especially confusing if an admin decides to block a word that’s not typically offensive or if a regex is too broad.

I think as long as we can show someone what they literally typed it should be fine? So if an admin configured an “ass” regex that was too broad and the word “assassin” was blocked, we’d tell the user “assassin” was blocked to avoid accidentally showing someone an offensive word in the alert…


Brilliant solution, @awesomerobot. Showing to the user what the banned word is doesn’t offend other members and serves to educate that person or at least reassure them that they haven’t violated some secret code if it’s a matter of banning by association.

1 Like

Agreed @bartv. I’ll add this to my list.


You could also put the word behind a click to reveal if we’re worried it will be offensive… the only scenario that makes sense here is an accidental match though, in that case someone did not type a naughty word, but might be shown a naughty word as a mismatch.


FYI: I am also getting this error message popping up. Not sure what is causing this error.


Yes, for sure when using regex blocks we can display the regex match so what it could say is:

You are not allowed to include the word assassin in your post.

It is 100% correct even if the ban is for /ass.*/ .

It is super clear then what to do and how to correct it and does not risk leaking out an offensive word that was not in the post in the first-place.


I pushed a commit to show the blocked word in the error message.


Next steps are we need a “substitute” action in Watched Words, perhaps next month sometime?


I would like a just in time option, as soon as you type badword, a custom panel shows up explaining why badword is bad and what to do

@HAWK s idea and it is a real good one

Substitute does not teach.


That’s a much more difficult feature to build, though – now instead of substitution, you have more text to add with an explanation. Also users won’t read anything you put on the screen, particularly the types of users you would want read specific things you put on the screen, so there’s that.

Not opposed, just pointing out that there is a road we need to travel to get there in the first place :railway_track:


But it is certainly fun.


BBS used to disemvowel all troll posts. A feature that was both hated and loved by all forum members.

1 Like

What makes that different than Censored Words?

It is significantly more confusing to end users? :upside_down_face:


Not sure I’m following, or maybe not asking the right question, what would adding a substitute action for “Watched Words” provide over just using Censored Words?

In other words, if “assassin” is considered bad, why would replacing that with “ninja” be better than replacing it with ********? Both happen behind the scenes without interaction from the user, yes? Both are not what the user originally entered. On edit, initially the user can see the word “assassin” instead of ********, but you can’t say the same when you replace it with the word “ninja”…

I might be missing the real reason for wanting such a feature though… (or not fully grasping it yet)