MIRC 117
IRCOP-Tool 0.7 By masterzwerg on 6th May 2023 12:48:08 AM
  1. ; ========================================
  2. ; ========================================
  3. ;
  4. ; IrcOp Tools V 0.C.7
  5. ; Lines: 2231
  6. ; Coded By PuNkTuReD
  7. ; Last updated: 28/12/2010
  8. ;
  9. ; ========================================
  10. ; ========================================
  11.  
  12. ; ========================================
  13. ; ========================================
  14. ; REQUIRES:
  15. ;   Anope Modules:
  16. ;     svsnick - URL (Should come with Anope)
  17. ;     notinchan - URL (unsure if this is correct, my apolagies)
  18. ;                 http://modules.anope.org/index.php?page=view&id=18
  19. ;
  20. ; NOTES:
  21. ;   Forbiden/No-Expire lists will only list the
  22. ;     maximum /list amount which is defined in Anope.
  23. ;   WallOps messages do not currently get logged.
  24. ; ========================================
  25. ; ========================================
  26.  
  27. ; ========================================
  28. ; ========================================
  29. ; INCLUDES:
  30. ;
  31. ; /ircoptools (ALIAS)
  32. ;    This alias will provide you with limited help and commands.
  33. ; Oper LogIn (DIALOG)
  34. ;    This is a dialog which you can use to save and/or edit
  35. ;    your oper login information.
  36. ; HostServ Interface (DIALOG)
  37. ;    This is a dialog which you can use to activate/reject
  38. ;    waiting vHosts, or delete existing ones.
  39. ; BotServ Interface (DIALOG)
  40. ;    With this dialog you can create or delete Botserv bots,
  41. ;    you can also assign or aunassign bots to channels.
  42. ; Spamfilter Interface (DIALOG)
  43. ;    This is a dialog which will allow you to add items to your
  44. ;    spamfilter. You may also delete the items you have added.
  45. ;    NOTE: You may not delete spamfilter entry(s) which are in
  46. ;    your unrealircd conf file with this dialog.
  47. ; Defcon Interface (DIALOG)
  48. ;    This is a dialog which you can use to control Defcon settings.
  49. ; News Interface (DIALOG)
  50. ;    This is a dialog which will allow you to view,del,add to operserv's
  51. ;    logon, oper and random news lists.
  52. ; Global Interface (DIALOG)
  53. ;    This is a dialog which will allow you to save Global Messages
  54. ;    Which you send frequently, so that you will not have to type them
  55. ;    over and over each time.
  56. ; IrcOp Chat Interface (DIALOG)
  57. ;    This dialog will store Global, LocOps, ChatOps, AdminChat, NetAdmin.Chat messages.
  58. ;    and reply accordingly.
  59. ; OperServ Access List (DIALOG)
  60. ;    This is a dialog which will allow you to manipulate the operserv
  61. ;    Admin and Oper lists.
  62. ; OperServ Exception (DIALOG)
  63. ;    This will enable you to Add and Delete users from the OperServ
  64. ;    Session Limit Exception list.
  65. ; OperServ Modules List (DIALOG)
  66. ;    This is a dialog which will allow you to Load and UnLoad
  67. ;    OperServ modules.
  68. ; Servers List (DIALOG)
  69. ;    This is a dialog which will allow you to
  70. ;    view/kill and restart connected servers.
  71. ; Forbidden List (DIALOG)
  72. ;    This is a dialog which will allow you to easily add/del
  73. ;    Channels and Nicks from their respective Forbidden list.
  74. ;    Note: This will only list the amount you have set via Anope.
  75. ; NoExpire List (DIALOG)
  76. ;    This is a dialog which will allow you to easily add/del
  77. ;    Channels and Nicks from their respective NoExpire list.
  78. ; Lines list (DIALOG)
  79. ;    This is a dialog which you can use to view existing:
  80. ;    SGLINE SQLINE SZLINE AKILL GLINE KLINE GZLINE lists.
  81. ;    Also Add or Del accordingly.
  82. ; List Users (DIALOG)
  83. ;    Not In Chan List
  84. ;      This dialog NEEDS the Anope module os_notinchanlist.
  85. ;      It will list all users who are not in a channel,
  86. ;      With the options to SaJoin/SaPart/Kill/Shun/G:Line.
  87. ;    +B Users
  88. ;      This is a dialog which will list all +B (BOT) Users on the network.
  89. ;      With the options to SaJoin/SaPart/Kill/Shun/G:Line.
  90. ;    Global Users
  91. ;      This is a dialog which will list all Users on the network.
  92. ;      With the options to SaJoin/SaPart/Kill/Shun/G:Line.
  93. ; Change User Data (DIALOG)
  94. ;    This is a dialog which will allow you to change a users:
  95. ;    Nick/Ident/Host/Name
  96. ; Server Admin Command (MENU)
  97. ;    This menu has almost everything you will need for being an IrcOp.
  98. ; Services Commands (MENU)
  99. ;    This menu is apart of the above menu and has all the
  100. ;    commands for OperServ/ChanServ/NickServ/BotServ/HostServ.
  101. ; Services Commands Help (MENU)
  102. ;    This menu will allow you to easily display a command
  103. ;    syntax to a channel or user.
  104. ;
  105. ; ========================================
  106. ; ========================================
  107.  
  108. ; ========================================
  109. ; ========================================
  110. ;
  111. ; NOTE:
  112. ; This was made for unreal and anope...
  113. ; I have not done work on this for over 6 months,
  114. ; so it may have some bugs with newer version than what
  115. ; this was tested on.
  116. ;
  117. ; Some features may need certain settings to be set,
  118. ; before they function correctly...
  119. ;
  120. ; Oh, I have also included a menu system which i did post here ages ago,
  121. ; which i made when i first started scripting,
  122. ; with help from the one and only PnPlus... lmao...
  123. ;
  124. ; Any comments/suggestions/bugs are welcome...
  125. ; but it should be noted that i may not be able to fix all
  126. ; bugs as i do not use mirc or admin any servers anymore...
  127. ;
  128. ; If ya rip, please leave some credits... thanks...
  129. ;
  130. ; THANKS:
  131. ; To cheiron for being my test guinea pig...
  132. ; would not have gotten this far without ya mate...
  133. ;
  134. ; Hammy for the radio wars...
  135. ; *Wheres that damn ham-sandwich*
  136. ;
  137. ; GrimReaper for the hyper monster filled nights...
  138. ; *MONSTERRRRR*
  139. ;
  140. ; ========================================
  141. ; ========================================
  142.  
  143. ; ========================================
  144. ; ON LOAD
  145. ; ========================================
  146. on *:load: {
  147.   write ircopchat.txt
  148.   write tempvhost.txt
  149. }
  150. ; ========================================
  151. ; ON LOAD
  152. ; ========================================
  153.  
  154. ; ========================================
  155. ; MENU SYSTEM
  156. ; ========================================
  157. menu status,menubar,channel,nicklist,query {
  158.   IrcOpTools
  159.   . Oper Login: dialog $iif($dialog(operlogin),-v,-dm operlogin) operlogin
  160.   .-
  161.   . Interfaces
  162.   .. HostServ Interface: dialog $iif($dialog(hostserv),-v,-dm hostserv) hostserv
  163.   .. BotServ Interface: dialog $iif($dialog(BotServ),-v,-dm botserv) botserv
  164.   .. Spamfilter Interface: dialog $iif($dialog(spamfilter),-v,-dm spamfilter) spamfilter
  165.   .. Defcon Interface: dialog $iif($dialog(defcon),-v,-dm defcon) defcon
  166.   .. News Interface: dialog $iif($dialog(news),-v,-dm news) news
  167.   .. Global Interface: dialog $iif($dialog(global),-v,-dm global) global
  168.   .. IrcOp Chat Interface: dialog $iif($dialog(ircopchat),-v,-dm ircopchat) ircopchat
  169.   . Lists
  170.   .. OperServ Access List: dialog $iif($dialog(osaccess),-v,-dm osaccess) osaccess
  171.   .. OperServ Exception List: dialog $iif($dialog(os_except),-v,-dm os_except) os_except
  172.   .. OperServ Modules List: dialog $iif($dialog(modules),-v,-dm modules) modules
  173.   .. Servers List: dialog $iif($dialog(servers),-v,-dm servers) servers
  174.   .. Forbidden List: dialog $iif($dialog(forbidden_list),-v,-dm forbidden_list) forbidden_list
  175.   .. NoExpire List: dialog $iif($dialog(noexpire_list),-v,-dm noexpire_list) noexpire_list
  176.   .. Lines List: dialog $iif($dialog(lines),-v,-dm lines) lines
  177.   .. Users List: dialog $iif($dialog(listuserdata),-v,-dm listuserdata) listuserdata
  178.   . Others
  179.   .. Change User Data: dialog $iif($dialog(chguserdata),-v,-dm chguserdata) chguserdata
  180. }
  181. ; ========================================
  182. ; END MENU SYSTEM
  183. ; ========================================
  184.  
  185. ; ========================================
  186. ; IRCOPTOOLS ALIAS
  187. ; ========================================
  188. alias ircoptools {
  189.   if ($1 == reset) {  
  190.     echo -a * Checking and resetting necessary Groups now...
  191.     var %groups_effected = 0
  192.     var %groups = #hostserv #botserv #spamfilter #defconcheck #news #osaccess #os_exception #modules #serversmap #forbid #lines #listglobal #listidle #listbots #chguser
  193.     var %groups_tot = $numtok(%groups,32)
  194.     while (%groups_tot) {
  195.       if ($group($gettok(%groups,%groups_tot,32)) == on) { inc %groups_effected | echo -a * Disabling group $gettok(%groups,%groups_tot,32) | .disable $gettok(%groups,%groups_tot,32) | echo -a * Please report this Group to the scripts creator. }
  196.       dec %groups_tot
  197.     }
  198.     echo -a * %groups_effected Groups were effected.
  199.     unset %osviewing %kg_viewing %listuserview
  200.   }
  201.   elseif ($1 == help) {
  202.     if (!$2) {
  203.       echo -a * RESET - Resets all IrcOpTools groups to the Disabled position. (This command should never be needed)
  204.       echo -a You may request additional info on a command by typing /ircoptools help <command>
  205.     }
  206.     elseif ($2 == reset) {
  207.       echo -a * RESET - This command was added for debugging purposes, $&
  208.         all groups should disable automatically but if they don't you may use this command to disable all groups. $&
  209.         If you do happen to need this command please report it to the script creator with $&
  210.         info about what group needed Disabling.
  211.     }
  212.     else {
  213.       echo -a * /ircoptools: insufficient parameters
  214.       echo -a * Available parameters are: help, reset
  215.     }
  216.   }
  217.   else {
  218.     echo -a * /ircoptools: insufficient parameters
  219.     echo -a * Available parameters are: help, reset
  220.   }
  221. }
  222. ; ========================================
  223. ; END IRCOPTOOLS ALIAS
  224. ; ========================================
  225.  
  226. ; ========================================
  227. ; ON CONNECT
  228. ; ========================================
  229. on *:connect: {
  230.   if ($readini(operlogin.ini,$network,autologin) == 1) {
  231.     oper $readini(operlogin.ini,$network,username) $readini(operlogin.ini,$network,password)
  232.   }
  233. }
  234. ; ========================================
  235. ; END ON CONNECT
  236. ; ========================================
  237.  
  238. ; ========================================
  239. ; OPER LOGIN DIALOG
  240. ; ========================================
  241. dialog operlogin {
  242.   title Oper Login
  243.   size -1 -1 130 80
  244.   option dbu
  245.   box "", 1, 5 5 120 70
  246.   text "Saved Networks", 2, 10 10 50 10
  247.   combo 3, 10 20 50 10, drop, sort
  248.   text "Network:", 4, 70 10 50 10
  249.   edit "", 5, 70 20 50 10, autohs
  250.   text "Username:", 6, 10 35 50 10
  251.   edit "", 7, 10 45 50 10, autohs
  252.   text "Password:", 8, 70 35 50 10
  253.   edit "", 9, 70 45 50 10, autohs, pass
  254.   check "AutoLogIn", 10, 10 60 50 10
  255.   button "Save", 11, 70 60 50 10
  256. }
  257. on *:dialog:operlogin:*:*: {
  258.   var %a = $dname, %b = $devent, %c = $did
  259.   if (%b == init) { ol_loadnetworks }
  260.   elseif (%b == sclick) {
  261.     if (%c == 3) {
  262.       did -ra %a 5 $did(3)
  263.       did -ra %a 7 $readini(operlogin.ini,$did(3),username)
  264.       did -ra %a 9 $readini(operlogin.ini,$did(3),password)
  265.       if ($readini(operlogin.ini,$did(3),autologin) == 1) { did -c %a 10 }
  266.     }
  267.     elseif (%c == 11) {
  268.       if ($did(5)) && ($did(7)) && ($did(9)) {
  269.         writeini operlogin.ini $did(5) autologin $iif($did(10).state == 1,1,0)
  270.         writeini operlogin.ini $did(5) username $did(7)
  271.         writeini operlogin.ini $did(5) password $did(9)
  272.         did -r %a 3,7,9
  273.         ol_loadnetworks
  274.       }
  275.       else { noop $input(Please enter a Network, Username and Password.,uowd,ERROR,ERROR) }
  276.     }
  277.   }
  278. }
  279. alias ol_loadnetworks {
  280.   var %ol_tot = $ini(operlogin.ini,0)
  281.   while (%ol_tot) {
  282.     did -a operlogin 3 $ini(operlogin.ini,%ol_tot)
  283.     dec %ol_tot
  284.   }
  285. }
  286. ; ========================================
  287. ; END OPER LOGIN DIALOG
  288. ; ========================================
  289.  
  290. ; ========================================
  291. ; HOSTSERV INTERFACE DIALOG
  292. ; ========================================
  293. dialog hostserv {
  294.   title HostServ Interface
  295.   size -1 -1 200 125
  296.   option dbu
  297.   box "Listing 0 vHost Entry(s)", 1, 5 5 190 115
  298.   list 2, 10 15 180 90, hsbar, vsbar, sort
  299.   button "Activate", 3, 10 100 40 10
  300.   button "Reject", 4, 55 100 40 10
  301.   button "Delete", 5, 10 100 40 10
  302.   menu "Listing Option", 6
  303.   item "Waiting", 7, 6
  304.   item "Approved", 8, 6
  305.   item "Search", 9, 6
  306.   text "Enter Nick", 10, 10 95 80 10
  307.   edit "", 11, 10 105 80 10
  308.   button "Set", 12, 55 100 40 10
  309. }
  310. on *:dialog:hostserv:*:*: {
  311.   var %a = $dname, %b = $devent, %c = $did
  312.   if (%b == init) { set %hs_tot 0 | did -h %a 3,4,5,10-12 }
  313.   elseif (%b == menu) {
  314.     if (%c == 7) { hostservmenu 5,10-12 3,4 waiting }
  315.     elseif (%c == 8) { hostservmenu 3,4,10,11 5,12 list }
  316.     elseif (%c == 9) { hostservmenu 3,4,5,12 10,11 }
  317.   }
  318.   elseif (%b == sclick) {
  319.     if ($istok(3 4 5,%c,32)) {
  320.       $iif($did(2).seltext,hostservact $gettok($did(2).seltext,1,32) $did(%c) $iif($did(%c) == Delete,list,waiting),noop $input(Please select a vHost to $did(%c) $+ .,uowd,ERROR,ERROR))
  321.     }
  322.     elseif (%c == 12) {
  323.       .msg hostserv set $$?"Nick" $$?"Host"
  324.       did -a hostserv 1 Listing 0 vHost Entry(s)
  325.       set %hs_tot 0 | .enable #hostserv | .msg hostserv $$3
  326.     }
  327.   }
  328.   elseif (%b == edit) {
  329.     if (%c == 11) { _get.host.match $did(11) }
  330.   }
  331. }
  332. alias _get.host.match {
  333.   did -r hostserv 2
  334.   write -c tempnicks.txt
  335.   var %a = $1, %b = $lines(tempvhost.txt)
  336.   while (%b) {
  337.     if (%a isin $read(tempvhost.txt,%b)) { write tempnicks.txt $v2 }
  338.     dec %b
  339.   }
  340.   _fill.list
  341. }
  342. alias _fill.list {
  343.   var %a = $lines(tempnicks.txt)
  344.   while (%a) { did -a hostserv 2 $read(tempnicks.txt,%a) | dec %a }
  345. }
  346. alias hostservact {
  347.   var %hostservact = $iif($$2 == Delete,del,$$2)
  348.   .msg hostserv %hostservact $$1 | did -r hostserv 1,2
  349.   did -a hostserv 1 Listing 0 vHost Entry(s)
  350.   set %hs_tot 0 | .enable #hostserv | .msg hostserv $$3
  351. }
  352. alias hostservmenu {
  353.   did -r hostserv 2 | did -a hostserv 1 Listing 0 vHost Entry(s)
  354.   set %hs_tot 0 | did -h hostserv $$1 | did -v hostserv $$2
  355.   if ($3) {
  356.     write -c tempvhost.txt
  357.     .enable #hostserv
  358.     .msg hostserv $$3
  359.   }
  360.   else {
  361.     if ($lines(tempvhost.txt) == 0) { noop $input(Please select "Approved" from the list before trying to search.,uowd,ERROR,ERROR) }
  362.     else { write -c tempnicks.txt }
  363.   }
  364. }
  365. alias hostservnone { noop $input(There are no vHost requests pending.,uowd,ERROR,ERROR) }
  366. alias hostserverror { noop $input($strip($1-),uowd,ERROR,ERROR) }
  367. #hostserv off
  368. on ^*:notice:*:*: {
  369.   if ($nick == HostServ) && ($dialog(hostserv)) {
  370.     if (not found in the nickserv db. isin $1-) { .timer 1 2 hostserverror $1- }
  371.     if (Displayed all records isin $1-) {
  372.       if (%hs_tot == 0) { .timer 1 2 hostservnone }
  373.       unset %hs_* | .disable #hostserv
  374.     }
  375.     elseif ($left($1,1) == $chr(35)) {
  376.       inc %hs_tot | did -ra hostserv 1 Listing %hs_tot vHost Entry(s)
  377.       did -a hostserv 2 $remove($strip($2-3),Nick:,vhost:,$chr(44))
  378.       write tempvhost.txt $remove($strip($2-3),Nick:,vhost:,$chr(44))
  379.       did -z hostserv 2
  380.     }
  381.     haltdef
  382.   }
  383.   else { .disable #hostserv | unset %hs_* }
  384. }
  385. #hostserv end
  386. ; ========================================
  387. ; END HOSTSERV INTERFACE DIALOG
  388. ; ========================================
  389.  
  390. ; ========================================
  391. ; BOTSERV INTERFACE DIALOG
  392. ; ========================================
  393. dialog botserv {
  394.   title BotServ Interface
  395.   size -1 -1 290 135
  396.   option dbu
  397.   box "Listing 0 Entry(s)", 1, 5 5 90 125
  398.   list 2, 10 15 80 90, hsbar, vsbar, sort
  399.   box "", 3, 100 5 90 125
  400.   text "Nick", 4, 105 15 50 10
  401.   edit "", 5, 105 25 80 10, autohs
  402.   text "User", 6, 105 35 50 10
  403.   edit "", 7, 105 45 80 10, autohs
  404.   text "Host", 8, 105 55 50 10
  405.   edit "", 9, 105 65 80 10, autohs
  406.   text "Real", 10, 105 75 50 10
  407.   edit "", 11, 105 85 80 10, autohs
  408.   button "Create", 12, 105 110 80 10
  409.   button "Delete", 13, 10 110 80 10
  410.   box "Listing 0 Entry(s)", 14, 195 5 90 125
  411.   list 15, 200 15 80 90, hsbar, vsbar, sort
  412.   button "Assign", 16, 200 110 40 10
  413.   button  "Unassign", 17, 240 110 40 10
  414. }
  415. on *:dialog:botserv:*:*: {
  416.   var %a = $dname, %b = $devent, %c = $did
  417.   if (%b == init) { set %bs_tot 0 | .enable #botserv | .botserv botlist }
  418.   if (%b == sclick) {
  419.     if (%c == 12) {
  420.       $iif($did(5),set %bs_nick $did(5),noop $input(Please enter a Nick.,uowd,ERROR,ERROR))
  421.       $iif($did(7),set %bs_user $did(7),noop $input(Please enter a User.,uowd,ERROR,ERROR))
  422.       $iif($did(9),set %bs_host $did(9),noop $input(Please enter a Host.,uowd,ERROR,ERROR))
  423.       $iif($did(11),set %bs_real $did(11),noop $input(Please enter a Real.,uowd,ERROR,ERROR))
  424.       if (%bs_nick && %bs_user && %bs_host && %bs_real) {
  425.         msg botserv bot add %bs_nick %bs_user %bs_host %bs_real
  426.         unset %bs_* | did -r %a 2,5,7,9,11 | set %bs_tot 0 | .enable #botserv | .botserv botlist
  427.       }
  428.     }  
  429.     elseif (%c == 13) {
  430.       if ($did(2).seltext) {
  431.         msg botserv bot del $gettok($did(2).seltext,1,32)
  432.         did -r %a 2 | set %bs_tot 0 | .enable #botserv | .botserv botlist
  433.       }
  434.       else { noop $input(Please select a Bot to delete.,uowd,ERROR,ERROR) }
  435.     }
  436.     elseif (%c == 16) {
  437.       if ($did(15).seltext) && ($did(2).seltext) { .enable #botassign | .botserv $did(%c) $did(15).seltext $did(2).seltext }
  438.       else { noop $input(Please select a Bot and a Channel to Assign.,uowd,ERROR,ERROR) }
  439.     }
  440.     elseif (%c == 17) {
  441.       if ($did(15).seltext) { .enable #botassign | .botserv $did(%c) $did(15).seltext  }
  442.       else { noop $input(Please select a Channel to Unassign.,uowd,ERROR,ERROR) }
  443.     }
  444.   }
  445. }
  446. alias botserverror { noop $input($1-.,uowd,ERROR,ERROR) }
  447. #botserv off
  448. on ^*:notice:*:*: {
  449.   if ($nick == BotServ) && ($dialog(botserv)) {
  450.     if (Bot list: == $1-) || (Bots reserved to IRC operators: == $1-) || ($chr(33) isin $1) {  }
  451.     elseif (bots available. isin $1-) { .disable #botserv | unset %bs_tot | set %botchanlist_tot 0 | .enable #botchanlist | .list }
  452.     elseif (may only contain isin $1-) { .timer 1 2 botserverror $1- }
  453.     else { inc %bs_tot | did -ra botserv 1 Listing %bs_tot Entry(s) | did -a botserv 2 $1- | did -z botserv 2 }
  454.     haltdef
  455.   }
  456.   else { unset %bs_tot | .disable #botserv }
  457. }
  458. #botserv end
  459. #botchanlist off
  460. raw *:*: {
  461.   if ($dialog(botserv)) {
  462.     if ($numeric == 321) {  }
  463.     elseif ($numeric == 322) { inc %botchanlist_tot | did -a botserv 15 $2 | did -z botserv 15 }
  464.     elseif ($numeric == 323) {
  465.       window -c "Channels List" | dialog -v botserv
  466.       did -ra botserv 14 Listing %botchanlist_tot Entry(s)
  467.       unset %botchanlist_tot | .disable #botchanlist
  468.     }
  469.     haltdef
  470.   }
  471.   else { unset %botchanlist_tot | .disable #botchanlist }
  472. }
  473. #botchanlist end
  474. #botassign off
  475. on ^*:notice:*:*: {
  476.   if ($nick == BotServ) && ($dialog(botserv)) {
  477.     if (may not be registered or used. isin $1-) { .timer 1 2 botserverror $strip($1-) | .disable #botassign }
  478.     haltdef
  479.   }
  480.   else { .disable #botassign }
  481. }
  482. #botassign end
  483. ; ========================================
  484. ; END BOTSERV INTERFACE DIALOG
  485. ; ========================================
  486.  
  487. ; ========================================
  488. ; SPAMFILTER INTERFACE DIALOG
  489. ; ========================================
  490. dialog spamfilterhelp {
  491.   title Spamfilter Type Help
  492.   size -1 -1 80 125
  493.   option dbu
  494.   box "", 1, 5 5 70 115
  495.   text "c = Channel Message", 2, 10 15 80 10
  496.   text "p = Private Message", 3, 10 25 80 10
  497.   text "n = Private Notice", 4, 10 35 80 10
  498.   text "N = Channel Notice", 5, 10 45 80 10
  499.   text "P = Part Message", 6, 10 55 80 10
  500.   text "q = Quit Message", 7, 10 65 80 10
  501.   text "d = DCC", 8, 10 75 80 10
  502.   text "a = Away Message", 9, 10 85 80 10
  503.   text "t = Channel Topic", 10, 10 95 80 10
  504.   text "u = User", 11, 10 105 80 10
  505. }
  506.  
  507. dialog spamfilter {
  508.   title Spamfilter For $network
  509.   size -1 -1 200 285
  510.   option dbu
  511.   box "Listing 0 Entry(s)", 1, 5 5 190 105
  512.   list 2, 10 15 180 90, hsbar, vsbar, sort
  513.   box "Type", 3, 5 110 190 35
  514.   check "c", 4, 10 120 20 10
  515.   check "p", 5, 30 120 20 10
  516.   check "n", 6, 50 120 20 10
  517.   check "N", 7, 70 120 20 10
  518.   check "P", 8, 90 120 20 10
  519.   check "q", 9, 10 130 20 10
  520.   check "d", 10, 30 130 20 10
  521.   check "a", 11, 50 130 20 10
  522.   check "t", 12, 70 130 20 10
  523.   check "u", 13, 90 130 20 10
  524.   button "Help", 14, 160 125 30 10
  525.   box "Action", 15, 5 145 190 45
  526.   radio "Kill", 16, 10 155 30 10
  527.   radio "Tempshun", 17, 50 155 35 10
  528.   radio "Shun", 18, 90 155 30 10
  529.   radio "KLine", 19, 130 155 30 10
  530.   radio "GLine", 20, 10 165 30 10
  531.   radio "ZLine", 21, 50 165 30 10
  532.   radio "GZLine", 22, 90 165 30 10
  533.   radio "Block", 23, 130 165 30 10
  534.   radio "DCCBlock", 24, 10 175 30 10
  535.   radio "Viruschan", 25, 50 175 30 10
  536.   radio "Warn", 26, 90 175 30 10
  537.   box "Regex", 27, 5 190 190 25
  538.   edit "", 28, 10 200 180 10, autohs
  539.   box "TKL Time", 29, 5 215 190 25
  540.   edit "", 30, 10 225 30 10
  541.   check "Minutes", 31, 50 225 30 10
  542.   check "Days", 32, 80 225 30 10
  543.   check "Weeks", 33, 110 225 30 10
  544.   check "Perm", 34, 140 225 30 10
  545.   box "Reason", 35, 5 240 190 25
  546.   edit "", 36, 10 250 180 10, autohs
  547.   button "Add", 37, 10 270 80 10
  548.   button "Del", 38, 110 270 80 10
  549. }
  550. on *:dialog:spamfilter:*:*: {
  551.   var %a = $dname, %b = $devent, %c = $did
  552.   if (%b == init) { .enable #spamfilter | spamfilter }
  553.   elseif (%b == sclick) {
  554.     if (%c == 14) { dialog $iif($dialog(spamfilterhelp),-v,-dm spamfilterhelp) spamfilterhelp }
  555.     if (%c == 37) {
  556.       ; set type
  557.       if ($did(4).state == 1) { var %type = $did(4) }
  558.       if ($did(5).state == 1) { var %type = $iif(%type,$+(%type,$did(5)),$did(5)) }
  559.       if ($did(6).state == 1) { var %type = $iif(%type,$+(%type,$did(6)),$did(6)) }
  560.       if ($did(7).state == 1) { var %type = $iif(%type,$+(%type,$did(7)),$did(7)) }
  561.       if ($did(8).state == 1) { var %type = $iif(%type,$+(%type,$did(8)),$did(8)) }
  562.       if ($did(9).state == 1) { var %type = $iif(%type,$+(%type,$did(9)),$did(9)) }
  563.       if ($did(10).state == 1) { var %type = $iif(%type,$+(%type,$did(10)),$did(10)) }
  564.       if ($did(11).state == 1) { var %type = $iif(%type,$+(%type,$did(11)),$did(11)) }
  565.       if ($did(12).state == 1) { var %type = $iif(%type,$+(%type,$did(12)),$did(12)) }
  566.       if ($did(13).state == 1) { var %type = $iif(%type,$+(%type,$did(13)),$did(13)) }
  567.       if (!%type) { noop $input(Please select a Type.,uowd,ERROR,ERROR) | halt }
  568.       ; set action
  569.       if ($did(16).state == 1) { var %action = $did(16) }
  570.       if ($did(17).state == 1) { var %action = $did(17) }
  571.       if ($did(18).state == 1) { var %action = $did(18) }
  572.       if ($did(19).state == 1) { var %action = $did(19) }
  573.       if ($did(20).state == 1) { var %action = $did(20) }
  574.       if ($did(21).state == 1) { var %action = $did(21) }
  575.       if ($did(22).state == 1) { var %action = $did(22) }
  576.       if ($did(23).state == 1) { var %action = $did(23) }
  577.       if ($did(24).state == 1) { var %action = $did(24) }
  578.       if ($did(25).state == 1) { var %action = $did(25) }
  579.       if ($did(26).state == 1) { var %action = $did(26) }
  580.       if (!%action) { noop $input(Please select a Action.,uowd,ERROR,ERROR) | halt }
  581.       ; set regex
  582.       if ($did(28)) { var %regex = $did(28) }
  583.       if (!%regex) { noop $input(Please input your Regex.,uowd,ERROR,ERROR) | halt }
  584.       ; set tkltime
  585.       if ($istok(Kill Viruschan Warn Block DCC,%action,32)) { var %tkl = - | goto tklskip }
  586.       if ($did(30)) { var %tkl = $did(30) }
  587.       if (%tkl !isnum) { noop $input(TKLTime must only contain numbers.,uowd,ERROR,ERROR) | halt }
  588.       if ($did(31).state == 1) { var %tkl = $iif(%tkl,$+(%tkl,$did(31)),$did(31)) }
  589.       elseif ($did(32).state == 1) { var %tkl = $iif(%tkl,$+(%tkl,$did(32)),$did(32)) }
  590.       elseif ($did(33).state == 1) { var %tkl = $iif(%tkl,$+(%tkl,$did(33)),$did(33)) }
  591.       elseif ($did(34).state == 1) { var %tkl = $iif(%tkl,$+(%tkl,$did(34)),$did(34)) }
  592.       elseif (!%tkl) { noop $input(Please select a TKLTime.,uowd,ERROR,ERROR) | halt }
  593.       :tklskip
  594.       ; set regex
  595.       if ($did(36)) { var %reason = $replace($did(36),$chr(32),$chr(95)) }
  596.       if (!%reason) { noop $input(Please input your Reason.,uowd,ERROR,ERROR) | halt }
  597.       ; take action
  598.       spamfilter add %type %action %tkl %reason %regex
  599.       did -r spamfilter 2 | .enable #spamfilter | spamfilter
  600.     }
  601.     if (%c == 38) {
  602.       if ($did(2).seltext) {
  603.         if ($gettok($did(2).seltext,5,32) == $server) { noop $input(You may not delete this Spamfilter via command line. $crlf Please remove it directly from your IRCd conf file and rehash.,uowd,ERROR,ERROR) | halt }
  604.         else { spamfilter del $gettok($did(2).seltext,1-4,32) $gettok($did(2).seltext,6,32) | did -r spamfilter 2 | .enable #spamfilter | spamfilter }
  605.       }
  606.       else { noop $input(Please select a Spamfilter entry to remove.,uowd,ERROR,ERROR) }
  607.     }
  608.   }
  609. }
  610. #spamfilter off
  611. raw *:*: {
  612.   if ($dialog(spamfilter)) {
  613.     if ($numeric == 229) {
  614.       inc %spam_tot
  615.       did -ra spamfilter 1 Listing %spam_tot Entry(s)
  616.       did -a spamfilter 2 $3 $4 $7 $8 $9 $10- | did -z spamfilter 2
  617.     }
  618.     elseif ($numeric == 219) { unset %spam_tot | .disable #spamfilter }
  619.     haltdef
  620.   }
  621.   else { unset %spam_tot | .disable #spamfilter }
  622. }
  623. on ^*:snotice:*:*: {
  624.   ;echo 4 -s $1-
  625.   if (Use: == $1) { echo -a Debug: ERROR $1- }
  626. }
  627. #spamfilter end
  628. ; ========================================
  629. ; END SPAMFILTER INTERFACE DIALOG
  630. ; ========================================
  631.  
  632. ; ========================================
  633. ; DEFCON INTERFACE DIALOG
  634. ; ========================================
  635. dialog defcon {
  636.   title Defcon
  637.   size -1 -1 120 80
  638.   option dbu
  639.   box "Security level:", 6, 5 5 110 70
  640.   check "1. Maximum", 1, 10 15 50 10
  641.   check "2.", 2, 10 25 50 10
  642.   check "3. Medium", 3, 10 35 50 10
  643.   check "4.", 4, 10 45 50 10
  644.   check "5. Minimum", 5, 10 55 50 10
  645.   button "Apply Changes", 7, 60 35 50 10
  646. }
  647. on *:dialog:defcon:*:*: {
  648.   var %a = $dname, %b = $devent, %c = $did
  649.   if (%b == init) { .enable #defconcheck | .msg operserv defcon }
  650.   elseif (%b == sclick) {
  651.     if (%c == 7) {
  652.       var %aa = 5
  653.       while (%aa) {
  654.         if ($did(%aa).state == 1) { .msg operserv defcon %aa }
  655.         dec %aa
  656.       }    
  657.     }  
  658.     elseif ($istok(1 2 3 4 5,%c,32)) {  
  659.       var %aa = 5
  660.       while (%aa) {
  661.         if (%aa !== %c) && ($did(%aa).state == 1) { did -u %a %aa }
  662.         dec %aa
  663.       }
  664.     }
  665.   }
  666. }
  667. #defconcheck off
  668. on ^*:notice:*:*: {
  669.   if ($nick == OperServ) && ($dialog(defcon)) { did -c defcon $strip($6) | .disable #defconcheck }
  670.   else { .disable #defconcheck }
  671.   haltdef
  672. }
  673. #defconcheck end
  674. ; ========================================
  675. ; END DEFCON INTERFACE DIALOG
  676. ; ========================================
  677.  
  678. ; ========================================
  679. ; NEWS INTERFACE DIALOG
  680. ; ========================================
  681. dialog news {
  682.   title News Interface
  683.   size -1 -1 195 125
  684.   option dbu
  685.   box "Listing 0 Entry(s)", 1, 5 5 185 75
  686.   list 2, 10 15 175 50, hsbar, vsbar
  687.   box "", 3, 5 80 185 40
  688.   button "Remove", 4, 10 65 80 10
  689.   edit "", 6, 10 90 175 10, autohs
  690.   button "Create", 7, 10 105 80 10
  691.   menu "Listing Option", 8
  692.   item "Logon News", 9, 8
  693.   item "Oper News", 10, 8
  694.   item "Random News", 11, 8
  695.   button "Global", 12, 105 65 80 10
  696. }
  697. on *:dialog:news:*:*: {
  698.   var %a = $dname, %b = $devent, %c = $did
  699.   if (%b == sclick) {
  700.     if (%c == 4) {
  701.       if ($did(2).seltext) {
  702.         .msg operserv %news_viewing del $did(2).sel
  703.         .enable #news | did -r news 2 | did -ra news 1 Listing 0 Entry(s) | .msg operserv %news_viewing list
  704.       }
  705.       else { noop $input(Please input some news to be deleted.,uowd,ERROR,ERROR) }
  706.     }  
  707.     elseif (%c == 7) {
  708.       if (%news_viewing) {
  709.         if ($did(6)) {
  710.           .msg operserv %news_viewing add $did(6)
  711.           .enable #news | did -r news 2,6 | did -ra news 1 Listing 0 Entry(s) | .msg operserv %news_viewing list
  712.         }
  713.         else { noop $input(Please input some news to be added.,uowd,ERROR,ERROR) }
  714.       }
  715.       else { noop $input(Please select a News Type from the Listing Options first.,uowd,ERROR,ERROR) }
  716.     }
  717.     elseif (%c == 12) {
  718.       if ($did(2).seltext) { .msg operserv global $gettok($did(2).seltext,2-,41) }
  719.       else { noop $input(Please select a News item to Global.,uowd,ERROR,ERROR) }
  720.     }
  721.   }
  722.   elseif (%b == menu) {
  723.     .enable #news | did -r news 2 | did -ra news 1 Listing 0 Entry(s) | did -ra news 3 $+($did(%c),:)
  724.     set %news_viewing $remove($did(%c),$chr(32)) | .msg operserv %news_viewing list
  725.   }
  726.   elseif (%b == close) { unset %news_viewing }
  727. }
  728. alias newserror { noop $input($1-,uowd,ERROR,ERROR) }
  729. #news off
  730. on ^*:notice:*:*: {
  731.   if ($nick == OperServ) && ($dialog(news)) {
  732.     if ($1- == Random news items:) || (new isin $1-) && (news item isin $1-) {  }
  733.     elseif ($1- == End of News list.) { .disable #news }
  734.     elseif ($1-3 == There is no) { .timer 1 2 newserror $1- }
  735.     elseif ($1 isnum) { set -u2 %news_tot $1 | set -u2 %news_added $2- }
  736.     else { did -ra news 1 Listing %news_tot Entry(s) | did -a news 2 %news_added $1- | did -z news 2 }
  737.     haltdef
  738.   }
  739.   else { .disable #news }
  740. }
  741. #news end
  742. ; ========================================
  743. ; END NEWS INTERFACE DIALOG
  744. ; ========================================
  745.  
  746. ; ========================================
  747. ; GLOBAL INTERFACE DIALOG
  748. ; ========================================
  749. dialog global {
  750.   title Global Interface
  751.   size -1 -1 255 165
  752.   option dbu
  753.   box Listing $lines(saveglobal.txt) Entry(s), 1, 5 5 140 155
  754.   list 2, 10 15 130 90, hsbar, vsbar, sort
  755.   text "Global Message", 3, 10 105 130 10
  756.   edit "", 4, 10 115 130 10, autohs
  757.   button "Save", 5, 10 130 65 10
  758.   button "Delete", 6, 75 130 65 10
  759.   button "Send Global", 7, 10 145 130 10
  760.   box "Timed Globals", 8, 150 5 100 155
  761.   radio "15", 9, 160 25 20 10
  762.   radio "30", 10, 190 25 20 10
  763.   radio "45", 11, 160 40 20 10
  764.   radio "60", 12, 190 40 20 10
  765.   text "This will send the global 10 times, once every X minutes." 14, 155 60 90 20
  766.   button "Send Timed Global", 13, 155 145 90 10
  767. }
  768. on *:dialog:global:*:*: {
  769.   var %a = $dname, %b = $devent, %c = $did
  770.   if (%b == init) {
  771.     if ($isfile(saveglobal.txt)) { loadbuf -o %a 2 saveglobal.txt | did -z %a 2 }
  772.   }
  773.   elseif (%b == sclick) {
  774.     if (%c == 5) {
  775.       if ($did(4)) {
  776.         write saveglobal.txt $did(4)
  777.         did -ra %a 1 Listing $lines(saveglobal.txt) Entry(s)
  778.         did -r %a 2,4 | loadbuf -o %a 2 saveglobal.txt | did -z %a 2
  779.       }
  780.       else { noop $input(Please enter a Global Message to Save.,uowd,ERROR,ERROR) }
  781.     }
  782.     elseif (%c == 6) {
  783.       if ($did(2).seltext) {
  784.         write $+(-ds,",$did(2).seltext,") saveglobal.txt
  785.         did -ra %a 1 Listing $lines(saveglobal.txt) Entry(s)
  786.         did -r %a 2 | loadbuf -o %a 2 saveglobal.txt | did -z %a 2
  787.       }
  788.       else { noop $input(Please select a Global Message to Delete.,uowd,ERROR,ERROR) }
  789.     }
  790.     elseif (%c == 7) {
  791.       $iif($did(2).seltext,.msg operserv global $did(2).seltext,noop $input(Please select a Global Message to Send Global.,uowd,ERROR,ERROR))
  792.     }
  793.     elseif (%c == 13) {
  794.       if ($did(9).state == 1) { var %t.global = 900 }
  795.       elseif ($did(10).state == 1) { var %t.global = 1800 }
  796.       elseif ($did(11).state == 1) { var %t.global = 2700 }
  797.       elseif ($did(12).state == 1) { var %t.global = 3600 }
  798.       if ($did(2).seltext) {
  799.         $iif(%t.global,.timer 10 %t.global .msg operserv global $did(2).seltext,noop $input(Please select a Time.,uowd,ERROR,ERROR))
  800.       }
  801.       else { noop $input(Please select a Global Message to Send Global.,uowd,ERROR,ERROR) }
  802.     }
  803.   }
  804. }
  805. ; ========================================
  806. ; END GLOBAL INTERFACE DIALOG
  807. ; ========================================
  808.  
  809. ; ========================================
  810. ; IRCOP CHAT INTERFACE DIALOG
  811. ; ========================================
  812. dialog ircopchat {
  813.   title IrcOp Chat
  814.   size -1 -1 300 175
  815.   option dbu
  816.   box "Received Messages", 1, 5 5 290 115
  817.   list 2, 10 15 280 90, hsbar, vsbar, sort
  818.   button "Delete", 3, 10 100 50 10
  819.   button "Delete All", 4, 65 100 50 10
  820.   box "Sending Interface", 5, 5 125 290 40
  821.   edit "", 6, 10 135 280 10, autohs
  822.   button "WallOps", 7, 10 150 40 10
  823.   button "GlobOps", 8, 55 150 40 10
  824.   button "LocOps", 9, 100 150 40 10
  825.   button "ChatOps", 10, 145 150 40 10
  826.   button "AdminChat", 11, 190 150 40 10
  827.   button "NetAdmin.Chat", 12, 235 150 40 10
  828.   menu "Config..", 13
  829.   item "Settings", 14, 13
  830. }
  831. on *:dialog:ircopchat:*:*: {
  832.   var %a = $dname, %b = $devent, %c = $did
  833.   if (%b == init) { loadbuf -o %a 2 ircopchat.txt | did -z %a 2 }
  834.   elseif (%b == sclick) {
  835.     if (%c == 3) {
  836.       if ($did(2).seltext) { write $+(-ds,",$did(2).seltext,") ircopchat.txt | did -r %a 2 | loadbuf -o %a 2 ircopchat.txt | did -z %a 2 }
  837.       else { noop $input(Please select a Message to Delete.,uowd,ERROR,ERROR) }
  838.     }
  839.     elseif (%c == 4) { write -c ircopchat.txt | did -r %a 2 }
  840.     elseif ($istok(7 8 9 10 11 12,%c,32)) {
  841.       if ($did(6)) {
  842.         if ($istok(7 8 9,%c,32)) { $did(%c) $did(6) }
  843.         else {
  844.           if (%c == 10) { chatops $did(6) }
  845.           elseif (%c == 11) { adchat $did(6) }
  846.           elseif (%c == 12) { nachat $did(6) }
  847.         }
  848.       }
  849.       else { noop $input(Please enter a Message to send.,uowd,ERROR,ERROR) }
  850.     }
  851.   }
  852.   elseif (%b == menu) && (%c == 14) { dialog $iif($dialog(ircopchatsettings),-v,-dm ircopchatsettings) ircopchatsettings }
  853. }
  854. on $*:snotice:$(/( $+ %ircopchatsettings $+ )\b/iS): {
  855.   write ircopchat.txt $network $date $timestamp $1-
  856.   if ($dialog(ircopchat)) { did -a ircopchat 2 $network $date $timestamp $1- | did -z ircopchat 2 }
  857. }
  858. dialog ircopchatsettings {
  859.   title ircopchatsettings
  860.   size -1 -1 70 85
  861.   option dbu
  862.   box "Catch", 1, 5 5 60 75
  863.   check "GlobOps", 2, 10 15 50 10
  864.   check "LocOps", 3, 10 25 50 10
  865.   check "ChatOps", 4, 10 35 50 10
  866.   check "AdminChat", 5, 10 45 50 10
  867.   check "NetAdmin.Chat", 6, 10 55 50 10
  868.   button "Save", 7, 10 65 50 10
  869. }
  870. on *:dialog:ircopchatsettings:*:*: {
  871.   var %a = $dname, %b = $devent, %c = $did
  872.   if (%b == init) {
  873.     if ($istok(%ircopchatsettings,Global,124)) { did -c %a 2 }
  874.     if ($istok(%ircopchatsettings,LocOps,124)) { did -c %a 3 }
  875.     if ($istok(%ircopchatsettings,ChatOps,124)) { did -c %a 4 }
  876.     if ($istok(%ircopchatsettings,AdminChat,124)) { did -c %a 5 }
  877.     if ($istok(%ircopchatsettings,NetAdmin.Chat,124)) { did -c %a 6 }
  878.   }
  879.   elseif (%b == sclick) {
  880.     if (%c == 7) {
  881.       unset %ircopchatsettings
  882.       if ($did(2).state = 1) { set %ircopchatsettings $addtok(Global,%ircopchatsettings,124) }
  883.       if ($did(3).state = 1) { set %ircopchatsettings $addtok(LocOps,%ircopchatsettings,124) }
  884.       if ($did(4).state = 1) { set %ircopchatsettings $addtok(ChatOps,%ircopchatsettings,124) }
  885.       if ($did(5).state = 1) { set %ircopchatsettings $addtok(AdminChat,%ircopchatsettings,124) }
  886.       if ($did(6).state = 1) { set %ircopchatsettings $addtok(NetAdmin.Chat,%ircopchatsettings,124) }
  887.     }
  888.   }
  889. }
  890. ; ========================================
  891. ; END IRCOP CHAT INTERFACE DIALOG
  892. ; ========================================
  893.  
  894. ; ========================================
  895. ; OPERSERV ACCESS LIST DIALOG
  896. ; ========================================
  897. dialog osaccess {
  898.   title OperServ Access List
  899.   size -1 -1 195 135
  900.   option dbu
  901.   box "Listing 0 Entry(s)", 1, 5 5 90 125
  902.   list 2, 10 15 80 90, hsbar, vsbar, sort
  903.   box "", 3, 100 5 90 125
  904.   text "Nick", 4, 105 15 50 10
  905.   edit "", 5, 105 25 80 10, autohs
  906.   button "Add", 6, 105 110 80 10
  907.   button "Del", 7, 10 110 80 10
  908.   menu "Listing Option", 8
  909.   item "Admin List", 9, 8
  910.   item "Oper List", 10, 8
  911.   item "Staff List", 11, 8
  912. }
  913. on *:dialog:osaccess:*:*: {
  914.   var %a = $dname, %b = $devent, %c = $did
  915.   if (%b == init) { set %osa_tot 0 }
  916.   elseif (%b == dclick) && (%c == 2) { whois $did(2).seltext $did(2).seltext }
  917.   elseif (%b == sclick) {
  918.     if ($istok(6 7,%c,32)) {
  919.       $iif($iif($did(%c) == del,$did(2).seltext,$did(5)),.msg operserv %osviewing $did(%c) $iif(%time,%time) $iif($did(%c) == del,$did(2).seltext,$did(5)),noop $input(Please $iif($did(%c) == del,select,input) a Nick to $did(%c) $+ .,uowd,ERROR,ERROR))
  920.       if ($did(%c) == add) { did -r osaccess 5 }
  921.       set %osa_tot 0 | did -r osaccess 2 | .enable #osaccess | .msg operserv %osviewing list
  922.     }
  923.   }
  924.   elseif (%b == menu) {
  925.     set %osviewing $gettok($did(%c),1,32) | did -ra osaccess 1 Listing 0 %osviewing Entry(s)
  926.     did $iif(%osviewing == Staff,-b,-e) %a 5-7 | set %osa_tot 0 | did -r osaccess 2
  927.     .enable #osaccess | .msg operserv $did(%c)
  928.   }
  929.   elseif (%b == close) { unset %os_viewing }
  930. }
  931. alias osaccesserror { noop $input($$1-,uowd,ERROR,ERROR) }
  932. #osaccess off
  933. on ^*:notice:*:*: {
  934.   if ($nick == OperServ) && ($dialog(osaccess)) {
  935.     if (has been isin $1-) || (list: isin $1-) || (nick == $2) {  }
  936.     elseif (list is empty. isin $1-) { unset %osa_tot | .disable #osaccess }
  937.     elseif (already exists on isin $1-) { .timer 1 2 osaccesserror $strip($1-) }
  938.     elseif ($1 isnum) { inc %osa_tot | did -ra osaccess 1 Listing %osa_tot %osviewing Entry(s) | did -a osaccess 2 $2 | did -z osaccess 2 }
  939.     elseif (End of isin $1-) { unset %osa_tot | .disable #osaccess }
  940.     else {
  941.       if (!$istok(Level List,$2,32)) { inc %osa_tot | did -ra osaccess 1 Listing %osa_tot %osviewing Entry(s) | did -a osaccess 2 $2- | did -z osaccess 2 }
  942.     }
  943.     haltdef
  944.   }
  945.   else { unset %osa_tot | .disable #osaccess }
  946. }
  947. #osaccess end
  948. ; ========================================
  949. ; END OPERSERV ACCESS LIST DIALOG
  950. ; ========================================
  951.  
  952. ; ========================================
  953. ; OPERSERV EXCEPTION DIALOG
  954. ; ========================================
  955. dialog os_except {
  956.   title Exeption List For $network
  957.   size -1 -1 200 165
  958.   option dbu
  959.   box "", 1, 5 5 120 115
  960.   text "Limit", 2, 10 15 30 10
  961.   list 3, 10 25 30 90, hsbar, vsbar
  962.   text "Host", 4, 40 15 80 90
  963.   list 5, 40 25 80 90, hsbar, vsbar
  964.   box "", 6, 130 5 65 115
  965.   text "Time", 7, 140 15 40 10
  966.   check "1h", 8, 140 25 20 10
  967.   check "1d", 9, 160 25 20 10
  968.   check "7d", 10, 140 40 20 10
  969.   check "Perm", 11, 160 40 20 10
  970.   text "Limit", 12, 140 55 40 10
  971.   check "5", 13, 140 65 20 10
  972.   check "10", 14, 160 65 20 10
  973.   check "20", 15, 140 80 20 10
  974.   check "50", 16, 160 80 20 10
  975.   text "Host To Add", 17, 10 120 50 10
  976.   edit "", 18, 10 130 180 10, autohs
  977.   button "Add", 19, 10 145 80 10
  978.   button "Del", 20, 110 145 80 10
  979. }
  980. on *:dialog:os_except:*:*: {
  981.   var %a = $dname, %b = $devent, %c = $did
  982.   if (%b == init) { os_get-e }
  983.   elseif (%b == sclick) {
  984.     if (%c == 19) {
  985.       if ($did(8).state == 1) { var %os_expiry = $+(+,$did(8)) }
  986.       elseif ($did(9).state == 1) { var %os_expiry = $+(+,$did(9)) }
  987.       elseif ($did(10).state == 1) { var %os_expiry = $+(+,$did(10)) }
  988.       elseif ($did(11).state == 1) { var %os_expiry = +0 }
  989.       elseif (!%os_expiry) { var %os_expiry = $os_def-time }
  990.       if ($did(13).state == 1) { var %os_limit = $did(13) }
  991.       elseif ($did(14).state == 1) { var %os_limit = $did(14) }
  992.       elseif ($did(15).state == 1) { var %os_limit = $did(15) }
  993.       elseif ($did(16).state == 1) { var %os_limit = $did(16) }
  994.       elseif (!%os_limit) { var %os_limit = $os_def-limit }
  995.       if ($did(18)) { operserv exception add %os_expiry $did(18) %os_limit $os_def-reason | did -r os_except 3,5 | os_get-e }
  996.       else { noop $input(Please enter a Host to Add.,uowd,ERROR,ERROR) }
  997.     }
  998.     elseif (%c == 20) {
  999.       if ($did(5).seltext) { operserv exception del $did(5).seltext | did -r os_except 3,5 | os_get-e }
  1000.       else { noop $input(Please select a Host to Delete.,uowd,ERROR,ERROR) }
  1001.     }
  1002.   }
  1003. }
  1004. alias os_get-e {
  1005.   set %os_tot 0 | .enable #os_exception
  1006.   .timer 1 5 unset %os_tot | .timer 1 5 .disable #os_exception | .msg operserv exception list
  1007. }
  1008. alias os_def-limit return 5
  1009. alias os_def-time return 7d
  1010. alias os_def-reason return Default Exception Reason
  1011. #os_exception off
  1012. on ^*:notice:*:*: {
  1013.   if ($nick == OperServ) && ($dialog(os_except)) {
  1014.     if ($1- == Current Session Limit Exception list:) || (set to isin $1-) || (Deleted isin $1-) || ($1- == Num Limit Host) { haltdef }
  1015.     else {
  1016.       inc %os_tot
  1017.       did -ra os_except 1 Listing %os_tot Exception Entry(s)
  1018.       did -a os_except 3 $2 | did -z os_except 3
  1019.       did -a os_except 5 $3- | did -z os_except 5
  1020.       haltdef
  1021.     }
  1022.   }
  1023.   else { .disable #os_exception }
  1024. }
  1025. #os_exception end
  1026. ; ========================================
  1027. ; END OPERSERV EXCEPTION DIALOG
  1028. ; ========================================
  1029.  
  1030. ; ========================================
  1031. ; OPERSERV MODULES LIST DIALOG
  1032. ; ========================================
  1033. dialog modules {
  1034.   title Modules List For $network
  1035.   size -1 -1 195 135
  1036.   option dbu
  1037.   box "Listing 0 Entry(s)", 1, 5 5 90 125
  1038.   list 2, 10 15 80 90, hsbar, vsbar, sort
  1039.   box "", 3, 100 5 90 125
  1040.   text "Module:", 4, 105 15 80 10
  1041.   edit "", 5, 105 25 80 10, autohs
  1042.   button "Load", 6, 105 110 80 10
  1043.   button "UnLoad", 7, 10 110 80 10
  1044.   text "Note: Do not include the file extension.", 8, 105 35 80 20
  1045. }
  1046. on *:dialog:modules:*:*: {
  1047.   var %a = $dname, %b = $devent, %c = $did
  1048.   if (%b == init) { .enable #modules | .msg operserv modlist }
  1049.   elseif (%b == sclick) {
  1050.     if (%c == 6) {
  1051.       if ($did(5)) { .msg operserv modload $did(5) | did -r modules 2,5 | .enable #modules | .msg operserv modlist }
  1052.       else { noop $input(Please input a module to Load.,uowd,ERROR,ERROR) }
  1053.     }
  1054.     elseif (%c == 7) {
  1055.       if ($did(2).seltext) { .msg operserv modunload $gettok($did(2).seltext,1,32) | did -r modules 2 | .enable #modules | .msg operserv modlist }
  1056.       else { noop $input(Please select a module to UnLoad.,uowd,ERROR,ERROR) }
  1057.     }
  1058.   }
  1059. }
  1060. alias moduleerror { noop $input($$1- $+ .,uowd,ERROR,ERROR) }
  1061. #modules off
  1062. on ^*:notice:*:*: {
  1063.   if ($nick == OperServ) && ($dialog(modules)) {
  1064.     if (Unable to load module isin $1-) { .timer 1 2 moduleerror $strip($1-) | haltdef }
  1065.     if (Module: == $1) { did -a modules 2 $strip($2-) | did -z modules 2 }
  1066.     if (Modules Loaded. isin $1-) { did -ra modules 1 Listing $1 Entry(s) | .disable #modules }
  1067.     haltdef
  1068.   }
  1069.   else { .disable #modules }
  1070. }
  1071. #modules end
  1072. ; ========================================
  1073. ; END OPERSERV MODULES LIST DIALOG
  1074. ; ========================================
  1075.  
  1076. ; ========================================
  1077. ; SERVERS LIST DIALOG
  1078. ; ========================================
  1079. dialog servers {
  1080.   title Connected Servers
  1081.   size -1 -1 100 135
  1082.   option dbu
  1083.   box "Listing 0 Entry(s)", 1, 5 5 90 125
  1084.   list 2, 10 15 80 90, hsbar, vsbar
  1085.   button "Kill", 3, 10 105 80 10
  1086.   button "Restart", 4, 10 115 80 10
  1087. }
  1088. on *:dialog:servers:*:*: {
  1089.   var %a = $dname, %b = $devent, %c = $did
  1090.   if (%b == init) { .enable #serversmap | .map }
  1091.   elseif (%b == sclick) {
  1092.     if (%c == 3) { $iif($did(2).seltext,die $gettok($did(2).seltext,1,32) $$?"Password",noop $input(Please select a server to apply the DIE command to.,uowd,ERROR,ERROR)) }
  1093.     elseif (%c == 4) { $iif($did(2).seltext,restart $gettok($did(2).seltext,1,32) $$?"Password" $$?"Optional reason",noop $input(Please select a server to apply the RESTART command to.,uowd,ERROR,ERROR)) }
  1094.   }
  1095. }
  1096. #serversmap off
  1097. raw *:*: {
  1098.   if ($dialog(servers)) {
  1099.     if ($numeric == 006) { inc %map_tot | did -a servers 2 $remove($2-,|,`,-) | did -z servers 2 }
  1100.     elseif ($numeric == 007) { did -ra servers 1 Listing %map_tot Entry(s) | unset %map_tot | .disable #serversmap }
  1101.     haltdef
  1102.   }
  1103.   else { unset %map_tot | .disable #serversmap }
  1104. }
  1105. #serversmap end
  1106. ; ========================================
  1107. ; END SERVERS LIST DIALOG
  1108. ; ========================================
  1109.  
  1110. ; ========================================
  1111. ; FORBIDDEN LIST DIALOG
  1112. ; ========================================
  1113. dialog forbidden_list {
  1114.   title Forbidden List For $network
  1115.   size -1 -1 110 180
  1116.   option dbu
  1117.   box "Listing 0 Entry(s)", 1, 5 5 100 170
  1118.   list 2, 10 15 90 90, hsbar, vsbar, sort
  1119.   text "... To Forbid", 3, 10 110 90 10
  1120.   edit "", 4, 10 120 90 10, autohs
  1121.   text "Reason", 5, 10 130 90 10
  1122.   edit "", 6, 10 140 90 10, autohs
  1123.   button "Add", 7, 10 155 40 10
  1124.   button "Del", 8, 60 155 40 10
  1125.   menu "Listing Options", 9
  1126.   item "List Channels", 10, 9
  1127.   item "List Nicks", 11, 9
  1128. }
  1129. on *:dialog:forbidden_list:*:*: {
  1130.   var %a = $dname, %b = $devent, %c = $did
  1131.   if (%b == menu) {
  1132.     set %forbidview $iif(%c == 10,ChanServ,NickServ)
  1133.     did -ra %a 3 $iif(%c == 10,Channel,Nick) to Forbid
  1134.     forbidrefresh
  1135.   }
  1136.   elseif (%b == dclick) {
  1137.     if (%c == 2) { .msg %forbidview info $did(2).seltext }
  1138.   }
  1139.   elseif (%b == sclick) {
  1140.     if (%c == 7) {
  1141.       if ($did(4)) && ($did(6)) {
  1142.         var %forbid = $iif(%forbidview == ChanServ,$iif($left($did(4),1) == $chr(35),$did(4),$+($chr(35),$did(4))),$did(4))
  1143.         .msg %forbidview forbid %forbid $did(6) | did -r %a 4,6 | forbidrefresh
  1144.       }
  1145.       else { noop $input(Please input a $iif(%forbidview == ChanServ,Channel,Nick) and a reason.,uowd,ERROR,ERROR) }
  1146.     }
  1147.     elseif (%c == 8) {
  1148.       if ($did(2).seltext) { .msg %forbidview drop $did(2).seltext | forbidrefresh }
  1149.       else { noop $input(Please select a $iif(%forbidview == ChanServ,Channel,Nick) to delete.,uowd,ERROR,ERROR) }
  1150.     }
  1151.   }
  1152.   elseif (%b == close) { unset %forbidview }
  1153. }
  1154. alias forbidrefresh { did -r forbidden_list 2 | .enable #forbid | .msg %forbidview list * forbidden }
  1155. #forbid off
  1156. on ^*:notice:*:*: {
  1157.   if ($nick == ChanServ) || ($nick == NickServ) {
  1158.     echo -a $1-
  1159.     if (Channel == $1) || (Nick == $1) || (Nickname == $1) {  }
  1160.     elseif (is now forbidden. isin $1-) || (List of entries matching isin $1-) {  }
  1161.     elseif (End of list isin $1-) { .timer 1 5 did -ra forbidden_list 1 Listing %forbid_tot Entry(s) | unset %forbid_tot | .disable #forbid }
  1162.     elseif (%forbidview == ChanServ) && ($left($1,1) == $chr(35)) { inc %forbid_tot | did -a forbidden_list 2 $1 | did -z forbidden_list 2 }
  1163.     elseif (%forbidview == NickServ) { inc %forbid_tot | did -a forbidden_list 2 $1 | did -z forbidden_list 2 }
  1164.     haltdef
  1165.   }
  1166. }
  1167. #forbid end
  1168. ; ========================================
  1169. ; END FORBIDDEN LIST DIALOG
  1170. ; ========================================
  1171.  
  1172. ; ========================================
  1173. ; NOEXPIRE LIST DIALOG
  1174. ; ========================================
  1175. dialog noexpire_list {
  1176.   title NoExpire List For $network
  1177.   size -1 -1 110 160
  1178.   option dbu
  1179.   box "Listing 0 Entry(s)", 1, 5 5 100 150
  1180.   list 2, 10 15 90 90, hsbar, vsbar, sort
  1181.   text "... To NoExpire", 3, 10 110 90 10
  1182.   edit "", 4, 10 120 90 10, autohs
  1183.   button "Add", 7, 10 135 40 10
  1184.   button "Del", 8, 60 135 40 10
  1185.   menu "Listing Options", 9
  1186.   item "List Channels", 10, 9
  1187.   item "List Nicks", 11, 9
  1188. }
  1189. on *:dialog:noexpire_list:*:*: {
  1190.   var %a = $dname, %b = $devent, %c = $did
  1191.   if (%b == menu) {
  1192.     set %noexpireview $iif(%c == 10,ChanServ,NickServ)
  1193.     did -ra %a 3 $iif(%c == 10,Channel,Nick) to NoExpire
  1194.     noexpirerefresh
  1195.   }
  1196.   elseif (%b == dclick) {
  1197.     if (%c == 2) { .msg %noexpireview info $did(2).seltext }
  1198.   }
  1199.   elseif (%b == sclick) {
  1200.     if (%c == 7) {
  1201.       if ($did(4)) {
  1202.         var %noexpire = $iif(%noexpireview == ChanServ,$iif($left($did(4),1) == $chr(35),$did(4),$+($chr(35),$did(4))),$did(4))
  1203.         .msg %noexpireview $iif(%noexpireview == ChanServ,set,saset) %noexpire noexpire on | did -r %a 4 | noexpirerefresh
  1204.       }
  1205.       else { noop $input(Please input a $iif(%noexpireview == ChanServ,Channel.,Nick.),uowd,ERROR,ERROR) }
  1206.     }
  1207.     elseif (%c == 8) {
  1208.       if ($did(2).seltext) { .msg %noexpireview $iif(%noexpireview == ChanServ,set,saset) $did(2).seltext noexpire off | noexpirerefresh }
  1209.       else { noop $input(Please select a $iif(%noexpireview == ChanServ,Channel.,Nick.),uowd,ERROR,ERROR) }
  1210.     }
  1211.   }
  1212.   elseif (%b == close) { unset %noexpireview }
  1213. }
  1214. alias noexpirerefresh { did -r noexpire_list 2 | .enable #noexpire | .msg %noexpireview list * noexpire }
  1215. #noexpire off
  1216. on ^*:notice:*:*: {
  1217.   if ($nick == ChanServ) || ($nick == NickServ) {
  1218.     if (Channel == $1) || (Nick == $1) || (Nickname == $1) {  }
  1219.     elseif (will not expire. isin $strip($1-)) || (List of entries matching isin $1-) {  }
  1220.     elseif (End of list == $1-3) { did -ra noexpire_list 1 Listing %noexpire_tot Entry(s) | unset %noexpire_tot | .disable #noexpire }
  1221.     elseif (%noexpireview == ChanServ) && ($left($1,1) == $chr(33)) { inc %noexpire_tot | did -a noexpire_list 2 $right($1,$calc($len($1) - 1)) | did -z noexpire_list 2 }
  1222.     elseif (%noexpireview == NickServ) && ($1 !== End) { inc %noexpire_tot | did -a noexpire_list 2 $right($1,$calc($len($1) - 1)) | did -z noexpire_list 2 }
  1223.     haltdef
  1224.   }
  1225. }
  1226. #noexpire end
  1227. ; ========================================
  1228. ; END NOEXPIRE LIST DIALOG
  1229. ; ========================================
  1230.  
  1231. ; ========================================
  1232. ; LINES DIALOG
  1233. ; ========================================
  1234. dialog lines {
  1235.   title Lines For $network
  1236.   size -1 -1 200 185
  1237.   option dbu
  1238.   box "Listing 0 Entry(s)", 1, 5 5 120 115
  1239.   text "Host:Reason", 2, 10 15 110 90
  1240.   list 3, 10 25 110 90, hsbar, vsbar
  1241.   box "", 4, 130 5 65 115
  1242.   text "Time", 5, 140 15 40 10
  1243.   check "1h", 6, 140 25 20 10
  1244.   check "1d", 7, 160 25 20 10
  1245.   check "7d", 8, 140 40 20 10
  1246.   check "Perm", 9, 160 40 20 10
  1247.   text "Host/IP To Add", 10, 10 120 50 10
  1248.   edit "", 11, 10 130 180 10, autohs
  1249.   text "Reason", 12, 10 140 50 10
  1250.   edit "", 13, 10 150 180 10, autohs
  1251.   button "Add", 14, 10 165 80 10
  1252.   button "Del", 15, 110 165 80 10
  1253.   menu "Listing Options", 16
  1254.  
  1255.   item "SGLINE", 17, 16
  1256.   item "SQLINE", 18, 16
  1257.   item "SZLINE", 19, 16
  1258.   item "AKILL", 20, 16
  1259.   item "GLINE", 21, 16
  1260.   item "KLINE", 22, 16
  1261.   item "GZLINE", 23, 16
  1262. }
  1263. on *:dialog:lines:*:*: {
  1264.   var %a = $dname, %b = $devent, %c = $did
  1265.   if (%b == sclick) {
  1266.     if (%c == 14) {
  1267.       if ($did(6).state == 1) { var %kg_expiry = $+(+,$did(6)) }
  1268.       elseif ($did(7).state == 1) { var %kg_expiry = $+(+,$did(7)) }
  1269.       elseif ($did(8).state == 1) { var %kg_expiry = $+(+,$did(8)) }
  1270.       elseif ($did(9).state == 1) { var %kg_expiry = $+(+,0) }
  1271.       else { var %kg_expiry = $+(+,0) }
  1272.       if ($did(11)) && ($did(13)) {
  1273.  
  1274.         if ($istok(sgline sqline szline akill,%lines_viewing,32)) { .msg operserv %lines_viewing add %kg_expiry $did(11) $+(:,$did(13)) }
  1275.         if ($istok(gline kline gzline,%lines_viewing,32)) { %lines_viewing $did(11) $iif(%kg_expiry,%kg_expiry) $did(13) }
  1276.  
  1277.         did -ra lines 1 Listing 0 %lines_viewing Entry(s)
  1278.         did -r %a 3,11,13 | .enable #lines
  1279.         if ($istok(sgline sqline szline akill,%lines_viewing,32)) { .msg operserv %lines_viewing list }
  1280.         if ($istok(gzline,%lines_viewing,32)) { %lines_viewing }
  1281.         if ($istok(gline kline,%lines_viewing,32)) { stats $left(%lines_viewing,1) }
  1282.  
  1283.       }
  1284.       else { noop $input(Please enter a Host/IP and a Reason to Add.,uowd,ERROR,ERROR) }
  1285.     }
  1286.     elseif (%c == 15) {
  1287.       if ($did(3).seltext) {
  1288.         if ($istok(sgline sqline szline akill,%lines_viewing,32)) { .msg operserv %lines_viewing del $gettok($did(3).seltext,1,32) }
  1289.         if ($istok(gline kline gzline,%lines_viewing,32)) { %lines_viewing $+(-,$gettok($did(3).seltext,1,32)) }
  1290.  
  1291.         did -ra lines 1 Listing 0 %lines_viewing Entry(s)
  1292.         did -r %a 3 | .enable #lines
  1293.  
  1294.         if ($istok(sgline sqline szline akill,%lines_viewing,32)) { .msg operserv %lines_viewing list }
  1295.         if ($istok(gzline,%lines_viewing,32)) { %lines_viewing }
  1296.         if ($istok(gline kline,%lines_viewing,32)) { stats $left(%lines_viewing,1) }
  1297.  
  1298.       }
  1299.       else { noop $input(Please select a Host/IP to Del.,uowd,ERROR,ERROR) }
  1300.     }
  1301.   }
  1302.   elseif (%b == menu) {
  1303.     did -r %a 3 | set %lines_viewing $did(%c)
  1304.     did -ra lines 1 Listing 0 %lines_viewing Entry(s)
  1305.     .enable #lines
  1306.     if (%lines_viewing == szline) { noop $input(Reminder: you can only add IP masks to the SZLINE list.,uowd,ERROR,ERROR) }
  1307.     if ($istok(sgline sqline szline akill,%lines_viewing,32)) { .msg operserv %lines_viewing list }
  1308.     if ($istok(gzline,%lines_viewing,32)) { %lines_viewing }
  1309.     if ($istok(gline kline,%lines_viewing,32)) { stats $left(%lines_viewing,1) }
  1310.   }
  1311.   elseif (%b == close) { unset %lines_viewing }
  1312. }
  1313. #lines off
  1314. on ^*:notice:*:*: {
  1315.   if ($nick == OperServ) && ($dialog(lines)) {
  1316.     if ($istok(Num Current,$1,32)) {  }
  1317.     if ($1 isnum) {
  1318.       did -ra lines 1 Listing $1 %lines_viewing Entry(s)
  1319.       did -a lines 3 $2-
  1320.       did -z lines 3
  1321.     }
  1322.     if (End of %lines_viewing list. == $1-) { .disable #lines }
  1323.     haltdef
  1324.   }
  1325.   else { .disable #lines }
  1326. }
  1327. raw *:*: {
  1328.   if ($numeric == 223) { inc %kg_linetot | did -a lines 3 $3 : $7- }
  1329.   elseif ($numeric == 219) {
  1330.     did -z lines 3
  1331.     did -ra lines 1 Listing $iif(%kg_linetot,%kg_linetot,0) %lines_viewing Entry(s)
  1332.     .disable #lines | unset %kg_linetot
  1333.   }
  1334.   haltdef
  1335. }
  1336. #lines end
  1337. ; ========================================
  1338. ; END LINES DIALOG
  1339. ; ========================================
  1340.  
  1341. ; ========================================
  1342. ; LIST USERS DIALOG
  1343. ; ========================================
  1344. dialog listuserdata {
  1345.   title List Users
  1346.   size -1 -1 200 175
  1347.   option dbu
  1348.   box "", 1, 5 5 90 105
  1349.   list 2, 10 15 80 90, hsbar, vsbar, sort
  1350.   box "Actions", 3, 100 5 95 55
  1351.   button "SAJoin", 4, 105 15 30 10
  1352.   button "SAPart", 5, 150 15 30 10
  1353.   button "Kill", 6, 105 30 30 10
  1354.   button "Shun", 7, 150 30 30 10
  1355.   button "G:Line", 8, 105 45 30 10
  1356.   box "Reason", 9, 5 110 190 30
  1357.   edit "", 10, 10 120 180 10, autohs
  1358.   box "Channel", 11, 5 140 190 30
  1359.   edit "", 12, 10 150 180 10, autohs
  1360.   box "Period", 15, 100 60 95 50
  1361.   radio "10m", 16, 105 70 30 10
  1362.   radio "15m", 17, 135 70 30 10
  1363.   radio "30m", 18, 165 70 30 10
  1364.   radio "1h", 19, 105 90 30 10
  1365.   radio "1d", 20, 135 90 30 10
  1366.   radio "Perm", 21, 165 90 30 10
  1367.   menu "Listing Options", 22
  1368.   item "List Global Users", 23, 22
  1369.   item "List Not In Chan Users", 24, 22
  1370.   item "List +B (BOT) Users", 25, 22
  1371.   button "Join", 26, 105 15 30 10
  1372.   button "Kill", 27, 150 15 30 10
  1373.   button "Shun", 28, 105 30 30 10
  1374. }
  1375. on *:dialog:listuserdata:*:*: {
  1376.   var %a = $dname, %b = $devent, %c = $did
  1377.   if (%b == init) { did -h %a 4-8,26-28 }
  1378.   elseif (%b == menu) {
  1379.     if (%c == 23) { did -e %a 10,12 | did -h %a 26-28 | did -v %a 4-8 |  set %listuserview 1 | listuserlist }
  1380.     elseif (%c == 24) {  did -b %a 10,12 | did -h %a 4-8 | did -v %a 26-28 | set %listuserview 2 | listuserlist }
  1381.     elseif (%c == 25) { did -e %a 10,12 | did -h %a 26-28 | did -v %a 4-8 | set %listuserview 3 | listuserlist }
  1382.   }
  1383.   elseif (%b == dclick) && (%c == 2) { whois $did(2).seltext $did(2).seltext }
  1384.   elseif (%b == sclick) {
  1385.     if ($istok(4 5 6 7 8,%c,32)) {
  1386.       if ($did(listuserdata,2).seltext) {
  1387.         if ($did(listuserdata,16).state == 1) { var %period = $did(listuserdata,16) }
  1388.         elseif ($did(listuserdata,17).state == 1) { var %period = $did(listuserdata,17) }
  1389.         elseif ($did(listuserdata,18).state == 1) { var %period = $did(listuserdata,18) }
  1390.         elseif ($did(listuserdata,19).state == 1) { var %period = $did(listuserdata,19) }
  1391.         elseif ($did(listuserdata,20).state == 1) { var %period = $did(listuserdata,20) }
  1392.         elseif ($did(listuserdata,21).state == 1) { var %period = 0 }
  1393.         else { var %period = 0 }
  1394.         var %listuserdatachan = $iif($did(listuserdata,12),$iif($left($did(listuserdata,12),1) == $chr(35),$did(listuserdata,12),$+($chr(35),$did(listuserdata,12))),noop $input(Please enter a channel.,uowd,ERROR,ERROR))
  1395.         if (%c == 4) { listuserdataaction $did(listuserdata,2).seltext sajoin %listuserdatachan }
  1396.         elseif (%c == 5) { listuserdataaction $did(listuserdata,2).seltext sapart %listuserdatachan | listuserlist }
  1397.         elseif (%c == 6) { listuserdataaction $did(listuserdata,2).seltext kill $iif($did(listuserdata,10),$did(listuserdata,10),$listuserautokillreason) | listuserlist }
  1398.         elseif (%c == 7) { listuserdataaction $did(listuserdata,2).seltext shun %period $iif($did(listuserdata,10),$did(listuserdata,10),$listuserautoshunreason) | listuserlist }
  1399.         elseif (%c == 8) { listuserdataaction $did(listuserdata,2).seltext gline %period $iif($did(listuserdata,10),$did(listuserdata,10),$listuserautoglinereason) | listuserlist }
  1400.       }
  1401.       else { noop $input(Please select a Nick to take action against.,uowd,ERROR,ERROR) }
  1402.     }
  1403.     elseif ($istok(26 27 28,%c,32)) { .msg operserv notinchanlist $did(%c) | listuserlist }
  1404.   }
  1405.   elseif (%b == close) { unset %listuserview }
  1406. }
  1407. alias listuserlist {
  1408.   if (%listuserview == 1) { set %glob_tot 0 | did -r listuserdata 2 | .enable #listglobal | os userlist }
  1409.   elseif (%listuserview == 2) { set %idle_tot 0 | did -r listuserdata 2 | .enable #listidle | os notinchanlist }
  1410.   elseif (%listuserview == 3) { set %bot_tot 0 | did -r listuserdata 2 | .enable #listbots | who +m B }
  1411. }
  1412. alias listuserdataaction {
  1413.   tokenize 32 $1-
  1414.   $iif($istok(sajoin sapart kill shun,$2,32),$2 $1 $3-,$2 $3 $1 $4-)
  1415. }
  1416. alias listuserautokillreason return Auto-reason For Server /kill
  1417. alias listuserautoshunreason return Auto-reason For Server /shun
  1418. alias listuserautoglinereason return Auto-reason For Server /gline
  1419. #listglobal off
  1420. on ^*:notice:*:*: {
  1421.   if ($nick == OperServ) && ($dialog(listuserdata)) {
  1422.     if ($1- == Nick  Mask) || ($1- == Users list:) {  }
  1423.     elseif (End of users list. isin $1-) { unset %glob_tot | .disable #listglobal }
  1424.     else { inc %glob_tot | did -ra listuserdata 1 Listing %glob_tot Entry(s) | did -a listuserdata 2 $1 | did -z listuserdata 2 }
  1425.     haltdef
  1426.   }
  1427.   else { unset %glob_tot | .disable #listglobal }
  1428. }
  1429. #listglobal end
  1430. #listidle off
  1431. on ^*:notice:*:*: {
  1432.   if ($nick == OperServ) && ($dialog(listuserdata)) {
  1433.     if (Out of isin $1-) && (possible malicious clients were detected. isin $1-) { did -ra listuserdata 1 Listing %idle_tot Entry(s) | unset %idle_tot | .disable #listidle }
  1434.     elseif ($1 == Match:) { inc %idle_tot | did -ra listuserdata 1 Listing %idle_tot Entry(s) | did -a listuserdata 2 $2 }
  1435.     haltdef
  1436.   }
  1437.   else { unset %idle_tot | .disable #listidle }
  1438. }
  1439. #listidle end
  1440. #listbots off
  1441. raw *:*: {
  1442.   if ($dialog(listuserdata)) {
  1443.     if ($numeric == 352) {
  1444.       tokenize 32 $1-
  1445.       inc %bot_tot | did -ra listuserdata 1 Listing %bot_tot Bot Entry(s) | did -a listuserdata 2 $6
  1446.     }
  1447.     elseif (End of /WHO list. isin $1-) { unset %bot_tot | .disable #listbots  }
  1448.     haltdef
  1449.   }
  1450.   else { unset %bot_tot | .disable #listbots }
  1451. }
  1452. #listbots end
  1453. ; ========================================
  1454. ; END LIST USERS DIALOG
  1455. ; ========================================
  1456.  
  1457. ; ========================================
  1458. ; CHANGE USER DATA DIALOG
  1459. ; ========================================
  1460. dialog chguserdata {
  1461.   title Change User Data
  1462.   size -1 -1 195 170
  1463.   option dbu
  1464.   box "", 1, 5 5 90 105
  1465.   list 2, 10 15 80 95, hsbar, vsbar, sort
  1466.   box "", 3, 100 5 90 105
  1467.   text "Change:", 4, 110 15 50 10
  1468.   check "Nick", 5, 110 25 30 10
  1469.   check "Ident", 6, 150 25 30 10
  1470.   check "Host", 7, 110 40 30 10
  1471.   check "Name", 8, 150 40 30 10
  1472.   edit "", 9, 110 50 70 10
  1473.   button "Change", 10, 110 65 70 10
  1474.   text "NOTE: Nick requires superadmin.", 11, 110 75 70 20
  1475.   box "", 12, 5 110 185 55
  1476.   text "Nick", 13, 10 120 170 10
  1477.   text "Ident", 14, 10 130 170 10
  1478.   text "Host", 15, 10 140 170 10
  1479.   text "Name", 16, 10 150 170 10
  1480. }
  1481. on *:dialog:chguserdata:*:*: {
  1482.   var %a = $dname, %b = $devent, %c = $did
  1483.   if (%b == init) { .enable #chguser | .msg operserv userlist }
  1484.   elseif (%b == sclick) {
  1485.     if (%c == 2) { .enable #nsinfo | did -ra chguserdata 13 Nick: $did(%c).seltext | .msg nickserv info $did(%c).seltext all }
  1486.     if (%c == 10) {
  1487.       if ($did(5).state == 1) { var %chg = .msg operserv svsnick }
  1488.       elseif ($did(6).state == 1) { var %chg = .chgident }
  1489.       elseif ($did(7).state == 1) { var %chg = .chghost }
  1490.       elseif ($did(8).state == 1) { var %chg = .chgname }
  1491.       else { noop $input(Please select something to change.,uowd,ERROR,ERROR) }
  1492.       if ($did(2).seltext) && ($did(9)) && (%chg) {
  1493.         %chg $did(2).seltext $did(9)
  1494.         .enable #nsinfo | did -ra chguserdata 13 Nick: $did(%c).seltext | .msg nickserv info $did(%c).seltext all
  1495.       }
  1496.       else { noop $input(Please select a Nick and enter something to change.,uowd,ERROR,ERROR) }
  1497.     }
  1498.   }
  1499.   elseif (%b == dclick) && (%c == 2) { whois $did(2).seltext $did(2).seltext }
  1500. }
  1501. #nsinfo off
  1502. on ^*:notice:*:*: {
  1503.   if ($nick == NickServ) && ($dialog(chguserdata)) {
  1504.     haltdef
  1505.     if (is == $2) && (!$istok(a online,$3,32)) { did -ra chguserdata 16 Name: $3 }
  1506.     if (Is online from: isin $1-)  {
  1507.       did -ra chguserdata 14 Ident: $gettok($4,1,64)
  1508.       did -ra chguserdata 15 Host: $gettok($4,2,64)
  1509.     }
  1510.     elseif ($istok(Time Last E-mail vhost: Options:,$1,32)) { haltdef }
  1511.     elseif (Expires == $1) { .disable #nsinfo }
  1512.     if (isn't registered. isin $1-) { did -r chguserdata 14,15,16 | did -ra chguserdata 13 This nick is not registered. | .disable #nsinfo }
  1513.   }
  1514.   else { .disable #nsinfo }
  1515. }
  1516. #nsinfo end
  1517. #chguser off
  1518. on ^*:notice:*:*: {
  1519.   if ($nick == OperServ) && ($dialog(chguserdata)) {
  1520.     if ($1- == Nick  Mask) || (Users list: isin $1-) { haltdef }
  1521.     elseif (End of users list. isin $1-) { .disable #chguser }
  1522.     else { did -a chguserdata 2 $1 }
  1523.     haltdef
  1524.   }
  1525.   else { .disable #chguser }
  1526. }
  1527. #chguser end
  1528. ; ========================================
  1529. ; END CHANGE USER DATA DIALOG
  1530. ; ========================================
  1531.  
  1532. ; ========================================
  1533. ; SERVER ADMIN COMMANDS MENU
  1534. ; ========================================
  1535. menu status,menubar,channel,nicklist,query {
  1536.   --( Server Admin Commands )--
  1537.   .--( Show Info )--
  1538.   ..--( Show Motd File )--:motd $server
  1539.   ..--( Add to the end of MOTD File )--:addmotd $$?"Text to add"
  1540.   ..--( Show Server Rules )--:rules $server
  1541.   ..--( List Users On Server )--:lusers $server
  1542.   ..--( Stats )--:msg operserv stats
  1543.   .--( Log Ins )--
  1544.   ..--( Oper )--:oper $me $$?"Password"
  1545.   ..--( Vhost )--:vhost $$?"LogIn" $$?"Password"
  1546.   .--( Silence List )--
  1547.   ..--( Add )--:silence + $+ $$?"Nick"
  1548.   ..--( Remove )--:silence - $+ $$?"Nick"
  1549.   ..--( List )--:silence
  1550.   .--( Mass Message )--
  1551.   ..--( Wallops )--:wallops $$?"Message To Send"
  1552.   ..--( Globops )--:globops $$?"Message To Send"
  1553.   ..--( Locops )--:locops $$?"Message To Send"
  1554.   ..--( Online Ircops )--:chatops $$?"Message To Send"
  1555.   ..--( Online Admins )--:adchat $$?"Message To Send"
  1556.   ..--( Online NetAdmins )--:nachat $$?"Message To Send"
  1557.   .--( sa commands )--
  1558.   ..--( Force join )--:sajoin $$?"Nick" $$?"channel to make user join"
  1559.   ..--( Force part )--:sapart $$1 $$?"channel to make user part"
  1560.   ..--( Change channel modes )--:samode $$?"channel to change modes on" $$?"Mode"
  1561.   .--( Set commands )--
  1562.   ..--( Change your vhost )--:sethost $$?"new host name ( no spaces )"
  1563.   ..--( Change your ident )--:setident $$?"new ident"
  1564.   .--( Change User Info )--
  1565.   ..--( Change users host )--:chghost $$1 $$?"Host"
  1566.   ..--( Change users name )--:chgname $$1  $$?"Name"
  1567.   ..--( Change users ident )--:chgident $$1 $$?"Ident"
  1568.   .--( kill / kills user from the server )--:kill $$1 $$?"Reason"
  1569.   .--( kgz lines )--
  1570.   ..--( k lines )--
  1571.   ...--( Add a 1 day kline )--:kline $$1 1d $$?"reason for kline"
  1572.   ...--( Del a kline )--:kline - $+ $$?"hostmask of user to remove"
  1573.   ...--( List klines )--:stats K
  1574.   ..--( g lines )--
  1575.   ...--( Add a 1 day gline )--:gline $$1 1d $$?"reason for kline"
  1576.   ...--( Del a gline )--:gline - $+ $$?"hostmask of user to remove"
  1577.   ...--( List glines )--:stats G
  1578.   ..--( zlines )--
  1579.   ...--( Add a permanent zline )--:zline $$?"*@ipmask" $$?"reason for zline"
  1580.   ...--( Del a zline )--:zline - $+ $$?"*@ipmask"
  1581.   ...--( List zlines )--:stats Z
  1582.   .--( Shun )--
  1583.   ..--( 5 min )--:shun $$1 300 $$?"reason for shun"
  1584.   ..--( 10 min )--:shun $$1 300 $$?"reason for shun"
  1585.   ..--( 15 min )--:shun $$1 300 $$?"reason for shun"
  1586.   .--( Tempshun )--
  1587.   ..--( Add Tempshun )--:tempshun $$1 $$?"Reason for tempshun"
  1588.   ..--( Del Tempshun )--:tempshun - $+ $$1
  1589.   .--( Rehash config files )--:rehash $server
  1590.   .--( Restart server )--:restart $$?"Password"
  1591.   .--( Kill server )--:die $$?"Password"
  1592. }
  1593. ; ========================================
  1594. ; END SERVER ADMIN COMMANDS MENU
  1595. ; ========================================
  1596.  
  1597. ; ========================================
  1598. ; SERVICES COMMANDS MENU
  1599. ; ========================================
  1600. menu status,menubar,channel,nicklist,query {
  1601.   --( Services Commands )--
  1602.   .--( OperServ )--
  1603.   ..--( DefCon )--:msg operserv defcon $$?"1 , 2 , 3 , 4 , 5"
  1604.   ..--( Message All Server Users )--:msg operserv global $$?"Message"
  1605.   ..--( ForceID )--:os forceid $$?"Nick"
  1606.   ..--( Kills )--
  1607.   ...--( Kill All Channel Users )--:msg operserv chankill $$?"Channel to kill"
  1608.   ...--( Kill Clones )--:msgoperserv killclones $$?"Nick"
  1609.   ..--( Channel Settings )--
  1610.   ...--( Kick User )--:msg operserv kick $$?"Channel" $$?"User" $$?"Reason"
  1611.   ...--( Change Channel Modes )--:msg operserv mode $$?"Channel" $$?"Modes"
  1612.   ...--( Clear All Channel Modes )--:msg operserv clearmodes $$?"Channel" all
  1613.   ...--( Clear Channel Modes )--:msg operserv clearmodes $$?"Channel" $$?"Modes"
  1614.   ..--( Display )--
  1615.   ...--( Services and Network Stats )--:msg operserv stats
  1616.   ...--( Staff and Online Status )--:msg operserv staff
  1617.   ...--( Host Sessions )--:msg operserv session list $$?"Number of sessions"
  1618.   ...--( Channel Records )--:msg operserv chanlist
  1619.   ...--( User Records )--:msg operserv userlist
  1620.   ..--( Modify )--
  1621.   ...--( Services Admin List )--
  1622.   ....--( Add )--:msg operserv admin add $$?"Nick"
  1623.   ....--( Del )--:msg operserv admin del $$?"Nick , Entry-Number , List"
  1624.   ....--( List )--:msg operserv admin list
  1625.   ....--( Clear )--:msg operserv admin clear
  1626.   ...--( Services Oper List )--
  1627.   ....--( Add )--:msg operserv oper add $$?"Nick"
  1628.   ....--( Del )--:msg operserv oper del $$?"Nick , Entry-Number , List"
  1629.   ....--( List )--:msg operserv oper list
  1630.   ....--( Clear )--:msg operserv oper clear
  1631.   ...--( Services Ignore List )--
  1632.   ....--( Add )--:msg operserv ignore add $$?"Nick"
  1633.   ....--( Del )--:msg operserv ignore del $$?"Nick , Entry-Number , List"
  1634.   ....--( List )--:msg operserv ignore list
  1635.   ....--( Clear )--:msg operserv ignore clear
  1636.   ...--( Session-Limit Exception List )--
  1637.   ....--( Add )--:msg operserv exception add $$?"Nick"
  1638.   ....--( Del )--:msg operserv exception del $$?"Nick , Entry-Number , List"
  1639.   ....--( List )--:msg operserv exception list
  1640.   ....--( Clear )--:msg operserv exception clear
  1641.   ..--( News Related )--
  1642.   ...--( Logon News )--
  1643.   ....--( Add )--:msg operserv logonnews add $$?"Text to add"
  1644.   ....--( Del )--:msg operserv logonnews del $$?"Number , All"
  1645.   ....--( List )--:msg operserv logonnews list
  1646.   ...--( OperNews )--
  1647.   ....--( Add )--:msg operserv opernews add $$?"Text to add"
  1648.   ....--( Del )--:msg operserv opernews del $$?"Number , All"
  1649.   ....--( List )--:msg operserv opernews list
  1650.   ...--( Random News )--
  1651.   ....--( Add )--:msg operserv randomnews add $$?"Text to add"
  1652.   ....--( Del )--:msg operserv randomnews del $$?"Number , All"
  1653.   ....--( List )--:msg operserv randomnews list
  1654.   ..--( Modules )--
  1655.   ...--( Info)--:msg operserv modinfo $$?"Filename"
  1656.   ...--( List )--:msg operserv modlist
  1657.   ...--( List Specific )--:msg operserv modlist $$?"Core , 3rd , Protocol , Encryption , Supported , Qatested"
  1658.   ...--( Load )--:msg operserv modload $$?"Filename"
  1659.   ...--( Unload )--:msg operserv modunload $$?"Filename"
  1660.   ..--( aKill List )--
  1661.   ...--( Add )--:msg operserv akill add $$?"Mask and Reason"
  1662.   ...--( Del )--:msg operserv akill del $$?"Mask , Entry-Number , List"
  1663.   ...--( List )--:msg operserv akill list $$?"Mask , List"
  1664.   ...--( View )--:msg operserv akill view $$?"Mask , List"
  1665.   ...--( Clear )--:msg operserv akill clear
  1666.   ..--( sGline List )--
  1667.   ...--( Add )--:msg operserv sgline add $$?"Mask and Reason"
  1668.   ...--( Del )--:msg operserv sgline del $$?"Mask , Entry-Number , List"
  1669.   ...--( List )--:msg operserv sgline list $$?"Mask , List"
  1670.   ...--( View )--:msg operserv sgline view $$?"Mask , List"
  1671.   ...--( Clear )--:msg operserv sgline clear
  1672.   ..--( sQline List )--
  1673.   ...--( Add )--:msg operserv sqline add $$?"Mask and Reason"
  1674.   ...--( Del )--:msg operserv sqline del $$?"Mask , Entry-Number , List"
  1675.   ...--( List )--:msg operserv sqline list $$?"Mask , List"
  1676.   ...--( View )--:msg operserv sqline view $$?"Mask , List"
  1677.   ...--( Clear )--:msg operserv sqline clear
  1678.   ..--( sZline List )--
  1679.   ...--( Add )--:msg operserv szline add $$?"Mask and Reason"
  1680.   ...--( Del )--:msg operserv szline del $$?"Mask , Entry-Number , List"
  1681.   ...--( List )--:msg operserv szline list $$?"Mask , List"
  1682.   ...--( View )--:msg operserv szline view $$?"Mask , List"
  1683.   ...--( Clear )--:msg operserv szline clear
  1684.   ..--( Server  )--
  1685.   ...--( Set )--
  1686.   ....--( Read Only )--:msg operserv set readonly $$?"On , Off"
  1687.   ....--( Log Chan )--:msg operserv set logchan $$?"On , Off"
  1688.   ....--( Debug )--:msg operserv set debug $$?"On , Off"
  1689.   ....--( No Expire )--:msg operserv set noexpire $$?"On , Off"
  1690.   ....--( Super Admin )--:msg operserv set superadmin $$?"On , Off"
  1691.   ....--( Sql )--:msg operserv set sql $$?"On , Off"
  1692.   ....--( Ignore )--:msg operserv set ignore $$?"On , Off"
  1693.   ....--( List )--:msg operserv set list
  1694.   ...--( No Op )--
  1695.   ....--( Add Server )--:msg operserv noop set $$?"Server"
  1696.   ....--( Del Server )--:msg operserv noop revoke $$?"Server"
  1697.   ...--( Jupe the Server )--:msg operserv jupe $$?"Server and Reason"
  1698.   ...--( Reload Services Config )--:msg operserv reload
  1699.   ...--( Update Databases )--:msg operserv update
  1700.   ...--( Restart Services )--:msg operserv restart
  1701.   ...--( Kill No Save )--:msg operserv quit
  1702.   ...--( Kill With Save )--:msg operserv shutdown
  1703.   .--( ChanServ )--
  1704.   ..--( Channel SetUp )--
  1705.   ...--( Register Channel )--:msg ChanServ REGISTER $chan $$?"Set Your Channel Password" $$?"Set Your Channel Description"
  1706.   ...--( Set )--
  1707.   ....--( Description )--:msg ChanServ SET $chan DESCRIPTION $$?"Description"
  1708.   ....--( Email )--:msg ChanServ SET $chan EMAIL $$?"Email Address"
  1709.   ....--( EnForce )--:msg ChanServ SET $chan ENFORCE $$?"ON , OFF"
  1710.   ....--( Entry Message )--:msg ChanServ SET $chan ENTRYMSG $$?"Channel Entry Message"
  1711.   ....--( Founder )--:msg ChanServ SET $chan FOUNDER $$?"Founders Nick"
  1712.   ....--( Keep Topic )--:msg ChanServ SET $chan KEEPTOPIC $$?"ON , OFF"
  1713.   ....--( Leave Ops )--:msg ChanServ SET $chan LEAVEOPS $$?"ON , OFF"
  1714.   ....--( Mode Lock )--:msg ChanServ SET $chan MLOCK $$?"Modes"
  1715.   ....--( Op Notice )--:msg ChanServ SET $chan OPNOTICE $$?"ON , OFF"
  1716.   ....--( Password )--:msg ChanServ SET $chan PASSWORD $$?"Channel Password"
  1717.   ....--( Private )--:msg ChanServ SET $chan PRIVATE $$?"ON , OFF"
  1718.   ....--( Restricted )--:msg ChanServ SET $chan RESTRICTED $$?"ON , OFF"
  1719.   ....--( Secure )--:msg ChanServ SET $chan SECURE $$?"ON , OFF"
  1720.   ....--( Secure Ops )--:msg ChanServ SET $chan SECUREOPS $$?"ON , OFF"
  1721.   ....--( Successor )--:msg ChanServ SET $chan SUCCESSOR $$?"Successor's Nick"
  1722.   ....--( Topic )--:msg chanserv topic $chan $$?"Topic"
  1723.   ....--( Topic Lock )--:msg ChanServ SET $chan TOPICLOCK $$?"ON , OFF"
  1724.   ....--( Url:msg ChanServ SET $chan URL $$?"Url Address"
  1725.   ...--( UnSet )--
  1726.   ....--( Email )--:msg ChanServ UNSET $chan EMAIL
  1727.   ....--( Entry Message )--:msg ChanServ UNSET $chan ENTRYMSG
  1728.   ....--( Successor )--:msg ChanServ UNSET $chan SUCCESSOR
  1729.   ....--( Url )--:msg ChanServ UNSET $chan URL
  1730.   ..--( Channel Modes )--
  1731.   ...--( Administrator Only Channel +A )--
  1732.   ....--( On )--:msg ChanServ SET $chan MLOCK +A
  1733.   ....--( Off )--:msg ChanServ SET $chan MLOCK -A
  1734.   ...--( Block ANSII Color +c )--
  1735.   ....--( On )--:msg ChanServ SET $chan MLOCK +c
  1736.   ....--( Off )--:msg ChanServ SET $chan MLOCK -c
  1737.   ...--( No CTCP'S Allowed +C )--
  1738.   ....--( On )--:msg ChanServ SET $chan MLOCK +C
  1739.   ....--( Off )--:msg ChanServ SET $chan MLOCK -C  
  1740.   ...--( Flood Protection +f )--
  1741.   ....--( On )--:MODE $chan +f $$?"Lines:Seconds-Example 6:3"
  1742.   ....--( Off )--:MODE $chan -f
  1743.   ...--( Swear Word Protection +G )--
  1744.   ....--( On )--:msg ChanServ SET $chan MLOCK +G
  1745.   ....--( Off )--:msg ChanServ SET $chan MLOCK -G
  1746.   ...--( No +I User May Join +H )--
  1747.   ....--( On )--:msg ChanServ SET $chan MLOCK +H
  1748.   ....--( Off )--:msg ChanServ SET $chan MLOCK -H
  1749.   ...--( Invite Only +i )--
  1750.   ....--( On )--:msg ChanServ SET $chan MLOCK +i
  1751.   ....--( Off )--:msg ChanServ SET $chan MLOCK -i
  1752.   ...--( Users Need Channel Key To Join +k )--
  1753.   ....--( On )--:MODE $chan +k $$?"Channel Key"
  1754.   ....--( Off )--:MODE $chan -k $$?"Channel Key"
  1755.   ...--( /Knock is not allowed +K )--
  1756.   ....--( On )--:MODE $chan +K
  1757.   ....--( Off )--:MODE $chan -K
  1758.   ...--( Most Users Allowed In Channel +l )--
  1759.   ....--( On )--:msg ChanServ SET $chan MLOCK +l $$?"Number Of Users"
  1760.   ....--( Off )--:msg ChanServ SET $chan MLOCK -l
  1761.   ...--( If Channel Is Full Users Go To 2nd Channel +L )--
  1762.   ....--( On )--:msg ChanServ SET $chan MLOCK +L $$?"Channel 2 Name"
  1763.   ....--( Off )--:msg ChanServ SET $chan MLOCK -L
  1764.   ...--( Users Need +v To Speak +m )--
  1765.   ....--( On )--:msg ChanServ SET $chan MLOCK +m
  1766.   ....--( Off )--:msg ChanServ SET $chan MLOCK -m
  1767.   ...--( Registered Nicks Only Allowed +M )--
  1768.   ....--( On )--:MODE $chan +M
  1769.   ....--( Off )--:MODE SET $chan -M
  1770.   ...--( No OutSide Messages +n )--
  1771.   ....--( On )--:msg ChanServ SET $chan MLOCK +n
  1772.   ....--( Off )--:msg ChanServ SET $chan MLOCK -n
  1773.   ...--( No NickName Changes In Channel +N )--
  1774.   ....--( On )--:msg ChanServ SET $chan MLOCK +N
  1775.   ....--( Off )--:msg ChanServ SET $chan MLOCK -N
  1776.   ...--( IrCOP Only Channel +O )--
  1777.   ....--( On )--:msg ChanServ SET $chan MLOCK +O
  1778.   ....--( Off )--:msg ChanServ SET $chan MLOCK -O
  1779.   ...--( Private Channel +p )--
  1780.   ....--( On )--:msg ChanServ SET $chan MLOCK +p
  1781.   ....--( Off )--:msg ChanServ SET $chan MLOCK -p
  1782.   ...--( No Kicks Allowed In Channel +Q )--
  1783.   ....--( On )--:msg ChanServ SET $chan MLOCK +Q
  1784.   ....--( Off )--:msg ChanServ SET $chan MLOCK -Q
  1785.   ...--( Only Registered Nicks May Join +R )--
  1786.   ....--( On )--:msg ChanServ SET $chan MLOCK +R
  1787.   ....--( Off )--:msg ChanServ SET $chan MLOCK -R
  1788.   ...--( Secret Channel +s )--
  1789.   ....--( On )--:msg ChanServ SET $chan MLOCK +s
  1790.   ....--( Off )--:msg ChanServ SET $chan MLOCK -s
  1791.   ...--( No Color +S )--
  1792.   ....--( On )--:msg ChanServ SET $chan MLOCK +S
  1793.   ....--( Off )--:msg ChanServ SET $chan MLOCK -S
  1794.   ...--( Only Op's May Set The Topic +t )--
  1795.   ....--( On )--:msg ChanServ SET $chan MLOCK +t
  1796.   ....--( Off )--:msg ChanServ SET $chan MLOCK -t
  1797.   ...--( No Channel Notices Allowed +T )--
  1798.   ....--( On )--:MODE $chan +T
  1799.   ....--( Off )--:MODE $chan -T
  1800.   ...--( Auditorium +u )--
  1801.   ....--( On )--:msg ChanServ SET $chan MLOCK +u
  1802.   ....--( Off )--:msg ChanServ SET $chan MLOCK -u
  1803.   ...--( /Invite Is Not Allowed +V )--
  1804.   ....--( On )--:msg ChanServ SET $chan MLOCK +V
  1805.   ....--( Off )--:msg ChanServ SET $chan MLOCK -V
  1806.   ...--( Only SSL Clients May Join +z )--
  1807.   ....--( On )--:msg ChanServ SET $chan MLOCK +z
  1808.   ....--( Off )--:msg ChanServ SET $chan MLOCK -z
  1809.   ..--( Channel Access Lists )--
  1810.   ...--( Sop )--
  1811.   ....--( Add )--:msg ChanServ SOP $chan ADD $$1
  1812.   ....--( Count )--:msg ChanServ SOP $chan COUNT
  1813.   ....--( Del )--:msg ChanServ SOP $chan DEL $$?"Nick"
  1814.   ....--( List )--:msg ChanServ SOP $chan LIST
  1815.   ...--( Aop )--
  1816.   ....--( Add )--:msg ChanServ AOP $chan ADD $$?"Nick"
  1817.   ....--( Count )--:msg ChanServ AOP $chan COUNT
  1818.   ....--( Del )--:msg ChanServ AOP $chan DEL $$?"Nick"
  1819.   ....--( List )--:msg ChanServ AOP $chan LIST
  1820.   ...--( Hop )--
  1821.   ....--( Add Nick )--:msg ChanServ HOP $chan ADD $$?"Nick"
  1822.   ....--( Count Entries )--:msg ChanServ HOP $chan COUNT
  1823.   ....--( Delete Nick )--:msg ChanServ HOP $chan DEL $$?"Nick"
  1824.   ....--( List Entries )--:msg ChanServ HOP $chan LIST
  1825.   ...--( Vop )--
  1826.   ....--( Add Nick )--:msg ChanServ VOP $chan ADD $$?"Nick"
  1827.   ....--( Count Entries )--:msg ChanServ VOP $chan COUNT
  1828.   ....--( Delete Nick )--:msg ChanServ VOP $chan DEL $$?"Nick"
  1829.   ....--( List Entries )--:msg ChanServ VOP $chan LIST
  1830.   .--( NickServ )--
  1831.   ..--( Status )--:msg nickserv status $$?"Nick"
  1832.   ..--( Alist )--:msg nickserv alist $$?"Nick , Level"
  1833.   ..--( List Pattern )--:msg nickserv list $$?"Pattern"
  1834.   ..--( List Other )--:msg nickserv list $$?"Forbidden , Suspended , NoExpire , Unconfirmed"
  1835.   ..--( Info )--:msg nickserv info $$?"Nick"
  1836.   ..--( Info All )--:msg nickserv info $$?"Nick" all
  1837.   ..--( Register Nick )--:msg nickserv register $$?"Password" $$?"Email"
  1838.   ..--( Update )--:msg nickserv update
  1839.   ..--( Drop Nick )--:msg nickserv drop $$?"Nick"
  1840.   ..--( Identify )--:msg nickserv identify $$?"Password"
  1841.   ..--( Re-Identify )--:msg nickserv logout $$?"Nick" validate
  1842.   ..--( Ghost )--:msg nickserv ghost $$?"Nick" $$?"Password"
  1843.   ..--( Recover )--:msg nickserv recover $$?"Nick" $$?"Password"
  1844.   ..--( Release )--:msg nickserv release $$?"Nick" $$?"Password"
  1845.   ..--( Logout )--:msg nickserv logout $$?"Nick"
  1846.   ..--( Set )--
  1847.   ...--( Display )--:msg nickserv set display $$?"New-Display"
  1848.   ...--( Password )--:msg nickserv set password $$?"New-Password"
  1849.   ...--( Language )--:msg nickserv set language $$?"1-13"
  1850.   ...--( Language Help )--:msg nickserv help set language
  1851.   ...--( Url )--:msg nickserv set url $$?"Url"
  1852.   ...--( Email )--:msg nickserv set email $$?"New-Email"
  1853.   ...--( ICQ )--:msg nickserv set icq $$?"ICQ-Number"
  1854.   ...--( Greet )--:msg nickserv set greet $$?"Message"
  1855.   ...--( Kill )--:msg nickserv set kill $$?"On , Quick , Immed , Off"
  1856.   ...--( Secure )--:msg nickserv set secure $$?"On , Off"
  1857.   ...--( Private )--:msg nickserv set private $$?"On , Off"
  1858.   ...--( Hide )--:msg nickserv set hide $$?"Email , Status , Usermask , Quit" $$?""On , Off"
  1859.   ...--( Services Msg )--:msg nickserv set msg $$?"On , Off"
  1860.   ...--( Auto Op )--:msg nickserv set autoop $$?"On , Off"
  1861.   ..--( Sa-Set )--
  1862.   ...--( Display )--:msg nickserv saset display $$?"New-Display"
  1863.   ...--( Password )--:msg nickserv saset password $$?"New-Password"
  1864.   ...--( Language )--:msg nickserv saset language $$?"1-13"
  1865.   ...--( Language Help )--:msg nickserv help set language
  1866.   ...--( Url )--:msg nickserv saset url $$?"Url"
  1867.   ...--( Email )--:msg nickserv saset email $$?"New-Email"
  1868.   ...--( ICQ )--:msg nickserv saset icq $$?"ICQ-Number"
  1869.   ...--( Greet )--:msg nickserv saset greet $$?"Message"
  1870.   ...--( Kill )--:msg nickserv saset kill $$?"On , Quick , Immed , Off"
  1871.   ...--( Secure )--:msg nickserv saset secure $$?"On , Off"
  1872.   ...--( Private )--:msg nickserv saset private $$?"On , Off"
  1873.   ...--( Hide )--:msg nickserv saset hide $$?"Email , Status , Usermask , Quit" $$?""On , Off"
  1874.   ...--( Services Msg )--:msg nickserv saset msg $$?"On , Off"
  1875.   ...--( Auto Op )--:msg nickserv saset autoop $$?"On , Off"
  1876.   ..--( Get )--
  1877.   ...--( Email )--:msg nickserv getemail $$?"user@emailhost"
  1878.   ...--( Password )--:msg nickserv getpass $$?"Nick"
  1879.   ..--( Forbid )--:msg nickserv forbid $$?"Nick" $$?"Reason"
  1880.   ..--( Suspend )--:msg nickserv suspend $$?"Nick" $$?"Reason"
  1881.   ..--( Unsuspend )--:msg nickserv unsuspend $$?"Nick"
  1882.   ..--( oInfo )--:msg nickserv oinfo $$?"Add , Del" $$?"Nick" $$?"Info to add"
  1883.   ..--( Access )--
  1884.   ...--( Add )--:msg nickserv add $$?"Mask"
  1885.   ...--( Del )--:msg nickserv del $$?"Mask"
  1886.   ...--( List )--:msg nickserv list
  1887.   ..--( Groups )--
  1888.   ...--( Join )--:msg nickserv group $$?"Target" $$?"Password"
  1889.   ...--( List )--:msg nickserv glist $$?"Nick"
  1890.   .--( BotServ )--
  1891.   ..--( add a bot )--:msg botserv bot add $$?"nick" $$?"user" $$?"host" $$?"real"
  1892.   ..--( del a bot )--:msg botserv bot del $$?"nick"
  1893.   ..-
  1894.   ..--( assign a bot )--:msg botserv assign $$?"channel" $$?"nick"
  1895.   ..--( unassign a bot )--:msg botserv unassign $$?"channel"
  1896.   ..-
  1897.   ..--( set )--
  1898.   ...--( dont kick ops )--:msg botserv set $$?"channel" dontkickops $$?"on  off"
  1899.   ...--( dont kick voices )--:msg botserv set $$?"channel" dontkickvoices $$?"on  off"
  1900.   ...--( greet )--:msg botserv set $$?"channel" greet $$?"on  off"
  1901.   ...--( fantasy )--:msg botserv set $$?"channel" fantasy $$?"on  off"
  1902.   ...--( symbiosis )--:msg botserv set $$?"channel" symbiosis $$?"on  off"
  1903.   ...-
  1904.   ...--( no bot )--:msg botserv set $$?"channel" nobot $$?"on  off"
  1905.   ...--( private )--:msg botserv set $$?"channel" private $$?"on  off"
  1906.   ..-
  1907.   ..--( bot talk )--
  1908.   ...--( act )--:msg botserv act $$?"channel" $$?"text"
  1909.   ...--( say )--:msg botserv say $$?"channel" $$?"text"
  1910.   ..-
  1911.   ..--( info )--:msg botserv info $$?"channel  nick"
  1912.   ..--( list bots )--:msg botserv botlist
  1913.   .--( HostServ )--
  1914.   ..--( On )--:msg hostserv on
  1915.   ..--( Off )--:msg hostserv off
  1916.   ..--( Group )--:msg hostserv group
  1917.   ..--( List By Key )--:msg hostserv list $$?"key"
  1918.   ..--( List By Range )--:msg hostserv list $$?"range eg. #1-3"
  1919.   ..--( Set )--:msg hostserv set $$?"nick" $$?"hostmask"
  1920.   ..--( SetAll )--:msg hostserv setall $$?"nick" $$?"hostmask"
  1921.   ..--( Del )--:msg hostserv del $$?"nick"
  1922.   ..--( DelAll )--:msg hostserv delall $$?"nick"
  1923.   ..--( Request )--:msg hostserv request $$?"vhost"
  1924.   ..--( Activate )--:msg hostserv activate $$?"nick"
  1925.   ..--( Reject )--:msg hostserv reject $$?"nick"
  1926.   ..--( Waiting )--:msg hostserv waiting
  1927. }
  1928. ; ========================================
  1929. ; END SERVICES COMMANDS MENU
  1930. ; ========================================
  1931.  
  1932. ; ========================================
  1933. ; SERVICES COMMANDS HELP MENU
  1934. ; ========================================
  1935. menu status,menubar,channel,nicklist,query {
  1936.   --( Services Commands Help )--
  1937.   .--( OperServ )--
  1938.   ..--( DefCon )--:say /msg operserv defcon 1|2|3|4|5
  1939.   ..--( Message All Server Users )--:say /msg operserv global MESSAGE
  1940.   ..--( Kills )--
  1941.   ...--( Kill All Channel Users )--:say /msg operserv chankill CHANNEL-TO-KILL
  1942.   ...--( Kill Clones )--:say /msg operserv killclones NICK
  1943.   ..--( Channel Settings )--
  1944.   ...--( Kick User )--:say /msg operserv kick #CHANNEL USER REASON
  1945.   ...--( Change Channel Modes )--:say /msg operserv mode #CHANNEL MODES
  1946.   ...--( Clear All Channel Modes )--:say /msg operserv clearmodes #CHANNEL all
  1947.   ...--( Clear Channel Modes )--:say /msg operserv clearmodes #CHANNEL MODES
  1948.   ..--( Display )--
  1949.   ...--( Services and Network Stats )--:say /msg operserv stats
  1950.   ...--( Staff and Online Status )--:say /msg operserv staff
  1951.   ...--( Host Sessions )--:say /msg operserv session list NUMBER-OF-SESSIONS
  1952.   ...--( Channel Records )--:say /msg operserv chanlist
  1953.   ...--( User Records )--:say /msg operserv userlist
  1954.   ..--( Modify )--
  1955.   ...--( Services Admin List )--
  1956.   ....--( Add )--:say /msg operserv admin add NICK
  1957.   ....--( Del )--:say /msg operserv admin del NICK|ENTRY-NUMBER|LIST
  1958.   ....--( List )--:say /msg operserv admin list
  1959.   ....--( Clear )--:say /msg operserv admin clear
  1960.   ...--( Services Oper List )--
  1961.   ....--( Add )--:say /msg operserv oper add NICK
  1962.   ....--( Del )--:say /msg operserv oper del NICK|ENTRY-NUMBER|LIST
  1963.   ....--( List )--:say /msg operserv oper list
  1964.   ....--( Clear )--:say /msg operserv oper clear
  1965.   ...--( Services Ignore List )--
  1966.   ....--( Add )--:say /msg operserv ignore add NICK
  1967.   ....--( Del )--:say /msg operserv ignore del NICK|ENTRY-NUMBER|LIST
  1968.   ....--( List )--:say /msg operserv ignore list
  1969.   ....--( Clear )--:say /msg operserv ignore clear
  1970.   ...--( Session-Limit Exception List )--
  1971.   ....--( Add )--:say /msg operserv exception add NICK
  1972.   ....--( Del )--:say /msg operserv exception del NICK|ENTRY-NUMBER|LIST
  1973.   ....--( List )--:say /msg operserv exception list
  1974.   ....--( Clear )--:say /msg operserv exception clear
  1975.   ..--( News Related )--
  1976.   ...--( Logon News )--
  1977.   ....--( Add )--:say /msg operserv logonnews add TEXT-TO-ADD
  1978.   ....--( Del )--:say /msg operserv logonnews del NUMBER|ALL
  1979.   ....--( List )--:say /msg operserv logonnews list
  1980.   ...--( OperNews )--
  1981.   ....--( Add )--:say /msg operserv opernews add TEXT-TO-ADD
  1982.   ....--( Del )--:say /msg operserv opernews del NUMBER|ALL
  1983.   ....--( List )--:say /msg operserv opernews list
  1984.   ...--( Random News )--
  1985.   ....--( Add )--:say /msg operserv randomnews add TEXT-TO-ADD
  1986.   ....--( Del )--:say /msg operserv randomnews del NUMBER|ALL
  1987.   ....--( List )--:say /msg operserv randomnews list
  1988.   ..--( Modules )--
  1989.   ...--( Info)--:say /msg operserv modinfo FILENAME
  1990.   ...--( List )--:say /msg operserv modlist
  1991.   ...--( List Specific )--:say /msg operserv modlist CORE|3RD|PROTOCOL|ENCRYPTION|SUPPORTED|QATESTED
  1992.   ...--( Load )--:say /msg operserv modload FILENAME
  1993.   ...--( Unload )--:say /msg operserv modunload FILENAME
  1994.   ..--( aKill List )--
  1995.   ...--( Add )--:say /msg operserv akill add MASK REASON
  1996.   ...--( Del )--:say /msg operserv akill del MASK|ENTRY-NUMBER|LIST
  1997.   ...--( List )--:say /msg operserv akill list MASK|LIST
  1998.   ...--( View )--:say /msg operserv akill view MASK|LIST
  1999.   ...--( Clear )--:say /msg operserv akill clear
  2000.   ..--( sGline List )--
  2001.   ...--( Add )--:say /msg operserv sgline add MASK REASON
  2002.   ...--( Del )--:say /msg operserv sgline del MASK|ENTRY-NUMBER|LIST
  2003.   ...--( List )--:say /msg operserv sgline list MASK|LIST
  2004.   ...--( View )--:say /msg operserv sgline view MASK|LIST
  2005.   ...--( Clear )--:say /msg operserv sgline clear
  2006.   ..--( sQline List )--
  2007.   ...--( Add )--:say /msg operserv sqline add MASK REASON
  2008.   ...--( Del )--:say /msg operserv sqline del MASK|ENTRY-NUMBER|LIST
  2009.   ...--( List )--:say /msg operserv sqline list MASK|LIST
  2010.   ...--( View )--:say /msg operserv sqline view MASK|LIST
  2011.   ...--( Clear )--:say /msg operserv sqline clear
  2012.   ..--( sZline List )--
  2013.   ...--( Add )--:say /msg operserv szline add MASK REASON
  2014.   ...--( Del )--:say /msg operserv szline del MASK|ENTRY-NUMBER|LIST
  2015.   ...--( List )--:say /msg operserv szline list MASK|LIST
  2016.   ...--( View )--:say /msg operserv szline view MASK|LIST
  2017.   ...--( Clear )--:say /msg operserv szline clear
  2018.   ..--( Server  )--
  2019.   ...--( Set )--
  2020.   ....--( Read Only )--:say /msg operserv set readonly ON|OFF
  2021.   ....--( Log Chan )--:say /msg operserv set logchan ON|OFF
  2022.   ....--( Debug )--:say /msg operserv set debug ON|OFF
  2023.   ....--( No Expire )--:say /msg operserv set noexpire ON|OFF
  2024.   ....--( Super Admin )--:say /msg operserv set superadmin ON|OFF
  2025.   ....--( Sql )--:say /msg operserv set sql ON|OFF
  2026.   ....--( Ignore )--:say /msg operserv set ignore ON|OFF
  2027.   ....--( List )--:say /msg operserv set list
  2028.   ...--( No Op )--
  2029.   ....--( Add Server )--:say /msg operserv noop set SERVER
  2030.   ....--( Del Server )--:say /msg operserv noop revoke SERVER
  2031.   ...--( Jupe the Server )--:say /msg operserv jupe SERVER REASON
  2032.   ...--( Reload Services Config )--:say /msg operserv reload
  2033.   ...--( Update Databases )--:say /msg operserv update
  2034.   ...--( Restart Services )--:say /msg operserv restart
  2035.   ...--( Kill No Save )--:say /msg operserv quit
  2036.   ...--( Kill With Save )--:say /msg operserv shutdown
  2037.   .--( ChanServ )--
  2038.   ..--( Channel SetUp )--
  2039.   ...--( Register Channel )--:say /msg ChanServ register #CHANNEL PASSWORD DESCRIPTION
  2040.   ...--( Set )--
  2041.   ....--( Description )--:say /msg ChanServ set #CHANNEL description DESCRIPTION
  2042.   ....--( Email )--:say /msg ChanServ set #CHANNEL email EMAIL
  2043.   ....--( EnForce )--:say /msg ChanServ set #CHANNEL enforce ON|OFF
  2044.   ....--( Entry Message )--:say /msg ChanServ set #CHANNEL entrymsg ENTRYMSG
  2045.   ....--( Founder )--:say /msg ChanServ set #CHANNEL founder FOUNDER
  2046.   ....--( Keep Topic )--:say /msg ChanServ set #CHANNEL KEEPTOPIC ON|OFF
  2047.   ....--( Leave Ops )--:say /msg ChanServ set #CHANNEL LEAVEOPS ON|OFF
  2048.   ....--( Mode Lock )--:say /msg ChanServ set #CHANNEL mlock MODES
  2049.   ....--( Op Notice )--:say /msg ChanServ set #CHANNEL opnotice ON|OFF
  2050.   ....--( Password )--:say /msg ChanServ set #CHANNEL password PASSWORD
  2051.   ....--( Private )--:say /msg ChanServ set #CHANNEL private ON|OFF
  2052.   ....--( Restricted )--:say /msg ChanServ set #CHANNEL restricted ON|OFF
  2053.   ....--( Secure )--:say /msg ChanServ set #CHANNEL secure ON|OFF
  2054.   ....--( Secure Ops )--:say /msg ChanServ set #CHANNEL secureops ON|OFF
  2055.   ....--( Successor )--:say /msg ChanServ set #CHANNEL successor SUCCESSOR
  2056.   ....--( Topic )--:say /msg chanserv topic #CHANNEL TOPIC
  2057.   ....--( Topic Lock )--:say /msg ChanServ set #CHANNEL topiclock ON|OFF
  2058.   ....--( Url:say /msg ChanServ set #CHANNEL url URL
  2059.   ...--( UnSet )--
  2060.   ....--( Email )--:say /msg ChanServ unset #CHANNEL EMAIL
  2061.   ....--( Entry Message )--:say /msg ChanServ unset #CHANNEL ENTRY-MSG
  2062.   ....--( Successor )--:say /msg ChanServ unset #CHANNEL SUCCESSOR
  2063.   ....--( Url )--:say /msg ChanServ unset #CHANNEL URL
  2064.   ..--( Channel Modes )--
  2065.   ...--( Administrator Only Channel +A )--
  2066.   ....--( On )--:say /msg ChanServ set #CHANNEL mlock +A
  2067.   ....--( Off )--:say /msg ChanServ set #CHANNEL mlock -A
  2068.   ...--( Block ANSII Color +c )--
  2069.   ....--( On )--:say /msg ChanServ set #CHANNEL mlock +c
  2070.   ....--( Off )--:say /msg ChanServ set #CHANNEL mlock -c
  2071.   ...--( No CTCP'S Allowed +C )--
  2072.   ....--( On )--:say /msg ChanServ set #CHANNEL mlock +C
  2073.   ....--( Off )--:say /msg ChanServ set #CHANNEL mlock -C  
  2074.   ...--( Flood Protection +f )--
  2075.   ....--( On )--:say /mode #CHANNEL +f LINES:SECONDS
  2076.   ....--( Off )--:say /mode #CHANNEL -f
  2077.   ...--( Swear Word Protection +G )--
  2078.   ....--( On )--:say /msg ChanServ set #CHANNEL mlock +G
  2079.   ....--( Off )--:say /msg ChanServ set #CHANNEL mlock -G
  2080.   ...--( No +I User May Join +H )--
  2081.   ....--( On )--:say /msg ChanServ set #CHANNEL mlock +H
  2082.   ....--( Off )--:say /msg ChanServ set #CHANNEL mlock -H
  2083.   ...--( Invite Only +i )--
  2084.   ....--( On )--:say /msg ChanServ set #CHANNEL mlock +i
  2085.   ....--( Off )--:say /msg ChanServ set #CHANNEL mlock -i
  2086.   ...--( Users Need Channel Key To Join +k )--
  2087.   ....--( On )--:say /mode #CHANNEL +k CHANNEL-KEY
  2088.   ....--( Off )--:say /mode #CHANNEL -k CHANNEL-KEY
  2089.   ...--( /Knock is not allowed +K )--
  2090.   ....--( On )--:say /mode #CHANNEL +K
  2091.   ....--( Off )--:say /mode #CHANNEL -K
  2092.   ...--( Most Users Allowed In Channel +l )--
  2093.   ....--( On )--:say /msg ChanServ set #CHANNEL mlock +l NUMBER-OF-USERS
  2094.   ....--( Off )--:say /msg ChanServ set #CHANNEL mlock -l
  2095.   ...--( If Channel Is Full Users Go To 2nd Channel +L )--
  2096.   ....--( On )--:say /msg ChanServ set #CHANNEL mlock +L CHANNEL-2-NAME
  2097.   ....--( Off )--:say /msg ChanServ set #CHANNEL mlock -L
  2098.   ...--( Users Need +v To Speak +m )--
  2099.   ....--( On )--:say /msg ChanServ set #CHANNEL mlock +m
  2100.   ....--( Off )--:say /msg ChanServ set #CHANNEL mlock -m
  2101.   ...--( Registered Nicks Only Allowed +M )--
  2102.   ....--( On )--:say /mode #CHANNEL +M
  2103.   ....--( Off )--:say /mode set #CHANNEL -M
  2104.   ...--( No OutSide Messages +n )--
  2105.   ....--( On )--:say /msg ChanServ set #CHANNEL mlock +n
  2106.   ....--( Off )--:say /msg ChanServ set #CHANNEL mlock -n
  2107.   ...--( No NickName Changes In Channel +N )--
  2108.   ....--( On )--:say /msg ChanServ set #CHANNEL mlock +N
  2109.   ....--( Off )--:say /msg ChanServ set #CHANNEL mlock -N
  2110.   ...--( IrCOP Only Channel +O )--
  2111.   ....--( On )--:say /msg ChanServ set #CHANNEL mlock +O
  2112.   ....--( Off )--:say /msg ChanServ set #CHANNEL mlock -O
  2113.   ...--( Private Channel +p )--
  2114.   ....--( On )--:say /msg ChanServ set #CHANNEL mlock +p
  2115.   ....--( Off )--:say /msg ChanServ set #CHANNEL mlock -p
  2116.   ...--( No Kicks Allowed In Channel +Q )--
  2117.   ....--( On )--:say /msg ChanServ set #CHANNEL mlock +Q
  2118.   ....--( Off )--:say /msg ChanServ set #CHANNEL mlock -Q
  2119.   ...--( Only Registered Nicks May Join +R )--
  2120.   ....--( On )--:say /msg ChanServ set #CHANNEL mlock +R
  2121.   ....--( Off )--:say /msg ChanServ set #CHANNEL mlock -R
  2122.   ...--( Secret Channel +s )--
  2123.   ....--( On )--:say /msg ChanServ set #CHANNEL mlock +s
  2124.   ....--( Off )--:say /msg ChanServ set #CHANNEL mlock -s
  2125.   ...--( No Color +S )--
  2126.   ....--( On )--:say /msg ChanServ set #CHANNEL mlock +S
  2127.   ....--( Off )--:say /msg ChanServ set #CHANNEL mlock -S
  2128.   ...--( Only Op's May set The Topic +t )--
  2129.   ....--( On )--:say /msg ChanServ set #CHANNEL mlock +t
  2130.   ....--( Off )--:say /msg ChanServ set #CHANNEL mlock -t
  2131.   ...--( No Channel Notices Allowed +T )--
  2132.   ....--( On )--:say /mode #CHANNEL +T
  2133.   ....--( Off )--:say /mode #CHANNEL -T
  2134.   ...--( Auditorium +u )--
  2135.   ....--( On )--:say /msg ChanServ set #CHANNEL mlock +u
  2136.   ....--( Off )--:say /msg ChanServ set #CHANNEL mlock -u
  2137.   ...--( /Invite Is Not Allowed +V )--
  2138.   ....--( On )--:say /msg ChanServ set #CHANNEL mlock +V
  2139.   ....--( Off )--:say /msg ChanServ set #CHANNEL mlock -V
  2140.   ...--( Only SSL Clients May Join +z )--
  2141.   ....--( On )--:say /msg ChanServ set #CHANNEL mlock +z
  2142.   ....--( Off )--:say /msg ChanServ set #CHANNEL mlock -z
  2143.   ..--( Channel Access Lists )--
  2144.   ...--( Sop )--
  2145.   ....--( Add )--:say /msg ChanServ sop #CHANNEL add $$1
  2146.   ....--( Count )--:say /msg ChanServ sop #CHANNEL count
  2147.   ....--( Del )--:say /msg ChanServ sop #CHANNEL del NICK
  2148.   ....--( List )--:say /msg ChanServ sop #CHANNEL list
  2149.   ...--( Aop )--
  2150.   ....--( Add )--:say /msg ChanServ aop #CHANNEL add NICK
  2151.   ....--( Count )--:say /msg ChanServ aop #CHANNEL count
  2152.   ....--( Del )--:say /msg ChanServ aop #CHANNEL del NICK
  2153.   ....--( List )--:say /msg ChanServ aop #CHANNEL list
  2154.   ...--( Hop )--
  2155.   ....--( Add Nick )--:say /msg ChanServ hop #CHANNEL add NICK
  2156.   ....--( Count Entries )--:say /msg ChanServ hop #CHANNEL count
  2157.   ....--( Delete Nick )--:say /msg ChanServ hop #CHANNEL del NICK
  2158.   ....--( List Entries )--:say /msg ChanServ hop #CHANNEL list
  2159.   ...--( Vop )--
  2160.   ....--( Add Nick )--:say /msg ChanServ vop #CHANNEL add NICK
  2161.   ....--( Count Entries )--:say /msg ChanServ vop #CHANNEL count
  2162.   ....--( Delete Nick )--:say /msg ChanServ vop #CHANNEL del NICK
  2163.   ....--( List Entries )--:say /msg ChanServ vop #CHANNEL list
  2164.   .--( NickServ )--
  2165.   ..--( Status )--:say /msg nickserv status NICK
  2166.   ..--( Alist )--:say /msg nickserv alist NICK|LEVEL
  2167.   ..--( List Pattern )--:say /msg nickserv list PATTERN
  2168.   ..--( List Other )--:say /msg nickserv list FORBIDDEN|SUSPENDED|NOEXPIRE|UNCONFIRMED
  2169.   ..--( Info )--:say /msg nickserv info NICK
  2170.   ..--( Info All )--:say /msg nickserv info NICK all
  2171.   ..--( Register Nick )--:say /msg nickserv register PASSWORD EMAIL
  2172.   ..--( Update )--:say /msg nickserv update
  2173.   ..--( Drop Nick )--:say /msg nickserv drop NICK
  2174.   ..--( Identify )--:say /msg nickserv identify PASSWORD
  2175.   ..--( Re-Identify )--:say /msg nickserv logout NICK validate
  2176.   ..--( Ghost )--:say /msg nickserv ghost NICK PASSWORD
  2177.   ..--( Recover )--:say /msg nickserv recover NICK PASSWORD
  2178.   ..--( Release )--:say /msg nickserv release NICK PASSWORD
  2179.   ..--( Logout )--:say /msg nickserv logout NICK
  2180.   ..--( Set )--
  2181.   ...--( Display )--:say /msg nickserv set display NEW-DISPLAY
  2182.   ...--( Password )--:say /msg nickserv set password NEW-PASSWORD
  2183.   ...--( Language )--:say /msg nickserv set language 1-13
  2184.   ...--( Language Help )--:say /msg nickserv help set language
  2185.   ...--( Url )--:say /msg nickserv set url URL
  2186.   ...--( Email )--:say /msg nickserv set email NEW-EMAIL
  2187.   ...--( ICQ )--:say /msg nickserv set icq ICQ-NUMBER
  2188.   ...--( Greet )--:say /msg nickserv set greet MESSAGE
  2189.   ...--( Kill )--:say /msg nickserv set kill                                              
  2190.   ...--( Secure )--:say /msg nickserv set secure ON|OFF
  2191.   ...--( Private )--:say /msg nickserv set private ON|OFF
  2192.   ...--( Hide )--:say /msg nickserv set hide EMAIL|STATUS|USERMASK|QUIT ON|OFF
  2193.   ...--( Services say /msg )--:say /msg nickserv set msg ON|OFF
  2194.   ...--( Auto Op )--:say /msg nickserv set autoop ON|OFF
  2195.   ..--( Sa-Set )--
  2196.   ...--( Display )--:say /msg nickserv saset display NEW-DISPLAY
  2197.   ...--( Password )--:say /msg nickserv saset password NEW-PASSWORD
  2198.   ...--( Language )--:say /msg nickserv saset language 1-13
  2199.   ...--( Language Help )--:say /msg nickserv help set language
  2200.   ...--( Url )--:say /msg nickserv saset url URL
  2201.   ...--( Email )--:say /msg nickserv saset email NEW-EMAIL
  2202.   ...--( ICQ )--:say /msg nickserv saset icq ICQ-NUMBER
  2203.   ...--( Greet )--:say /msg nickserv saset greet MESSAGE
  2204.   ...--( Kill )--:say /msg nickserv saset kill ON|QUICK|IMMED|OFF
  2205.   ...--( Secure )--:say /msg nickserv saset secure ON|OFF
  2206.   ...--( Private )--:say /msg nickserv saset private ON|OFF
  2207.   ...--( Hide )--:say /msg nickserv saset hide EMAIL|STATUS|USERMASK|QUIT ON|OFF
  2208.   ...--( Services say /msg )--:say /msg nickserv saset msg ON|OFF
  2209.   ...--( Auto Op )--:say /msg nickserv saset autoop ON|OFF
  2210.   ..--( Get )--
  2211.   ...--( Email )--:say /msg nickserv getemail USER@EMAILHOST
  2212.   ...--( Password )--:say /msg nickserv getpass NICK
  2213.   ..--( Forbid )--:say /msg nickserv forbid NICK REASON
  2214.   ..--( Suspend )--:say /msg nickserv suspend NICK REASON
  2215.   ..--( Unsuspend )--:say /msg nickserv unsuspend NICK
  2216.   ..--( oInfo )--:say /msg nickserv oinfo ADD|DEL NICK INFO-TO-ADD
  2217.   ..--( Access )--
  2218.   ...--( Add )--:say /msg nickserv add MASK
  2219.   ...--( Del )--:say /msg nickserv del MASK
  2220.   ...--( List )--:say /msg nickserv list
  2221.   ..--( Groups )--
  2222.   ...--( Join )--:say /msg nickserv group TARGET PASSWORD
  2223.   ...--( List )--:say /msg nickserv glist NICK
  2224.   .--( BotServ )--
  2225.   ..--( add a bot )--:say /msg botserv bot add NICK USER HOST REAL
  2226.   ..--( del a bot )--:say /msg botserv bot del NICK
  2227.   ..-
  2228.   ..--( assign a bot )--:say /msg botserv assign #CHANNEL NICK
  2229.   ..--( unassign a bot )--:say /msg botserv unassign #CHANNEL
  2230.   ..-
  2231.   ..--( set )--
  2232.   ...--( dont kick ops )--:say /msg botserv set #CHANNEL dontkickops ON|OFF
  2233.   ...--( dont kick voices )--:say /msg botserv set #CHANNEL dontkickvoices ON|OFF
  2234.   ...--( greet )--:say /msg botserv set #CHANNEL greet ON|OFF
  2235.   ...--( fantasy )--:say /msg botserv set #CHANNEL fantasy ON|OFF
  2236.   ...--( symbiosis )--:say /msg botserv set #CHANNEL symbiosis ON|OFF
  2237.   ...-
  2238.   ...--( no bot )--:say /msg botserv set #CHANNEL nobot ON|OFF
  2239.   ...--( private )--:say /msg botserv set #CHANNEL private ON|OFF
  2240.   ..-
  2241.   ..--( bot talk )--
  2242.   ...--( act )--:say /msg botserv act #CHANNEL TEXT
  2243.   ...--( say )--:say /msg botserv say #CHANNEL TEXT
  2244.   ..-
  2245.   ..--( info )--:say /msg botserv info #CHANNEL|NICK
  2246.   ..--( list bots )--:say /msg botserv botlist
  2247.   .--( HostServ )--
  2248.   ..--( On )--:say /msg hostserv on
  2249.   ..--( Off )--:say /msg hostserv off
  2250.   ..--( Group )--:say /msg hostserv group
  2251.   ..--( List By Key )--:say /msg hostserv list KEY
  2252.   ..--( List By Range )--:say /msg hostserv list RANGE
  2253.   ..--( Set )--:say /msg hostserv set NICK HOSTMASK
  2254.   ..--( SetAll )--:say /msg hostserv setall NICK HOSTMASK
  2255.   ..--( Del )--:say /msg hostserv del NICK
  2256.   ..--( DelAll )--:say /msg hostserv delall NICK
  2257.   ..--( Request )--:say /msg hostserv request VHOST
  2258.   ..--( Activate )--:say /msg hostserv activate NICK
  2259.   ..--( Reject )--:say /msg hostserv reject NICK
  2260.   ..--( Waiting )--:say /msg hostserv waiting
  2261.   -
  2262. }
  2263. ; ========================================
  2264. ; END SERVICES COMMANDS HELP MENU
  2265. ; ========================================

Serverfreakz - Nopaste ist f;r Quelltexte und generellen Debugging Text.

Login oder Registrieren um zu bearbeiten, löschen, um deine Pastes zu verfolgen und mehr.

Raw Paste

Login oder Registrieren um diesen Paste zu bearbeiten oder zu forken. Es ist kostenlos.