dialog 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 }