This simple snippet just do like smart bot to give +v for user who join in specific channel, And check if the user not speak in channel, it will automaticaly devoice.
Can use to limit channel (+l) when someone join, part or quit, for anti flood in channel.
on *:TEXT:*:#:{ cek.time | if ($($+(%,dv,$chan,$cid),2) == on) && ($me isop #) { if ($nick !isvo #) && ($nick !isop #) && ($nick !ishop #) { .quote MODE # +v $nick | .timerdv $+ $chan $+ $nick 1 %tm.devoice .quote MODE # -v $nick } } }
on *:JOIN:#:{ cek.time | if ($($+(%,limit,$chan,$cid),2) == on) && ($me isop #) { var %x = $nick($chan,0) | .timerlimit $+ $chan 1 %tm.limit .quote mode # +l $calc(%x + %tm.tlimit) } | if ($($+(%,dv,$chan,$cid),2) == on) && ($me isop #) { .timerdv $+ $chan $+ $nick 1 %tm.devoice .quote MODE # -v $nick } | if ($($+(%,av,$chan,$cid),2) == on) && ($me isop #) { .timerav $+ $chan $+ $nick 1 3 .quote MODE # +v $nick } }
on ^1:QUIT: { cek.time | var %c = $comchan($nick,0) | while (%c) { var %e = $comchan($nick,%c) | if ($($+(%,limit,%e,$cid),2) == on) && ($me isop %e) { var %x = $nick(%e,0) | .timerlimit $+ %e 1 %tm.limit .quote mode %e +l $calc(%x + %tm.tlimit) } | if ($($+(%,dv,%e,$cid),2) == on) && ($me isop %e) { .timerdv $+ %e $+ $nick $+ $chr(37) off } | if ($($+(%,pf,%e,$cid),2) == on) && ($me isop %e) { if $len($1-) > 150 { if !$timer($+(pf,$chan)) { .quote MODE %e +mi | .timerpf $+ %e 1 120 .quote MODE # -mi } | .ban -u300 %e $+(*!*@,$gettok($fulladdress,2,64)) } } | dec %c } }
on ^1:PART:#: { cek.time | if ($($+(%,limit,$chan,$cid),2) == on) && ($me isop #) { var %x = $nick($chan,0) | .timerlimit $+ $chan 1 %tm.limit .quote mode # +l $calc(%x + %tm.tlimit) } | if ($($+(%,dv,$chan,$cid),2) == on) && ($me isop #) { .timerdv $+ $chan $+ $nick $+ $chr(37) off } | if ($($+(%,pf,$chan,$cid),2) == on) && ($me isop #) { if $len($1-) > 80 { if !$timer($+(pf,$chan)) { .quote MODE # +mi | .timerpf $+ $chan 1 120 .quote MODE # -mi } | .ban -u300 # $+(*!*@,$gettok($fulladdress,2,64)) } } }
alias -l cek.time { if (%tm.devoice == $null) || (%tm.devoice !isnum) { %tm.devoice = 60 } | if (%tm.limit == $null) || (%tm.limit !isnum) { %tm.limit = 5 } | if (%tm.tlimit == $null) || (%tm.tlimit !isnum) { %tm.tlimit = 3 } }
menu channel {
Setup
.Channel Auto
.. $iif($($+(%,limit,$chan,$cid),2) == on,Limit for $chan on) { unset $+(%,limit,$chan,$cid) }
.. $iif($($+(%,limit,$chan,$cid),2) == $null,Limit for $chan off) { set $+(%,limit,$chan,$cid) on }
.. $iif($($+(%,dv,$chan,$cid),2) == on,Anti Idle for $chan on) { unset $+(%,dv,$chan,$cid) }
.. $iif($($+(%,dv,$chan,$cid),2) == $null,Anti Idle for $chan off) { set $+(%,dv,$chan,$cid) on }
.. $iif($($+(%,av,$chan,$cid),2) == on,Auto Voice for $chan on) { unset $+(%,av,$chan,$cid) }
.. $iif($($+(%,av,$chan,$cid),2) == $null,Auto Voice for $chan off) { set $+(%,av,$chan,$cid) on }
.. $iif($($+(%,pf,$chan,$cid),2) == on,Auto Detect Quit Flood $chan on) { unset $+(%,pf,$chan,$cid) }
.. $iif($($+(%,pf,$chan,$cid),2) == $null,Auto Detect Quit Flood $chan off) { set $+(%,pf,$chan,$cid) on }
.. -
.. Time for Set Chan Limit ( %tm.limit ) { set %q.t $$?="Time:" | if (%q.t != $null) { %tm.limit = %q.t } | unset %q.t }
.. Upper Limit Number ( %tm.tlimit ) { set %q.t $$?="Time:" | if (%q.t != $null) { %tm.tlimit = %q.t } | unset %q.t }
.. Time for Set Auto Devoice ( %tm.devoice ) { set %q.t $$?="Time:" | if (%q.t != $null) { %tm.devoice = %q.t } | unset %q.t }
}
I need this auto voice and auto limiter script to kick instead of devoice. Would anyone know how to adjust it to make it kick.
note: I need it to auto voice, as it does. I need it to limit the idle time of said guest to 20 minutes ( done via the dialogue), and kick out after 20 minutes.
Please respond if you can adjust this.
Thank you
Oh and I need it to protect ops