Try this script which checks if : is at the front of a word in the text, same as checking if ($wildtok($strip($1-),:*,0,32))
on @$*:text:/(^|\s)\x3A\S+/S:#:{
var %h = $+($cid,#,.,$site)
if ($hget(smiles,%h)) {
ban -ku15 # $nick 2 You were warned not to smile
hdel smiles %h
}
else kick # $nick Don't smile
hinc -mu300 smiles %h
}
It 'remembers' a user for 300 seconds, so if they repeat a smiley within that time it will then ban them