Might be nice if you had these too:

Code:
; -------------------------------------------------------------------------------------------------
; Aliases

; take action - use when %warn.(name) has been declaired
; syntax: /takeaction <channel> <nickname> <action> <reason(if kicked)>
; Example: /takeaction #king-tomato ChanSys Flood Flooding (7 lines, 5 seconds)
alias -l takeaction {
  ; set some easy-to-use variables
  /set -u0 %chan $1
  /set -u0 %nick $2
  /set -u0 %word $3
  /set -u0 %reason $4-

  ; Now, to take action
  if (%warn. [ $+ [ %nick ] ] == 1) {
    ; warning
    /msg %chan Please do not %word the channel $nick $+ . Further to do so will result in kicks and/or bans.
  }
  else if (%warn. [ $+ [ %nick ] ] <= 3) {
    ; mute ban
    /mode %chan -ov+b %nick %nick $address(%nick, 1)
  }
  else if (%warn. [ $+ [ %nick ] ] <= 6) {
    ; kick
    /mode $chan -ov $nick $nick
    /kick $chan %nick %reason
  }
  else if (%warn. [ $+ [ %nick ] ] != $null) {
    /mode %chan -ov+b %nick %nick $address(%nick, 11)
    /kick %chan %nick Banned! %reason
  }
}


and of course

Code:
menu channel {
  Flood Protection
  .Repeated Messages ( $+ $iif($group(#protect.flood), Enabled, Disabled) $+ ): {
    var %word = $iif($group(#protect.flood), disable, enable)
    . [ $+ [ %word ] ] #protect.flood
    /echo -a Flood Protection Is Now: $+(%word,d)
  }
  .Spam ( $+ $iif($group(#protect.spam), Enabled, Disabled) $+ ): {
    var %word = $iif($group(#protect.spam), disable, enable)
    . [ $+ [ %word ] ] #protect.spam
    /echo -a Spam Protection Is Now: $+(%word,d)
  }
} 


-KingTomato