rendered paste bodyon *:input:#:{
if ($1 == +ml) {
set %chanl $chan
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 $calc($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
.inc %autolimit
.timer1 1 1 /mode # +l %autolimit
}
}
on *:part:%chanl:{
if ( $me isop $chan) {
.dec %autolimit
.timer2 1 1 /mode # +l %autolimit
}
}
on *:kick:%chanl:{
if ( $me isop $chan) {
.dec %autolimit
.timer3 1 1 /mode # +l %autolimit
}
}
on *:quit:{
var %i 1, %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
}
}