Set your event to 1 user level (e.g. on 1:TEXT:...) if you have them as *, then add a command such as this to limit them:

Code:
on 1:TEXT:!ban &:#: {
  if ($level($nick) != 0) {
    /auser 0 $nick
    /msg $chan $nick has been banned from using text commands.
  }
  else /msg $chan $nick already in ban list.
}
on 1:TEXT:!unban &:#: {
  if ($level($nick) == 0) {
    /ruser $nick
    /msg $chan $nick was removed from the ban list.
  }
  else /msg $chan $nick not in the ban list.
}


They are not stored in a txt or hsh, but in the userlist instead (those with a 0:* are banned). Usage: !ban KingTomato to ban me; likewise, !unban KingTomato to unban me.