Id: 10896; Nick: Daveoh; Timestamp: 2008-05-22 22:20:37; Pasted as: mIRC
Description: Checks all users in specified channels if they are in blacklisted channels, supports blacklisted channels for all channels or blacklisted channels against only specified channels.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
on *:CONNECT:if ($network == UnderNet) .timercheckbannedchans 0 300 checkbannedchans
alias checkbannedchans {
  if (%blcheck.nicks) halt
 
  ;the list of channels you want to check users in
  set %blcheck.chans #chan1 #chan2 #chan3
 
  ;globally blacklisted channels (user can be in this in any channel and be banned)
  set %blcheck.globbl #gblchan1 #gblchan2 #gblchan3
 
  ;specificly blacklisted channels, only related to certain channels (#chan1,#chan2,etc.)
  set %blcheck.#chan1 #blchan1 #blchan2
  set %blcheck.#chan2 #blchan1 #blchan2
 
  var %i = 1
  while (%i) {
    var %c = $gettok(%chans,%i,32),%x = $nick(%c,0)
    while (%x) {
      set %blcheck.nicks $addtok(%blcheck.nicks,$nick(%c,%x),44)
      dec %x
    }
    dec %i
  }
  if (!%blcheck.nicks) return
  .timerbanscheck 0 15 banscheck
}
alias banscheck {
  var %b = $gettok(%blcheck.nicks,1-5,44)
  if (!%b) { .timerbanscheck off | unset %blcheck.chans | return }
  whois %b
  set %blcheck.active $addtok(%blcheck.active,%b,44)
  if ($deltok(%blcheck.nicks,1-5,44)) set %blcheck.nicks $v1
  else unset %blcheck.nicks
}
raw 319:*:{
  var %i = $numtok($3-,32)
  while (%i > 2) {
    var %a = $($+($,%i),2),%c = $iif($chr(35) == $left(%a,1),%a,$right(%a,-1))
    var %chans = %chans %c
    dec %i
  }
  if ($istok(%blcheck.active,$2,44)) {
    var %i = $numtok(%chans,32)
    while (%i) {
      if ($istok(%blcheck.globbl,$gettok(%chans,%i,32),32)) {
        ;nick is in a globally blacklisted channel, ban from every checked channel
        var %x = $numtok(%blcheck.chans,32)
        while (%x) {
          msg X ban $gettok(%blcheck.chans,%x,32) $2 You are in a globally blacklisted channel.
          dec %x
        }
        if ($deltok(%blcheck.active,$findtok(%blcheck.active,$2,1,44),44)) set %blcheck.active $v1
        else unset %blcheck.active
        halt
      }
      dec %i
    }
    var %i = $numtok(%blcheck.chans,32)
    while (%i) {
      if (%blcheck. [ $+ [ $gettok(%blcheck.chans,%i,32) ] ]) {
        var %a = $v1
        var %x = $numtok(%chans,32)
        while (%x) {
          ;if nick is in a specifically banned channel do the following
          if ($istok(%a,$gettok(%chans,%x,32),32)) { msg X ban $gettok(%blcheck.chans,%i,32) $2 You are in a blacklisted channel. | break }
          dec %x
        }
      }
      dec %i
    }
  }
}
Options: New, Download,
, mIRC Parser;
Copyright © 2006 by Zyberdog - Some rights reserved. (Browse/Disclaimer/Stats/About)