Join/part saldırılarına önlem Kodu
Kod:
alias ipkick {
var %c 1
var %chan $1
var %ip $2
var %sebep $3-
; degi?kenlerimizi atad?k
while %c <= $nick(%chan,0) {
; while dongusune soktum
if %ip == $remove($address($nick(%chan,%c),2),*!*@) {
; %ip degi?keni while dongusunun sonuçu olan nick ise
mode %chan +b *!*@ $+ $ifmatch
; sebebi banla
kick $chan $nick(%chan,%c) %sebep
; sebepli ki?iyi kanalda salla.
}
inc %c
; her seferinde %c yi 1 artt?r
}
}
on *:join:#: {
; kanal m? girdi?
if $me !isop $chan { goto devam2 } | if $nick isop $chan { goto devam2 }
; ben op degilsem veya o ki?i opsa kalda devam2 ye git
inc -u20 %joinip [ $+ [ $remove($address($nick,2),*!*@) ] ] [ $+ [ $chan ] ]
; degil ise 20 saniyeligine %joinip ipadresi olarak dei?kene al
if %joinip [ $+ [ $remove($address($nick,2),*!*@) ] ] [ $+ [ $chan ] ] < 4 goto devam2
; eger %joinip degeri 4 den küçükse devam et yani 4 ayn? ip girdi ise
unset %joinip [ $+ [ $remove($address($nick,2),*!*@) ] ] [ $+ [ $chan ] ]
; yukardaki olas?l?klar tutmad? ise %joinip i kald?r devam et
mode $chan +b $address($nick,2)
; banla…
kick $chan $nick Join Floodu Ha? Yerlermi ?
; kickle…
ipkick $chan $remove($address($nick,2),*!*@) Join Floodu Ha? Yerlermi ?
; ve kanaldaki o ipe ait herkezi kickle
}