Thank you for adding this feature, Khaled!

I would also like to amend my request to include /ban -q which would behave exactly like /ban does, with the exception of using +q and -q instead of +b and -b. Unless you prefer the command /quiet.

In the same vein, you could also add /ban -e for +e exempting and -e unexempting, and /ban -I for +I invite and -I uninvited.

I think everything else as it is, just adding the character swapping, would be suitable for most people. Not sure if stacking these switches (and adding -b for good measure) would be going too far. Leave that up to you.

Code:
On @$*:TEXT:/\b(list|of|swear|words|and|spam)\b/g:#: {
  if ($nick isop $chan) { return }
  var %nickidchan = $ial($nick).id $+ $chan
  hinc -mu600 hothead %nickidchan $regml(0)
  if ($hget(hothead,%nickidchan) >= 10) { 
->  ban -qu1800 $chan $nick 2
    msg $chan /!\ $nick $+ : You need to calm down for 30 minutes. Sorry.
    hdel -w hothead %nickidchan
} } ; by Raccoon 2017