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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
|
; GBan.msl by teppuli & AndRew @ QuakeNet
; ------------------------------------------------
; Aliases (Dont touch!):
alias -l encodeCodes {
return $replace($1,$chr(3),????c????,$chr(2),????b????,$chr(31),????u????)
}
alias -l decodeCodes {
return $replace($1,????c????,$chr(3),????b????,$chr(2),????u????,$chr(31))
}
; Script (Again, dont touch!)
on *:text:-gb:#:{
if ($istok(admin master,$acces($nick,$chan),32)) {
.notice $nick %chanlevskin Usage: $1 add/list/del/status/on/off/kickskin %chanlevskin
}
}
on *:text:-gb *:#:{
if ($istok(admin master,$acces($nick,$chan),32)) {
if ($2 == help) { .notice $nick %chanlevskin Usage: $1 add/list/del/status/on/off/kickskin %chanlevskin | halt }
if ($2 == status) { .notice $nick %chanlevskin Global blacklist status: $+ $iif($readini(hagban.ini,SETUP_ $+ global,status),$readini(hagban.ini,SETUP_ $+ global,status),OFF) $+ %chanlevskin | halt }
if ($2 == add) {
if (!$4) { .notice $nick %chanlevskin Usage: $1-2 <#auth/hostname> <reason> %chanlevskin | halt }
if (#* iswm $3) {
writeini hagban.ini global $3 $4-
.notice $nick %chanlevskin Done. %chanlevskin Added auth $+(',$3,') to Global blacklist with reason $+(',$4-,') %chanlevskin
halt
}
if (*!*@* iswm $3) {
writeini hagban.ini global $3 $4-
.notice $nick %chanlevskin Done. %chanlevskin Added hostname $+(',$3,') to Global blacklist with reason $+(',$4-,') %chanlevskin
halt
} else {
.notice $nick %chanlevskin Error! %chanlevskin Invalid host format. Usage: $1-2 <#auth/hostname> <reason> %chanlevskin
}
halt
}
if ($2 == del) {
if (!$3) { .notice $nick %chanlevskin Usage: $1-2 <#auth/hostname> %chanlevskin | halt }
if (#* iswm $3) {
remini hagban.ini global $3
.notice $nick %chanlevskin Done. %chanlevskin Remove auth $+(',$3,') from Global blacklist %chanlevskin
halt
}
if (*!*@* iswm $3) {
remini hagban.ini global $3
.notice $nick %chanlevskin Done. %chanlevskin Removed hostname $+(',$3,') from Global blacklist %chanlevskin
halt
} else {
.notice $nick %chanlevskin Error! %chanlevskin Invalid host format. Usage: $1-2 <#auth/hostname> <reason> %chanlevskin
}
halt
}
if ($2 == on) {
writeini hagban.ini SETUP_ $+ global status ON
.notice $nick %chanlevskin Done. %chanlevskin Changed status to ON. %chanlevskin
halt
}
if ($2 == kickskin) {
if ($3 != set) { .notice $nick %chanlevskin Current kickskin: $iif($decodeCodes($readini(hagban.ini,SETUP_global,kickskin)),$decodeCodes($readini(hagban.ini,SETUP_global,kickskin)),Not set) | .notice $nick %chanlevskin Setting new skin: $1-2 set <new skin> %chanlevskin | .notice $nick %chanlevskin You can use following variables: :id: :hostorauth: :type: :reason: %chanlevskin | halt }
if (!$4) { .notice $nick %chanlevskin Setting new skin: $1-2 set <new skin> %chanlevskin | .notice $nick %chanlevskin You can use following variables: :id: :hostorauth: :type: :reason: %chanlevskin | halt }
writeini hagban.ini SETUP_ $+ global kickskin $encodeCodes($4-)
.notice $nick %chanlevskin Done. %chanlevskin Skin changed! %chanlevskin
halt
}
if ($2 == list) {
var %i = 1
while (%i <= $ini(hagban.ini,global,0)) {
var %auth = $ini(hagban.ini,global,%i)
var %reason = $readini(hagban.ini,global,$ini(hagban.ini,global,%i))
if (#* iswm %auth) {
var %auths = $addtok(%auths, $+ %auth $+ ( $+ %reason $+ ) $+ $chr(44),32)
}
if (*!*@* iswm %auth) {
var %hosts = $addtok(%hosts, $+ %auth $+ ( $+ %reason $+ ) $+ $chr(44),32) }
inc %i
}
.notice $nick Auths: $iif(%auths,%auths,No Entries!)
.notice $nick Hosts: $iif(%hosts,%hosts,No Entries!)
halt
}
if ($2 == off) {
writeini hagban.ini SETUP_ $+ global status OFF
.notice $nick %chanlevskin Done. %chanlevskin Changed status to OFF. %chanlevskin
halt
}
if ($2 == version) { .notice $nick %chanlevskin Gban.msl v0.2 by teppuli & AndRew %chanlevskin | halt }
notice $nick %chanlevskin Usage: $1 add/list/del %chanlevskin
}
}
raw 354:& 465 & *: {
echo -ag $1-
var %auth = $4
if (!%authban_ [ $+ [ $3 ] ]) { halt }
var %chan = %authban_ [ $+ [ $3 ] ]
var %i = 1
while (%i <= $ini(hagban.ini,global,0)) {
if ($right($ini(hagban.ini,global,%i),$calc($len($ini(hagban.ini,global,%i)) - 1)) == %auth) {
var %host = $address($3,2)
var %useskin = 0,1 12,1›15›15‹12‹ Your: :type: ( $+ :hostorauth: $+ ) is globally banned with reason: :reason: 12,1›15›15‹12‹
if ($decodeCodes($readini(hagban.ini,SETUP_global,kickskin)) != $null) { var %useskin = $decodeCodes($readini(hagban.ini,SETUP_global,kickskin)) }
inc %gkickid
.kick %chan $3 $replace(%useskin,:hostorauth:,%auth,:type:,auth,:reason:,$readini(hagban.ini,global,$ini(hagban.ini,global,%i)),:time:,$time,:id:,%gkickid)
.mode %chan +b %host
timer 1 600 mode %chan -b %host
unset %authban_ [ $+ [ $3 ] ]
halt
}
inc %i
}
}
on *:join:#:{
if ($readini(hagban.ini,SETUP_ $+ global,status) != ON) { halt }
.kick %chan $3 0,1 12,1›15›15‹12‹ Your auth ( $+ %auth $+ ) is globally banned with reason: $readini(hagban.ini,global,$ini(hagban.ini,global,%i)) 12,1›15›15‹12‹
var %i = 1
while (%i <= $ini(hagban.ini,global,0)) {
if ($ini(hagban.ini,global,%i) iswm $address($nick,5)) {
var %host = $address($nick,2)
var %useskin = 0,1 12,1›15›15‹12‹ Your: :type: ( $+ :hostorauth: $+ ) is globally banned with reason: :reason: 12,1›15›15‹12‹
if ($decodeCodes($readini(hagban.ini,SETUP_global,kickskin)) != $null) { var %useskin = $decodeCodes($readini(hagban.ini,SETUP_global,kickskin)) }
inc %gkickid
.kick $chan $nick $replace(%useskin,:hostorauth:,$fulladdress,:type:,hostname,:reason:,$readini(hagban.ini,global,$ini(hagban.ini,global,%i)),:time:,$time,:id:,%gkickid)
.mode $chan +b %host
timer 1 600 mode $chan -b %host
halt
}
inc %i
}
if (*!*@*.users.quakenet.org iswm $address($nick,5)) && ($network == QuakeNet) {
var %i = 1
var %auth = $gettok($site,1,$asc(.))
while (%i <= $ini(hagban.ini,global,0)) {
if ($right($ini(hagban.ini,global,%i),$calc($len($ini(hagban.ini,global,%i)) - 1)) == %auth) {
var %host = $address($nick,2)
var %useskin = 0,1 12,1›15›15‹12‹ Your: :type: ( $+ :hostorauth: $+ ) is globally banned with reason: :reason: 12,1›15›15‹12‹
if ($decodeCodes($readini(hagban.ini,SETUP_global,kickskin)) != $null) { var %useskin = $decodeCodes($readini(hagban.ini,SETUP_global,kickskin)) }
inc %gkickid
.kick $chan $nick $replace(%useskin,:hostorauth:,%auth,:type:,auth,:reason:,$readini(hagban.ini,global,$ini(hagban.ini,global,%i)),:time:,$time,:id:,%gkickid)
.mode $chan +b %host
timer 1 600 mode $chan -b %host
unset %authban_ [ $+ [ $3 ] ]
halt
}
inc %i
}
set -u10 %authban_ [ $+ [ $nick ] ] $chan
who $nick n%nat,465
} |