Auto kick matching banmasks

By Chaz on May 09, 2005

Auto kicks all matching banmasks on userlevel 100 ban, unbans in 60 seconds to keep the banlist down and then ausers the address, so on join it will kick the nick.
To help prevent the bot lagging out I would suggest pushmode, which you can find on mircscripts.org by wiebe.
When loading it you must /hop on your channel(s) for it to update your ial! It will not work without ial. It updates the ial by doing /who $chan.

Can be used over multiple channels.. just use /set %channels #chan1,#chan2,#chan3 etc.

on 100:BAN:%channels: {
  if ($me isop $chan) {
    if ($ialchan($banmask,$chan,1).nick ison $chan) {
      var %num.affected = $ialchan($banmask,$chan,0).nick
      while (%num.affected) {
        if ($ialchan($banmask,$chan,%num.affected).nick != $me) {
          kick $chan $ialchan($banmask,$chan,%num.affected).nick You are BANNED from this channel.
          dec %num.affected
        }
        else {
          dec %num.affected
        }
      }
      auser banned $banmask
      ban -u60 $chan $banmask
    }
    else {
      auser banned $banmask
      ban -u60 $chan $banmask
    }
  }
  else {
    halt
  }
}

on *:JOIN:%channels: {
  if ($level($fulladdress) == banned) {
    var %addr = $address($nick,2)
    kick $chan $nick You are BANNED from this channel.
    mode $chan +b %addr
  }
  elseif ($nick == $me) {
    who $chan
  }
}

Comments

Sign in to comment.
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.