This should suffice everything...

usage

/cmdlist
; to setup a cmd.hsh table

hnick == $nick
hchan == $chan

!Addcmd cmdhere texthere

ex:. !Addcmd !Wb Welcome back to hchan Enjoy your stay hnick

!Delcmd cmdherewhichalreadyexist

Code:

on *:TEXT:*:#: {
  if ($1 == !listcmds) {
    var %listcmds.inc = 1
    msg $nick Listing Commands...
    while (%listcmds.inc <= $hget(cmd,0).item) {
      msg $nick $hget(cmd,%listcmds.inc).item
      inc %listcmds.inc
    }
  }
  if (! isin $2) {
    if ($1 == !Addcmd) && (! == $left($2,+1)) {
      hadd cmd $2 $3-
      hsave cmd cmd.hsh
    }
    if ($1 == !Delcmd) && (! == $left($2,+1)) {
      hdel cmd $2
      hsave cmd cmd.hsh
    }
  }  
  if (! isin $1) {
    var %hreplace = $hget(cmd,$1)
    if (hnick isin %hreplace) && (hchan isin %hreplace) {
      msg $chan $replace(%hreplace,hnick,$2,hchan,$active)
    }
    elseif (hnick isin %hreplace) {
      msg $chan $replace(%hreplace,hnick,$2)
    }
    elseif (hchan isin %hreplace) {
      msg $chan $replace(%hreplace,hchan,$chan)
    }
    else { msg $chan %hreplace }
  }
}

alias cmdlist {
  hmake cmd $?="How many items? 30 is average"
  hsave cmd cmd.hsh
}



Code:
if $reality > $fiction { set %sanity Sane }
Else { echo -a *voices* }