this should get you started..\
on *:START: {
if (%count.msgs == $null) /count.reset
}
on *:TEXT:*:#: {
if ($$1 != !stats) {
/inc %count.msgs
/inc %count.words $0
/inc %count.chars $len($1-)
; add more here
var %smiles =

:-) ;-) >:) >:( >:D :\

:-\ :-/ >:\ >:/ >:P :P ;P
var %tok = 1
while ($gettok(%smiles, %tok, 32)) {
if ($istok($1-, $ifmatch, 32)) /inc %count.smiles
/inc %tok
}
}
else /msg $chan I have seen a total of %count.msgs messages sent. These messages were $&
made up of %count.words words containing %count.chars characters and %count.smiles smiles.
}
alias count.reset {
/set %count.msgs 0
/set %count.words 0
/set %count.chars 0
/set %count.smiles 0
}