All pastes #522419 Raw Edit

Zolo

public text v1 · immutable
#522419 ·published 2007-05-30 12:30 UTC
rendered paste body
; --- nick alert

#general_nickalert on

on *:action:$($+(*,$me,*)):#:{
  if ((($cid !== $activecid) || ($active !== $chan)) && ($nickalert_regex($1-)) && (!$nickalert_isexcluded($nick))) {
    nick.alert $1-
  }
}
on *:text:$($+(*,$me,*)):#:{
  if ((($cid !== $activecid) || ($active !== $chan)) && ($nickalert_regex($1-)) && (!$nickalert_isexcluded($nick))) {
    nick.alert $1-
  }
}
alias -l nickalert_isexcluded {
  ; $1 = nick
  var %k = $inf(nickalert,exclude),%o = $numtok(%k,44) | while (%o) {
    if ($gettok(%k,%o,44) iswm $1) { return 1 }
    dec %o
  }
}
alias -l nickalert_regex {
  ; $1- = text
  return $regex(nickalert,$1-,/(^|[^[:alpha:]]) $+ $regrem($me) $+ ([^[:alpha:]]|$)/i)
}
alias -l nick.alert {
  if (($inf(nickalert,window)) && ((!$appactive) || (!$inf(nickalert,windowifinactive)))) { var %window = 1 }
  else { var %window }
  if (%window) {
    if (!$window(@messages)) {
      window -inzk0 @messages
      logcustomwindow @messages
    }
    var %line = echo $color($event) -tm @messages $c(1) $+ $cbrack($servname) $+ $cbrack($chan) $+ 
  }
  else {
    var %line = echo $color($event) -atm $c(1) $+ $iif(($cid !== $activecid),$cbrack($servname)) $+ $cbrack($chan) $+ 
  }
  if ($event == action) { %line $chanaction($1-) }
  else { %line $nb $1- }
  .signal nickalert $chan $nick $1-
}

#general_nickalert end