The @ prefix means it will trigger only if the person running the script is Opped. It doesn't mean that it only can be triggered by ops.

Personally, I don't see the purpose of using an alias. The check for ischan was unneeded, since the on text was always passing $chan (it's not possible for this to return a non-channel in the way it's being used). It's simpler to keep everything together like this:

Code:
[color:green]; Check if I am opped before proceeding[/color]
on @*:text:!mute *:#:{
  [color:green]; Check if triggered by an opped user and that mutenick is on the channel[/color]
  if ($nick isop # && $2 ison #) { 
    [color:green]; Rather than assume the mutenick has +ovh, we check them individually
    ; If the mutenick is voiced, devoice him[/color]
    if ($2 isvoice #) {
      mode # -v $2
    }
    [color:green]; If the mutenick is opped, deop him[/color]
    if ($2 isop #) {
      mode # -o $2
    }
    [color:green]; If the mutenick is halfopped, de-halfop him[/color]
    if ($2 ishop #) {
      mode # -h $2
    }
  }
}

Last edited by schaefer31; 07/12/05 02:27 AM.