rendered paste bodydialog cm {
title "ChanServ Channel Manager"
size -1 -1 194 182
option dbu
box "Access", 1, 1 18 192 141
text "Channel Name:", 2, 24 5 37 8
edit "", 3, 64 4 50 10, autohs
box "NickList", 4, 5 27 71 126
text "Access Level:", 5, 82 41 33 8
text "Entry #:", 6, 82 51 21 8
button "Check Activity", 7, 110 121 45 12
text "Idle Time:", 8, 82 83 24 8
text "Last Seen:", 9, 82 93 26 8
text "Last Quit:", 10, 82 103 24 8
button "Add/Edit User", 11, 79 67 37 12
button "Del User", 12, 153 67 37 12
text "Nickname:", 14, 82 31 25 8
list 15, 7 34 67 105, size
edit "", 16, 115 40 70 10, autohs
edit "", 17, 115 50 70 10, autohs
edit "", 18, 115 30 70 10, autohs
edit "", 19, 115 82 70 10, autohs
edit "", 20, 115 92 70 10, autohs
edit "", 21, 115 102 70 10, autohs
button "Check", 22, 119 3 37 12
button "Done", 23, 1 169 191 12, flat ok
text "Access Level", 13, 6 141 31 8
edit "", 24, 40 140 30 10
edit "Awaiting User Input...", 25, 1 159 191 10, disable center
}
on *:DIALOG:cm:edit:24: {
if ($did($dname,24) !isnum || !$did($dname,24)) { halt }
.did -r $dname 15
var %a = 1
while (%a <= $hfind(cm,$+(*,$chr(124),$did($dname,24)),0,w).data) {
.did -a $dname 15 $hfind(cm,$+(*,$chr(124),$did($dname,24)),%a,w).data
inc %a
}
}
menu channel {
Channel Manager:/dialog -md cm cm
}
on *:DIALOG:cm:sclick:*: {
if ($did == 22 && $did($dname,3)) {
.did -ra $dname 25 Fetching $did($dname,3) Access List...
.did -r $dname 15
.enable #cm
if ($hget(cm,1).item) { .hfree cm }
.cs access $did($dname,3) list
}
if ($did == 15 && $did($dname,15).seltext) {
.did -ra $dname 18 $did($dname,15).seltext
.did -ra $dname 16 $gettok($hget(cm,$did($dname,15).seltext),2,124)
.did -ra $dname 17 $gettok($hget(cm,$did($dname,15).seltext),1,124)
.did -r $dname 19,20,21
}
if ($did == 12 && $did($dname,15).seltext && $did($dname,3)) {
.write ChannelManager.log DEL - TIME $fulldate - CHAN $did($dname,3) - NICK $did($dname,15).seltext - ACCESS $did($dname,16)
.cs access $did($dname,3) del $did($dname,15).seltext
.did -d $dname 15 $did($dname,15).sel
}
if ($did == 11 && $did($dname,3)) {
if ($did($dname,16) && $did($dname,18)) {
.write ChannelManager.log ADD - TIME $fulldate - CHAN $did($dname,3) - NICK $did($dname,18) - ACCESS $did($dname,16)
.cs access $did($dname,3) add $did($dname,18) $did($dname,16)
}
}
if ($did == 7 && $did($dname,18)) {
.did -ra cm 25 Performing Whois on $did($dname,18)
.enable #nm
.whois $did($dname,18) $did($dname,18)
}
}
on *:DIALOG:cm:close:0: {
.disable #cm #nm
}
#cm off
on ^*:NOTICE:*:?: {
if ($nick != ChanServ) { halt }
if ($1- == Access denied.) { .did -ra cm 25 Access Denied When looking up $did(cm,3) $+ 's Access List | .disable #cm }
if ($1 isnum) { .hadd -m cm $3 $+($1,$chr(124),$2) | .did -a cm 15 $3 }
if (End of access list. == $1-) { .did -ra cm 25 Access List Cached! | .disable #cm }
haltdef
}
#cm end
#nm off
on ^*:NOTICE:*:?: {
if ($nick != NickServ) { halt }
haltdef
if (* is * iswm $1- && $0 == 3) { if ($1 != $3) { .set %cm_unset $3 } }
if (*nick*isn't* iswm $1-) { .did -ra cm 20 Unknown | .did -ra cm 21 Unknown | .did -ra cm 25 Nickname Not Registered... | .disable #nm }
if (*verbose* iswm $1- && %cm_unset == $null) { .did -ra cm 25 Ready! | .disable #nm }
if (*verbose* iswm $1- && %cm_unset != $null) { .did -ra cm 25 Following Nickgroup to %cm_unset | .ns info %cm_unset | .unset %cm_unset }
if (*quit message:* iswm $1-) { .did -ra cm 21 $4- }
if (*last seen* iswm $1-) { .did -ra cm 20 $4- }
}
raw *:*: {
if ($numeric == 317) { .did -ra cm 19 $duration($2) }
if ($numeric == 318) { .did -ra cm 25 User Found; Fetching NickServ Info for $did(cm,18) | .ns info $did(cm,18) }
if ($numeric == 402) { .did -ra cm 25 User Offline; Looking up NickServ Info for $did(cm,18) | .did -ra cm 19 Not online | .ns info $did(cm,18) }
halt
}