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
|
on *:TEXT:$($me access $+ *):#: {
tokenize 32 $2-
if (!$auth($nick)) || ($auth($nick) == 0) { /scanall | sleep 2000 }
if ($auth($nick) == 0) { notice $nick $noauth | halt }
if ((n !isincs $gflags($nick)) && (m !isincs $gflags($nick)) && (o !isincs $gflags($nick)) && (h !isincs $gflags($nick)) && (m !isincs $cflags($chan,$nick)) && (n !isincs $cflags($chan,$nick))) { notice $nick $noacc($1) | halt }
if (!$cflags($chan,$2)) { notice $nick User: $2 is not known on the current channel ( $+ $chan $+ ) - if you wish to add him/her - use: $me access $2 +/- flags | halt }
if (($chr(43) !isin $3) && ($chr(45) !isin $3)) { notice $nick Invalid flags. You must use $me access $2 +/- flags - valid flags are: n m o v k p b a | halt }
var %i | while ($mid($3,%i)) { if ($v1 !isincs nmovkpb) { notice $nick Invalid flags. You must use $me access $2 +/- flags - valid flags are: n m o v k p b | halt } | inc %i }
if ($chr(43) isin $3) {
var %x = $cflags($chan,$2)
if ($remove($3,$chr(43)) isincs %x) { notice $nick User: $2 already has that flag! $2 $+ 's flags: $remove($sorttok($regsubex($cflags($chan,$2),/(.)/g,\1 $+ $chr(1)),1),$chr(1)) | halt }
var %x2 = $eval($cflags($chan,$2) $+ $remove($3,$chr(43)),2)
hdel -w cflags $+($chan,.,$auth($2))
hadd -m cflags $+($chan,.,$auth($2)) %x2
notice $nick Done. Flags updated for $2 $+ . Flags for user: $2 are now: $remove($sorttok($regsubex($cflags($chan,$2),/(.)/g,\1 $+ $chr(1)),1),$chr(1))
}
if ($chr(45) isin $3) {
if ($remove($3,$chr(45)) !isincs %x) { notice $nick User: $2 does not have that flag! $2 $+ 's flags: $remove($sorttok($regsubex($cflags($chan,$2),/(.)/g,\1 $+ $chr(1)),1),$chr(1)) | halt }
hdel -w cflags $+($chan,.,$auth($2))
hadd cflags $+($chan,.,$auth($2)) $gettok($ttest($hget(cflags $+($chan,.,$auth($2)) $3-),1,32)
echo hadd cflags $+($chan,.,$auth($2)) $gettok($ttest($hget(cflags $+($chan,.,$auth($2)) $3-),1,32)
notice $nick Done. Flags updated for $2 $+ . Flags for user: $2 are now: $remove($sorttok($regsubex($cflags($chan,$2),/(.)/g,\1 $+ $chr(1)),1),$chr(1))
}
}
|