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
|
; AUTH SYSTEM
; BILLY HOWARD
;ON START
on *:start:{
.timerschanallchansforauth 0 240 /scanall
}
;STUFF TODO ON CONNECT
on *:connect:{
if ($network == QuakeNet) {
mkhsh
if ($hget(auths)) hfree auths
if ($exists(auths.hsh)) !hload auths auths.hsh
}
}
;JOIN STUFF
on !*:join:#: {
if ($nick == $me) {
mkhsh
!who $chan n%na
}
elseif ($nick !== $me) && ($auth($nick) == 0) {
mkhsh
!who $nick n%na
}
}
;ALIASES
alias mkhsh if (!$hget(auths)) !hmake auths 1000
alias auth_check {
if ($hget(auths,$iif($address($1,1),$ifmatch,$1))) !return $ifmatch
else !return 0
}
alias auth {
if ($chr(35) isin $1) {
set %a
return $remove($1,$chr(35))
}
elseif ($chr(35) !isin $1) {
return $auth_check($1)
}
}
;RAW'S
raw 366:*: { mkhsh | who $2 | who $2 nd%na }
raw 354:*:if ($3) && ($address($2,1)) { !hadd auths $v1 $3 | !hsave auths auths.hsh }
;ON TEXT TEST
on *:text:!auth*:#:{
notice $nick $2 $+ 's auth: $auth($2)
}
alias scanall {
var %i = $chan(0)
while (%i) {
!.timer 1 $calc(%i * 5) who $chan(%i) n%na
dec %i
}
!.timer 1 $calc(%i * 5) echo -a omg, all channels have been teh zcanned LOL!
}
|