$banmask'ın çözümü tam olarak gidereceğini düşünmüyorum çünkü banlanan bazen nick,bazen host,bazende nick!ident@host
vb şablon olabiliyor.
Burada dikkat etmemiz gereken nokta atılan nickle (
KICK eventını düşüneceğiz) aynı hosta sahip diğer nickleri tespit etmek(
WHO komutu bu ihtiyaca yanıt verecektir) olacak,yani clone arayacağız.
/who +ch #radyo AB123.DE561.com
Bu komut #radyo kanalında AB123.DE561.com hostuna sahip tüm nickleri listeleyecektir.
Bizde kicklenen nickin host bilgisini WHO komutuyla sorgulatacağız.
Sonuç aldığımız nickleri de "Clone" varsıyımıyla kanaldan uzaklaştıracağız.
Kod içerisindeki 352 ve 315 rakamları who komutlarının sonuçlandığı RAW numaralarıdır.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
on @*:kick:#:if !$regex($token($address($knick,2),2,64),/help|dj|admin|oper|global|local/i) { set %kickadd Clone! | who +ch # $token($address($knick,2),2,64) }
raw 352:*:if %kickadd { haltdef | kick $2 $6 %kickadd | mode $2 +b $+(*!*@,$4) }
raw 315:*:if %kickadd { haltdef | unset %kickadd }
Host bilgisi yetkilerle alakalı(dj oper admin vs.) ise pas geçecektir ve @ op konumunda çalışacaktır.
Hoşca paylaşımlar dilerim...