All pastes #1650931 Raw Edit

Channel Limit Last Update

public text v1 · immutable
#1650931 ·published 2009-10-31 22:07 UTC
rendered paste body
on *:input:#:{
  if ($1 == +ml) {
    set %chanl $chan
    ;set %autolimit $calc($nick($chan,0)+1)
    set %autolimit $calc($nick($chan,0,a)+1)
    mode $chan +l %autolimit
  }
  if ($1 == -ml) {
    unset %autolimit
    unset %chanl
    mode $chan -l
  }
  if ($1 == :block) {
    unset %autolimit
    mode $chan +l $nick($chan,0,a)
    mode $chan +im
  }
  if ($1 == :deblock) {
    mode $chan -im
    set %autolimit $calc($nick($chan,0,a)+1)
    mode $chan +l %autolimit
  }
}

on *:join:%chanl:{
  if ($me isop $chan) {
    if (%channel.limit == on) { halt }
    set -u60 %channel.limit on
    .timer1 1 1 /mode # +l $calc($nick($chan,0,a)+1)
  }
}

on *:part:%chanl:{
  if ($me isop $chan) {
    .timer2 1 1 /mode # +l $calc($nick($chan,0,a)-1)
  }
}
on *:kick:%chanl:{
  if ($me isop $chan) {
    .timer3 1 1 /mode # +l $calc($nick($chan,0,a)-1)
  }
}
on *:quit:{
  var %i 1 
  var %c $comchan($nick,0)
  while %i <= %c {
    if ($me isop $comchan($nick,%i)) && ($comchan($nick,%i) == %chanl) { 
      timer4 1 1 mode $comchan($nick,%i) +l $calc($nick($comchan($nick,%i),0,a)-1) 
    }
    inc %i
  }
}