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.
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