Chan Limit
# ChanLimit by Nils Ostbjerg <shorty@business.auc.dk>
# limit = users count + num
set num 5
bind time - "* * * * *" time:ChanLimit
proc time:ChanLimit {min hour day month year} {
global num
foreach chan [channels] {
set newlimit [expr [llength [chanlist $chan]] + $num]
set currentlimit [currentlimit $chan]
if {$currentlimit < [expr $newlimit - 1] || $currentlimit > [expr $newlimit + 1]} {
putserv "mode $chan +l $newlimit"
}
}
}
proc currentlimit {chan} {
set currentmodes [getchanmode $chan]
if {[string match "*l*" [lindex $currentmodes 0]]} {
return [lindex $currentmodes end]
}
return 0
}
putlog "Channel Limit loaded"