Here is the final:
Flood protection is included and I've added the ability (thanks to Nillens for showing me an easier way) to tag a user in the command.

ex: A user is asking for the ip of the game server/ts server. You simply do !ip jimieo and your bot will check if I am in your channel and reply "jimieo: iphere."

The addcom, delcom, and editcom are all the same.

As seen above, the cleanup to this script goes to: paper0rplastic. I only removed the messages for unauthorized users.
Code:
ON *:TEXT:*:#jimieotest: {
  var %owner $right(#,-1)
  tokenize 32 $strip($1-,burci)
  if ($read(# $+ commands.txt, nts, $1)) {
    var %com = $v1
    var %com = $replace(%com,@user@,$iif($2,$2,?),@nick@,$nick,@target@,$target)
    if (-ul=mod == $gettok(%com,1,32)) && (!$mod($nick)) { halt }
    if (-ul=reg == $gettok(%com,1,32)) && (!$mod($nick)) && (!$regular($nick)) { halt }
    if (-ul=own == $gettok(%com,1,32)) && ($nick != %owner) { halt }
    if ($($+(%,flood,$1),2)) || ($($+(%,flood,$1,.,$nick),2)) { return }
    set -u5 $+(%,flood,$1) On
    set -u5 $+(%,flood,$1,.,$nick)
    if ($2 ison #) {
      msg $chan $2 $+ : $iif(-ul=mod == $gettok(%com,1,32) || -ul=reg == $gettok(%com,1,32) || -ul=own == $gettok(%com,1,32),$gettok(%com,2-,32),$gettok(%com,1-,32))
    }
    else {
      msg $chan $iif(-ul=mod == $gettok(%com,1,32) || -ul=reg == $gettok(%com,1,32) || -ul=own == $gettok(%com,1,32),$gettok(%com,2-,32),$gettok(%com,1-,32))
    }  
  }
}

Last edited by jimieo; 13/01/15 09:51 PM.