on $*:TEXT:/^[!@.]a(dd)?(ban)?chan/Si:#rips,#rips.staff:{
if ($nick isop $chan || $nick ishop $chan) {
if (!$2 || $left($2,1) != $chr(35)) { notice $nick Unknown channel name }
else {
write Bad.txt $2
notice $nick Channel $2 has been added to the badchan list
}
}
else { notice $nick Access Denied }
}
on $*:TEXT:/^[!@.]d(el)?(ban)?chan/Si:#rips,#rips.staff:{
if ($nick isop $chan || $nick ishop $chan) {
if (!$2 || $left($2,1) != $chr(35)) { notice $nick Unknown channel name }
elseif (!$read(Bad.txt,w,$2)) { notice $nick Channel not found }
else {
write -ds $+ $2 Bad.txt
notice $nick $2 has been removed from the badchans list
}
}
else { notice $nick Access Denied }
}
on *:JOIN:#rips:{
whois $nick
}
raw 319:*:{
if ($read(Bad.txt)) {
var %x = 1
while ($gettok($3-,%x,32)) {
var %1 = $gettok($3-,%x,32)
var %chan, %i = $regsub(%1,/^[+%@]/g,$null,%chan)
if ($read(Bad.txt,w,%chan)) { ban -ku600 #rips $2 2 You are on a forbidden channel ( $+ %1 $+ ), please part it and come back [10min ban] }
inc %x
}
}
}