I think I'd use a variable... (untested):

Code:
on *:ban:#:{
  var %bans = %bans $banmask
  if ($numtok(%bans,32) == 6) {
    .timer 1 800 mode $chan -bbbbbb %bans
    unset %bans
  }
  .timerUnban 1 2 DoUnban %bans
}

alias DoUnban {
  if ($1) { .timer 1 800 mode $chan - $+ $str(b,$0) $1- }
}


Basically, that will put all bans done in a 2 second time frame (this covers all multiple bans since they happen all at once) into a variable. It will then set a timer to unban them. If more than 6 are done within that timeframe, then they will go onto a separate timer because most networks don't allow more than 6 bans/unbans in a single mode. Note that if your network allows FEWER than 6 at once, you'll need to change the 6 to whatever is allowed. If you don't know, just try banning 10 addresses at once and see what the output shows... if it's 6 at once or 5 or whatever.

As I said, this is untested, but it should work.


Invision Support
#Invision on irc.irchighway.net