Finally I did this:

Code
on !*:JOIN:#CHANNEL:{
  if ($nick($chan,$me,~&@%)) { 
    if ($+(%,JoinPartFlood_,$site,_,$chan) == $null ) { set -u1800 $+(%,JoinPartFlood_,$site,_,$chan) 1   }
    else { inc $+(%,JoinPartFlood_,$site,_,$chan)  }
    if ($($+(%,JoinPartFlood_,$site,_,$chan),2) == 3) .timerwarn 1 3 notice $nick WARNING!!!
    if ($($+(%,JoinPartFlood_,$site,_,$chan),2) > 3) {
      if ($wildsite !isban $chan) {  ban -u $+ $duration(10h)  $chan $nick 2 | /write banemule.txt $date $time *Join_Flood* $chan $nick  }
      if ($nick ison $chan) { kick $chan $nick YOU BEEN WARNED (Part/Join }
      unset $+(%,JoinPartFlood_,$site,_,$chan)
    }
  }
}

I added a warn when part/join == 3 and ban on >3 (so 4 :-P )
And added a /WRITE to have ban log in a text file
Just a problem: operators ~&@%+ get banned. Maybe I have to add:
Code
if ($nick isop %chan) { halt } 
???

Does isop cover all levels (~&@%+) except 0?

Thanks a lot ;-)

Last edited by Fernet; 08/05/25 03:55 PM.