Advertisement
illpastethat

Modified BNC script Raymond

Aug 1st, 2014
547
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
mIRC 43.64 KB | None | 0 0
  1. ; Modified BNC Script
  2.  
  3. ;================================================================================== LOADING HASH TABLES
  4.  
  5. ; Works for all anope/bahamut/hybrid
  6. #bnc off
  7. raw 307:*: set -u5 %checknick $2 | checkID %bncnick
  8. alias -l checkID {
  9.   if ((%checknick == $1) && (!$hget($+($network,.aps),$+(%checknick,.tos)))) {
  10.     .msg %checknick Okay. Your nickname appears to be %checknick $+ . If you would like to continue with using your nickname as your login username type "4use default" or type "4username YourSpecifiedUsername". NOTE: You need to remember this username to log into the BNC service. Please choose something that you will remember.
  11.     var %n = $network | leafghoul %checknick on %n has accepted to comply with the BNC Terms of Service in their application. $asctime(dddd/mmm/yyyy - hh:nn:ss TT) $+ . Info: $address(%checknick,5)
  12.     unset %checknick
  13.   }
  14.   else {
  15.     .msg $1 Your nickname is not registered with NickServ. Please try again after you register. For help with registration, please type "4/nickserv help register"
  16.   }
  17. }
  18.  
  19. ;on *:notice:*:?:{
  20. ;tokenize 32 $strip($1-)
  21. ;if ($nick != NickServ) { return }
  22. ;elseif (*isn't registered* iswm $1- || *is not registered* iswm $1-) { .msg $2 Your nickname is not registered with NickServ. Please try again after you register. For help with registration, please type "4/nickserv help register" }
  23. ;elseif (* is * iswm $1-3) { set -u5 %checknick $1 }
  24. ;elseif (Info for *:* iswm $1-) { set -u5 %checknick $remove($3,:) }
  25. ;elseif (%checknick && !$hget($+($network,.aps),$+(%checknick,.tos))) {
  26. ;if (%checknick && !$hget($+($network,.aps),$+(%checknick,.tos))) {
  27. ;.msg %checknick Okay. Your nickname appears to be %checknick $+ . If you would like to continue with using your nickname as your login username type "4use default" or type "4username YourSpecifiedUsername". NOTE: You need to remember this username to log into the BNC service. Please choose something that you will remember.
  28. ;var %n = $network | ganjairc %checknick on %n has accepted to comply with the BNC Terms of Service in their application. $asctime(dddd/mmm/yyyy - hh:nn:ss TT) $+ . Info: $address(%checknick,5)
  29. ;unset %checknick
  30. ;}
  31. ;}
  32.  
  33. on *:connect:{
  34.   var %a = $qt($+($scriptdir,$network,.accounts.dat)), %b = $qt($+($scriptdir,$network,.aps.dat))
  35.   hmake $+($network,.accounts) 100 | if ($exists(%a)) { hload $+($network,.accounts) %a }
  36.   hmake $+($network,.aps) 100 | if ($exists(%b)) { hload $+($network,.aps) %b }
  37. }
  38. alias -l reloadthis {
  39.   var %a = 1, %b
  40.   while ($scon(%a)) {
  41.     scid $v1
  42.     var %x = $qt($+($scriptdir,$network,.accounts.dat)), %b = $qt($+($scriptdir,$network,.aps.dat))
  43.     if (!$hget($+($network,.accounts))) { %b = $scriptdir, hmake $+($network,.accounts) 100 | if ($exists(%x)) { hload $+($network,.accounts) %x } }
  44.     if (!$hget($+($network,.aps))) { hmake $+($network,.aps) 100 | if ($exists(%b)) { hload $+($network,.aps) %b } }
  45.     inc %a
  46.   }
  47.   scid -r
  48. }
  49. on *:disconnect:{
  50.   if ($hget($+($network,.accounts))) { hsave $+($network,.accounts) $qt($+($scriptdir,$network,.accounts.dat)) | hfree $+($network,.accounts) }
  51.   if ($hget($+($network,.aps))) { hsave $+($network,.aps) $qt($+($scriptdir,$network,.aps.dat)) | hfree $+($network,.aps) }
  52.   unset %flood.*
  53. }
  54. on *:start:{
  55.   if (!$hget(suspended)) { hmake suspended 100 }
  56.   if ($exists($qt($+($scriptdir,suspended.dat)))) { hload suspended $qt($+($scriptdir,suspended.dat)) }
  57.   unset %flood.*
  58.   .timersaveitall -o 0 300 saveitall
  59.   ;Protected Admins (un deletable)
  60.   if (!%protect) { %protect = zzbooze Exile }
  61. }
  62. on *:exit:{ saveitall }
  63.  
  64. on *:load:{ %admins = zzbooze | %BNCBH = goblin.bnc.leafghoul.net | reloadthis }
  65. on *:unload:{ unset %admins | unset %flood.* | unset %protect | unset %BNCBH }
  66.  
  67. ;=============================================================================== LOADING EXISTING ACCOUNTS TO
  68.  
  69. ;alias loadall {
  70. ;hadd -m GanjaIRC.accounts Bot ACCEPTED $ctime $me $adate
  71. ;hadd -m xeromem.accounts Dragon ACCEPTED $ctime $me $adate
  72. ;hadd -m GanjaIRC.accounts Gdi ACCEPTED $ctime $me $adate
  73. ;hadd -m GanjaIRC.accounts Gul-Dukat ACCEPTED $ctime $me $adate
  74. ;hadd -m sytes.accounts Killer ACCEPTED $ctime $me $adate
  75. ;hadd -m GanjaIRC.accounts King ACCEPTED $ctime $me $adate
  76. ;hadd -m UnderNet.accounts PassWord ACCEPTED $ctime $me $adate
  77. ;hadd -m SwiftIRC.accounts T1 ACCEPTED $ctime $me $adate
  78. ;hadd -m purplesurge.accounts T2 ACCEPTED $ctime $me $adate
  79. ;hadd -m GanjaIRC.accounts T3 ACCEPTED $ctime $me $adate
  80. ;hadd -m dejatoons.accounts T4 ACCEPTED $ctime $me $adate
  81. ;hadd -m UnderNet.accounts ahbaht ACCEPTED $ctime $me $adate
  82. ;hadd -m UnderNet.accounts auto ACCEPTED $ctime $me $adate
  83. ;hadd -m GanjaIRC.accounts auto- ACCEPTED $ctime $me $adate
  84. ;hadd -m UnderNet.accounts bawawa ACCEPTED $ctime $me $adate
  85. ;hadd -m abjects.accounts bot-abject ACCEPTED $ctime $me $adate
  86. ;hadd -m GanjaIRC.accounts bot-ganja ACCEPTED $ctime $me $adate
  87. ;hadd -m SwiftIRC.accounts bot-swift ACCEPTED $ctime $me $adate
  88. ;hadd -m GanjaIRC.accounts dopeman ACCEPTED $ctime $me $adate
  89. ;hadd -m UnderNet.accounts gangstaa ACCEPTED $ctime $me $adate
  90. ;hadd -m GanjaIRC.accounts nick1 ACCEPTED $ctime $me $adate
  91. ;hadd -m UnderNet.accounts pilya ACCEPTED $ctime $me $adate
  92. ;hadd -m mindforge.accounts slayer ACCEPTED $ctime $me $adate
  93. ;hadd -m GanjaIRC.accounts stuck ACCEPTED $ctime $me $adate
  94. ;hadd -m trolol.accounts stuck1 ACCEPTED $ctime $me $adate
  95. ;hadd -m abjects.accounts stuck2 ACCEPTED $ctime $me $adate
  96. ;hadd -m GanjaIRC.accounts umadbor ACCEPTED $ctime $me $adate
  97. ;hadd -m rizon.accounts xzavier ACCEPTED $ctime $me $adate
  98. ;hadd -m GanjaIRC.accounts BluntMasta ACCEPTED $ctime $me $adate
  99. ;}
  100.  
  101. ;======================= ALIASES
  102.  
  103.  
  104. alias -l saveitall {
  105.   var %a = 1
  106.   if (!%admins) { %admins = zzbooze }
  107.   while ($scon(%a)) {
  108.     scid $v1
  109.     if ($hget($+($network,.accounts))) { hsave $+($network,.accounts) $qt($+($scriptdir,$network,.accounts.dat)) }
  110.     if ($hget($+($network,.aps))) { hsave $+($network,.aps) $qt($+($scriptdir,$network,.aps.dat)) }
  111.     inc %a
  112.   }
  113.   scid -r
  114.   if ($hget(suspended)) { hsave suspended $qt($+($scriptdir,suspendid.dat)) }
  115. }
  116. alias -l getuser {
  117.   if (!$1 || !$isid) { return }
  118.   var %a = 1
  119.   while ($scon(%a)) {
  120.     scid $v1
  121.     if ($hget($+($network,.accounts),$1)) { return $v1 }
  122.     inc %a
  123.   }
  124.   scid -r
  125. }
  126. alias -l adduser {
  127.   if ($1 == ACCEPT) {
  128.     var %tmppass = $rand(a,z) $+ $rand(A,Z) $+ $rand(a,z) $+ $rand(A,Z) $+ $rand(1000,9999)
  129.     .msg MemoServ send $2 [DO NOT DELETE THIS MEMO] Congratulations, your BNC has been accepted by the administrator: $nick $+ . To log onto it type /server %BNCBindHost $+ :53697 $2 $+ : $+ %tmppass - To change your password: /msg *admin set password <pass>- WebAdmin Page: http://BNC.Web.usr.sh
  130.     .msg *admin adduser $2 %tmppass $hget($+($network,.aps),$+($2,.server))
  131.     .msg *admin set Bindhost $2 %BNCBindHost
  132.     .msg *admin set DenySetBindHost $2 true
  133.     .msg *admin set PrependTimestamp $2 true
  134.     .msg *admin set DCCBindHost $2 false
  135.     .msg *partyline AddFixChan $2 ~#BNC
  136.     .msg *admin loadmodule $2 stickychan #GhoulBNC
  137.     .msg *admin set RealName $2 #GhoulBNC user. Home: (irc.leafghoul.net)
  138.     .msg *admin set QuitMsg $2 #GhoulBNC - Free BNCs hosted by GhoulBNC on irc.leafghoul.net @ #GhoulBNC
  139.     .msg *admin addctcp $2 PING PINGs are not accepted Hosted By: #GhoulBNC Home: (irc.leafghoul.net)
  140.     .msg *admin addctcp $2 TIME Time: $time(h:nn:ssTT) Uptime: %uptime Hosted By: #GhoulBNC Home: (irc.leafghoul.net)
  141.     .msg *admin addctcp $2 VERSION Version: GhoulBNC %version Hosted By: #GhoulBNC Home: (irc.leafghoul.net)
  142.     .msg *admin Reconnect $2
  143.     hadd -m $+($network,.accounts) $2 ACCEPTED $ctime $me $adate
  144.     hadd -m $+($network,.aps) $+($2,.tos) accepted
  145.     hadd -m $+($network,.aps) $+($2,.added) $ctime
  146.     hadd -m $+($network,.aps) $+($2,.password) %tmppass
  147.     hadd -m $+($network,.aps) $+($2,.bindhost) %BNCBindHost
  148.   }
  149. }
  150.  
  151. alias -l remuser {
  152.   if (!$1) { return }
  153.   var %a = 1
  154.   while ($scon(%a)) {
  155.     scid $v1
  156.     hdel -m $+($network,.accounts) $1
  157.     remhash $1
  158.     inc %a
  159.   }
  160.   scid -r
  161. }
  162.  
  163. alias -l remhash {
  164.   if (!$1 || $isid) { return }
  165.   while ($hfind($+($network,.aps),$+($1,.*),1,w).item) { hdel -m $+($network,.aps) $v1 }
  166. }
  167.  
  168. alias -l checkuser {
  169.   if (!$1 || !$isid) { return }
  170.   var %a = 1
  171.   while ($scon(%a)) {
  172.     scid $v1
  173.     if ($hget($+($network,.accounts),$1)) { return $true }
  174.     inc %a
  175.   }
  176.   scid -r
  177.   return $false
  178. }
  179.  
  180. alias -l isuserblack {
  181.   if (!$1) { return }
  182.   var %b = $hget($+($network,.accounts),$1)
  183.   if ($gettok(%b,1,32) == BLACKLISTED) { return $true }
  184.   else { return $false }
  185. }
  186.  
  187. alias -l fpro {
  188.   if (!$1 || $isid) { return }
  189.   set -u3 $eval($+(%,flood.,$1),1) $ctime
  190. }
  191.  
  192. alias -l writefile { if (!$1) { return } | write $qt($+($scriptdir,todolist.txt)) $1- }
  193. alias -l playfile { if (!$1) { return } | .play $1 $qt($+($scriptdir,todolisttemp.txt)) 800 }
  194.  
  195. alias -l cleanup { filter -cnff $qt($+($scriptdir,todolist.txt)) $qt($+($scriptdir,todolisttemp.txt)) }
  196.  
  197. alias -l cleanupreport {
  198.   if (!$1) { return }
  199.   while ($hfind($+($network,.aps),$+(issue.,$1,*),1,w).item) { hdel $+($network,.aps) $v1 }
  200. }
  201. alias -l leafghoul {
  202.   if (!$1) { return }
  203.   var %a = 1, %b
  204.   while ($scon(%a)) {
  205.     %b = $v1
  206.     scid %b
  207.     if ($network == leafghoul) { .msg #GhoulBNCStaff $1- | break }
  208.     inc %a
  209.   }
  210.   scid -r
  211. }
  212.  
  213. ;alias updatebnc {
  214. ;var %a = hadd -m GanjaIRC.aps
  215. ;%a BluntMasta.bindhost Hermes.BNC.GanjaIRC.net              
  216. ;%a Bug.bindhost Hermes.BNC.GanjaIRC.net      
  217. ;%a Db0y.bindhost Hermes.BNC.GanjaIRC.net    
  218. ;%a DeuS.bindhost Hermes.BNC.GanjaIRC.net    
  219. ;%a Diamond.bindhost Hermes.BNC.GanjaIRC.net  
  220. ;%a Dragon.bindhost Hermes.BNC.GanjaIRC.net
  221. ;%a Garand15.bindhost Hermes.BNC.GanjaIRC.net
  222. ;%a Gdi.bindhost Hermes.BNC.GanjaIRC.net      
  223. ;%a Gul-Dukat.bindhost Hermes.BNC.GanjaIRC.net
  224. ;%a ImpendingDave.bindhost Hermes.BNC.GanjaIRC.net    
  225. ;%a Inquisitor.bindhost Hermes.BNC.GanjaIRC.net      
  226. ;%a King.bindhost Hermes.BNC.GanjaIRC.net    
  227. ;%a Loing.bindhost Hermes.BNC.GanjaIRC.net    
  228. ;%a MAFIA.bindhost Hermes.BNC.GanjaIRC.net    
  229. ;%a Samar-Dukat.bindhost Hermes.BNC.GanjaIRC.net      
  230. ;%a Shadow.bindhost Hermes.BNC.GanjaIRC.net                          
  231. ;%a THEONE.bindhost Hermes.BNC.GanjaIRC.net
  232. ;%a ahbaht.bindhost Hermes.BNC.GanjaIRC.net
  233. ;%a auto.bindhost Hermes.BNC.GanjaIRC.net
  234. ;%a auto-.bindhost Hermes.BNC.GanjaIRC.net
  235. ;%a bot-ganja.bindhost Hermes.BNC.GanjaIRC.net
  236. ;%a bot-riz.bindhost Hermes.BNC.GanjaIRC.net  
  237. ;%a bungaw.bindhost Hermes.BNC.GanjaIRC.net  
  238. ;%a da3v.bindhost Hermes.BNC.GanjaIRC.net    
  239. ;%a dopeboy.bindhost Hermes.BNC.GanjaIRC.net  
  240. ;%a ing.bindhost Hermes.BNC.GanjaIRC.net      
  241. ;%a miniman.bindhost Hermes.BNC.GanjaIRC.net  
  242. ;%a nick1.bindhost Hermes.BNC.GanjaIRC.net    
  243. ;%a nickhere.bindhost Hermes.BNC.GanjaIRC.net        
  244. ;%a oczx.bindhost Hermes.BNC.GanjaIRC.net    
  245. ;%a passWORD.bindhost Hermes.BNC.GanjaIRC.net        
  246. ;%a raj.bindhost Hermes.BNC.GanjaIRC.net      
  247. ;%a rastagirl.bindhost Hermes.BNC.GanjaIRC.net                
  248. ;%a slayer.bindhost Hermes.BNC.GanjaIRC.net  
  249. ;%a stuck.bindhost Hermes.BNC.GanjaIRC.net    
  250. ;%a stuck1.bindhost Hermes.BNC.GanjaIRC.net  
  251. ;%a stuck2.bindhost Hermes.BNC.GanjaIRC.net  
  252. ;%a stuck3.bindhost Hermes.BNC.GanjaIRC.net  
  253. ;%a umadbor.bindhost Hermes.BNC.GanjaIRC.net
  254. ;%a xzavier.bindhost Hermes.BNC.GanjaIRC.net  
  255. ;%a Bot.bindhost Poseidon.BNC.GanjaIRC.net
  256. ;%a T3.bindhost Poseidon.BNC.GanjaIRC.net
  257. ;%a bot-abject.bindhost Hyperion.BNC.GanjaIRC.net
  258. ;%a jorbz.bindhost Apollo.BNC.GanjaIRC.net
  259. ;%a pilya.bindhost Hyperion.BNC.GanjaIRC.net
  260. ;%a sHuT^d0wN.bindhost Hyperion.BNC.GanjaIRC.net
  261. ;%a Skype.bindhost Apollo.BNC.GanjaIRC.net
  262. ;echo $color(info) -ta * Imported BNC aps list complete.
  263. ;}
  264. ;alias fill {
  265. ;var %a = hadd -m GanjaIRC.aps
  266. ;%a BluntMasta.server irc.ganjairc.net
  267. ;%a BluntMasta.vhost Staff.GanjaIRC.net
  268. ;%a Bug.server irc.dal.net
  269. ;%a Db0y.server irc.criten.net
  270. ;%a Db0y.vhost old.sk00l.Dboy
  271. ;%a DeuS.server irc.esper.net
  272. ;%a Diamond.server irc.mindforge.org
  273. ;%a Dragon.server irc.chatnplay.net
  274. ;%a Garand15.server irc.rizon.net
  275. ;%a Garand15.vhost Full.Metal.vHost
  276. ;%a Gdi.server irc.ganjairc.net      
  277. ;%a Gul-Dukat.server irc.ganjairc.net
  278. ;%a Gul-Dukat.vhost Staff.GanjaIRC.net
  279. ;%a ImpendingDave.server irc.freenode.net
  280. ;%a Inquisitor.server irc.ganjairc.com
  281. ;%a King.server irc.ganjairc.net
  282. ;%a King.vhost Staff.BNC.GanjaIRC.net
  283. ;%a Loing.server irc.undernet.org
  284. ;%a MAFIA.server irc.ganjairc.net    
  285. ;%a Samar-Dukat.server irc.coldfront.net
  286. ;%a Shadow.server irc.lempo.uk.liberty-unleashed.co.uk
  287. ;%a THEONE.server irc.ganjairc.net
  288. ;%a THEONE.vhost ganjairc.ADMINS.sg
  289. ;%a ahbaht.server montreal.qc.ca.undernet.org
  290. ;%a auto.server irc.undernet.org
  291. ;%a auto-.server blunt.ganjairc.net
  292. ;%a bot-ganja.server blunt.ganjairc.net
  293. ;%a bot-ganja Staff.GanjaIRC.net
  294. ;%a bot-riz.server irc.rizon.net
  295. ;%a bot-riz.vhost GanjaBNC.Operational.net
  296. ;%a bungaw.server irc.undernet.org
  297. ;%a da3v.server irc.rizon.net
  298. ;%a dopeboy.server blunt.ganjairc.net
  299. ;%a dopeboy.vhost Staff.GanjaIRC.net
  300. ;%a ing.server irc.ganjairc.net
  301. ;%a ing.vhost Best.Loing.In.The.World
  302. ;%a miniman.server irc.quakenet.org
  303. ;%a nick1.server irc.ganjairc.net
  304. ;%a nick1.vhost Staff.GanjaIRC.net
  305. ;%a oczx.server irc.universochat.net
  306. ;%a passWORD.server irc.undernet.org
  307. ;%a raj.server irc.ganjairc.net
  308. ;%a rastagirl.server irc.ganjairc.net
  309. ;%a slayer.server irc.mindforge.org
  310. ;%a stuck.server irc.ganjairc.net
  311. ;%a stuck.vhost Staff.GanjaIRC.net
  312. ;%a stuck1.server irc.trolol.net
  313. ;%a stuck2.server irc.abjects.net
  314. ;%a stuck3.server irc.iptorrents.com
  315. ;%a umadbor.server Hermes.BNC.GanjaIRC.net
  316. ;%a umadbor.vhost sexy.penguin
  317. ;%a xzavier.server irc.rizon.net
  318. ;%a xzavier.vhost ganjairc.ADMINS.sg
  319. ;%a Bot.server irc.ganjairc.net
  320. ;%a Bot.vhost Hub.BNC.GanjaIRC.net
  321. ;%a T3.server irc.ganjairc.net
  322. ;%a T3.vhost The.Silent.Warrior
  323. ;%a bot-abject.server irc.abjects.net
  324. ;%a bot-abject.vhost GanjaBNC.Operational.net
  325. ;%a jorbz.server Irc.undernet.org
  326. ;%a jorbz.vhost AwT.username
  327. ;%a pilya.server eu.undernet.org
  328. ;%a sHuT^d0wN.server 5.175.160.217
  329. ;%a Skype.server oslo.no.eu.undernet.org
  330. ;echo $color(info) -ta * Adding server/vhost to accounts complete.
  331. ;}
  332.  
  333. ;================================================================================================== OPTIONS
  334.  
  335. on me:*:join:#:{ who # }
  336. alias -l lar { if ($1) { return $remove($replace($1,wks,w,wk,w,days,d,day,d,hrs,h,hr,h,mins,m,min,m,secs,s,sec,s),$chr(32)) } }
  337.  
  338. alias -l countit {
  339.   if (!$istok(%admins,$nick,32)) { return }
  340.   elseif (!%BNCBH) { .msg # Bind Host list empty! | return }
  341.   var %a = 1, %total = 0
  342.   if ($hget($+($network,.accounts))) {
  343.     inc %total $hget($+($network,.accounts),0).item
  344.   }
  345.   var %x = 1, %y, %z, %m
  346.   while ($gettok(%BNCBH,%x,32)) {
  347.     %z = $v1
  348.     set -u5 $+(%,%z) 0
  349.     %y = $gettok($v1,1,46)
  350.     var %c = 1, %d
  351.     while ($hfind($+($network,.aps),*.bindhost,%c,w).item) {
  352.       %d = $hget($+($network,.aps),$v1)
  353.       if (%z == %d || %y == $gettok(%d,1,46)) { inc $+(%,%z) }
  354.       inc %c
  355.     }
  356.     inc %x
  357.   }
  358.   var %a = 1, %m
  359.   while ($gettok(%BNCBH,%a,32)) {
  360.     %m = %m $gettok($v1,1,46) $+ : $eval($+(%,$v1),2)
  361.     inc %a
  362.   }
  363.   .msg # Total accounts: %total %m
  364. }
  365.  
  366. ;================================================================================================== GhoulBNCSTAFF
  367.  
  368. on *:text:*:#GhoulBNCstaff:{
  369.   if ($eval($+(%,flood.,$nick),2)) { return }
  370.   elseif (?help iswm $1-) {
  371.     o    var %s = $left($1,1)
  372.     if (!$istok(%admins,$nick,32)) { return }
  373.     else {
  374.       .msg # Bot commands:
  375.       var %a = 1, %t, %coms = bncentrymsg broadcast global bhview jump partyline unpartyline massbncheck status motd stickychan bl blview rembl remuser unblock block set adduser addadmin remadmin todo todolist todorem todoclear mode uptime dr ar ra report checkreport pending suspend suspended unsuspend bncbh rembncbh
  376.       while ($gettok(%coms,%a,32)) { %t = %t $+(%s,$v1) | inc %a }
  377.       .msg # %t
  378.     }
  379.   }
  380.   elseif (?count iswm $1) {
  381.     countit
  382.   }
  383.   elseif (?relay iswm $1) {
  384.     if (!$istok(%admins,$nick,32)) { return }
  385.     elseif (!$2 || !$istok(on off,$2,32)) { .msg # Invalid $1 option. Available: $1 on -or- $1 off }
  386.     else {
  387.       %relay = $2
  388.       .msg # Relay is now: $2
  389.     }    
  390.   }
  391.   elseif (?info iswm $1) {
  392.     if (!$istok(%admins,$nick,32)) { return }
  393.     elseif (!$2) { .msg # Invalid $1 syntax! Syntax: $1 <account> }
  394.     elseif (!$checkuser($2)) { .msg # No such records of $2 exist. }
  395.     else { .msg # Info for $2 $+ ... | .msg # [TOS] $hget($+($network,.aps),$+($2,.tos)) [BindHost] $hget($+($network,.aps),$+($2,.bindhost)) [Server] $hget($+($network,.aps),$+($2,.server)) [Vhost] $hget($+($network,.aps),$+($2,.vhost)) [Added] $time($hget($+($network,.aps),$+($2,.added)),hh:nn:sstt mm/dd/yyyy) }
  396.   }
  397.   elseif (?suspended iswm $1-) {
  398.     if (!$istok(%admins,$nick,32)) { return }
  399.     else {
  400.       var %a = 1, %b, %total = 0, %f, %c
  401.       while ($hget(suspended,%a).item) {
  402.         if (*.reason !iswm $v1) {
  403.           %b = $hget(suspended,$hget(suspended,%a).item)
  404.           %c = $hget(suspended,$+($hget(suspended,%a).item,.reason))
  405.           inc %total
  406.           %f = %f $hget(suspended,%a).item %c ( $+ $lar($duration($calc($ctime - %b))) ago)
  407.         }
  408.         inc %a
  409.       }
  410.       if (%total >= 1) { .msg # Current Suspended Networks: %f }
  411.       else { .msg # No networks are suspended. }
  412.     }
  413.   }
  414.   elseif (?unsuspend * iswm $1-) {
  415.     if (!$istok(%admins,$nick,32)) { return }
  416.     elseif (!$hget(suspended,$2)) { .msg # $2 is not suspended! }
  417.     else {
  418.       hdel -m suspended $2
  419.       hdel -m suspended $+($2,.reason)
  420.       .msg # Removed $2 from suspended networks list.
  421.     }
  422.   }
  423.   elseif (?suspend * iswm $1-) {
  424.     if (!$istok(%admins,$nick,32)) { return }
  425.     elseif (!$3) { .msg # No reason supplied! }
  426.     elseif ($hget(suspended,$2)) { .msg # $2 is already suspended! }
  427.     else {
  428.       hadd -m suspended $2 $ctime
  429.       hadd -m suspended $+($2,.reason) $3-
  430.       .msg # Added $2 to suspended networks list with reason: $3-
  431.     }
  432.   }
  433.   elseif (?bhview iswm $1) {
  434.     if (!$istok(%admins,$nick,32)) { return }
  435.     else {
  436.       var %a = 1, %b, %total
  437.       while ($gettok(%BNCBH,%a,32)) { %b = $gettok($v1,1,46) | %total = %total %b | inc %a }
  438.       .msg # Current Bind Host list: $iif(!%total,No bind hosts,%total) $+ .
  439.     }
  440.   }
  441.   elseif (?rembh iswm $1 && $2) {
  442.     if (!$istok(%admins,$nick,32)) { return }
  443.     elseif ($istok(%BNCBH,$2,32)) {
  444.       scon -at1 .msg #GhoulBNCStaff [BIND HOST] $nick has removed the Bind Host: $2 from the GhoulBNC Service.
  445.       %BNCBH = $remtok(%BNCBH,$2,1,32)
  446.       .msg *status RemBindHost $2
  447.     }
  448.     else {
  449.       scon -at1 .msg # $2 wasn't located in the Bind Host list.
  450.     }
  451.   }
  452.   elseif (?addbh iswm $1 && $2) {
  453.     if (!$istok(%admins,$nick,32)) { return }
  454.     elseif (!$istok(%BNCBH,$2,32)) {
  455.       scon -at1 .msg #GhoulBNCStaff [BIND HOST] $nick has added the Bind Host: $2 to the GhoulBNC Service.
  456.       %BNCBH = %BNCBH $2
  457.       ;%BNCBindHost = $2
  458.     }
  459.     else {
  460.       scon -at1 .msg # $2 already exists in the Bind Host list.
  461.     }
  462.   }
  463.   elseif (?bncbh iswm $1) {
  464.     if (!$istok(%admins,$nick,32)) { return }
  465.     elseif (!$2) { .msg # Invalid $1 syntax. Syntax: $1 <bindhost> }
  466.     elseif (!$istok(%BNCBH,$2,32)) { .msg # Invalid bindhost! $+($left($1,1),bhview) to list. }
  467.     else {
  468.       %BNCBindHost = $2
  469.       .msg # BNC Active bind host is now: $2
  470.     }
  471.   }
  472.   elseif (?rembncbh iswm $1) {
  473.     if (!$istok(%admins,$nick,32)) { return }
  474.     elseif (!$2) { .msg # Invalid $1 syntax. Syntax: $1 <bindhost> }
  475.     elseif (!$istok(%BNCBindHost,$2,32)) { .msg # Invalid bindhost! $+($left($1,1),bhview) to list. }
  476.     else {
  477.       ;unset %BNCBindHost $remtok(%BNCBindHost,$2,0,32)
  478.       set %BNCBindHost $remtok(%BNCBindHost,$2,1,32)
  479.       .msg # Removed BNC bind host: $2
  480.     }
  481.   }
  482.   elseif (?bnctopic iswm $1 && $2) {
  483.     if (!$istok(%admins,$nick,32)) { return }
  484.     .scon -at1 topic #GhoulBNC $2- ( $+ $nick $+ )
  485.   }
  486.   elseif (?bncentrymsg iswm $1 && $2) {
  487.     if (!$istok(%admins,$nick,32)) { return }
  488.     .scon -at1 cs set #GhoulBNC entrymsg $2-
  489.   }
  490.   elseif (?broadcast iswm $1 && $2) {
  491.     if (!$istok(%admins,$nick,32)) { return }
  492.     msg *status Broadcast [ $+ $time(ddd mmm dd yyyy @ hh:nn:ss TT) $+ ]: Broadcast Message: $nick $2-
  493.     scon -at1 msg #GhoulBNCStaff $time(ddd mmm dd yyyy @ hh:nn:ss TT) $+ : Broadcast Message: $nick $2-
  494.   }
  495.   elseif (?global iswm $1 && $2) {
  496.     if (!$istok(%admins,$nick,32)) { return }
  497.     scon -at1 .msg #GhoulBNCStaff $time(ddd mmm dd yyyy @ hh:nn:ss TT) $+ : Global Admin Message: $nick $2-
  498.   }
  499.   elseif (?jump iswm $1 && $2) {
  500.     if (!$istok(%admins,$nick,32)) { return }
  501.     .msg *admin Reconnect $2
  502.   }
  503.   elseif (?partyline iswm $1 && $3) {
  504.     if (!$istok(%admins,$nick,32)) { return }
  505.     msg *partyline addfixchan $2 $3-
  506.   }
  507.   elseif (?unpartyline iswm $1 && $2) {
  508.     if (!$istok(%admins,$nick,32)) { return }
  509.     msg *partyline delfixchan $2 $3-
  510.   }
  511.   elseif (?massbncheck iswm $1) {
  512.     if (!$istok(%admins,$nick,32)) { return }
  513.     var %a = 0, %b = 0, %c = 0, %d = 0, %e = 0, %f, %x = 1
  514.     while ($hget($+($network,.accounts),%x).item) {
  515.       %f = $v1
  516.       if ($gettok($hget($+($network,.accounts),%f),1,32) == accepted) { inc %a }
  517.       elseif ($gettok($hget($+($network,.accounts),%f),1,32) == denied) { inc %b }
  518.       elseif ($gettok($hget($+($network,.accounts),%f),1,32) == pending) { inc %c }
  519.       elseif ($gettok($hget($+($network,.accounts),%f),1,32) == blocked) { inc %d }
  520.       elseif ($gettok($hget($+($network,.accounts),%f),1,32) == blacklisted) { inc %e }
  521.       inc %x
  522.     }
  523.     .msg # ------ START STATUS CHECK ---------
  524.     .msg # We have %a accepted bnc users.
  525.     .msg # We have %b denied bnc users.
  526.     .msg # We have %c pending bnc users.
  527.     .msg # We have %d blocked bnc users.
  528.     .msg # We have %e blacklisted bnc users.
  529.   }
  530.   elseif (?status iswm $1) {
  531.     if (!$istok(%admins,$nick,32)) { return }
  532.     .msg # ------ START STATUS CHECK ---------
  533.     .msg # Nickname: [ $+ $me $+ ].
  534.     .msg # Identd: [ $+ $gettok($address($me,5),1,33) $+ ].
  535.     .msg # Hostname: [ $+ $address($me,2) $+ ].
  536.     .msg # I am currently on $scid(0) network $+ $chr(40) $+ s $+ $chr(41) $+ .
  537.     .msg # ------- END STATUS CHECK ----------
  538.   }
  539.   elseif (?motd iswm $1 && $2) {
  540.     if (!$istok(%admins,$nick,32)) { return }
  541.     elseif (set == $2) {
  542.       if (!$3) { .msg # No set parameter! | return }
  543.       .msg *status setmotd Message of the day: $3-
  544.       .msg # MOTD has been updated.
  545.     }
  546.     elseif (clear == $2) {
  547.       .msg *status clearmotd
  548.       .msg $chan MOTD has been cleared.
  549.     }
  550.     else {
  551.       .msg $nick Syntax is: $1 set [message] OR to clear use: $1 clear
  552.     }
  553.   }
  554.   elseif (?stickychan iswm $1 && $3) {
  555.     ;======================================= OTHER ADMIN COMMANDS
  556.     if (!$istok(%admins,$nick,32)) { return }
  557.     .msg *admin loadmodule $2 stickychan $3
  558.   }
  559.   elseif (?bl iswm $1 && $1 != bbl && $2) {
  560.     ;===================================== BLACKLIST
  561.     if (!$istok(%admins,$nick,32)) { return }
  562.     elseif ($gettok($getuser($2),1,32) == blacklisted) { .msg # $2 is already blacklisted! }
  563.     else {
  564.       scon -at1 .msg #GhoulBNCStaff [BLACKLIST] $2 has been blacklisted from GhoulBNC Services for: $3-
  565.       hadd -m $+($network,.accounts) $2 BLACKLISTED $ctime $nick $adate
  566.     }
  567.   }
  568.   elseif (?blview iswm $1) {
  569.     if (!$istok(%admins,$nick,32)) { return }
  570.     var %a = 1, %b, %total
  571.     while ($hfind($+($network,.accounts),%a).item) { %b = $v1 | if ($gettok($hget($+($network,.accounts),%b),1,32) == blacklisted) { %total = %total %b } | inc %a }
  572.     .msg # Current Blacklist: $iif(!%total,None have been blacklisted,%total)
  573.   }
  574.   elseif (?rembl iswm $1 && $2) {
  575.     if (!$istok(%admins,$nick,32)) { return }
  576.     elseif ($gettok($getuser($2),1,32) != blacklisted) { .msg # Username is not blacklisted! }
  577.     else {
  578.       scon -at1 .msg #GhoulBNCStaff [BLACKLIST] $2 has been unblacklisted from GhoulBNC Services.
  579.       hdel -m $+($network,.accounts) $2
  580.     }
  581.   }
  582.   elseif (?remuser iswm $1) {
  583.     if (!$istok(%admins,$nick,32)) { return }
  584.     elseif (!$2) { .msg # Invalid $1 syntax. Syntax: $1 <nick> | fpro $nick | return }
  585.     elseif (!$checkuser($2)) { .msg # No such account! | fpro $nick | return }
  586.     remuser $2
  587.     .msg # $nick Deleted $2 from database...
  588.     .msg *admin set QuitMsg $2 #GhoulBNC -- Free BNCs hosted by GhoulBNC on irc.leafghoul.net @ #GhoulBNC - BNC deleted by: $nick
  589.     .timer 1 1 .msg *admin deluser $2
  590.   }
  591.   elseif (?unblock iswm $1) {
  592.     if (!$istok(%admins,$nick,32)) { return }
  593.     elseif ($gettok($getuser($2),1,32) == BLOCKED) {
  594.       hdel -m $+($network,.account) $2
  595.       .msg # $nick Added $2 to UNBLOCK
  596.     }
  597.     else { .msg # $2 is not blocked! }
  598.   }
  599.   elseif (?block iswm $1) {
  600.     if (!$istok(%admins,$nick,32)) { return }
  601.     elseif ($gettok($getuser($2),1,32) != BLOCKED) {
  602.       hadd -m $+($network,.account) $2 BLOCKED $ctime $nick $adate
  603.       .msg # $nick Added $2 to BLOCKED
  604.     }
  605.     else { .msg # $2 is already blocked! }
  606.   }
  607.   elseif (?set iswm $1) {
  608.     if (!$istok(%admins,$nick,32) || !$istok(BNCServerVar BNCBindHost,$2,32)) { return }
  609.     if ($2 == BNCServerVar) { set %BNCServerVar $3 }
  610.     elseif ($2 == BNCBindHost) { set %BNCBindHost $3 }
  611.     .msg # [VARS] $2 has been set to: $3 $+ .
  612.   }
  613.   elseif (?accept iswm $1) {
  614.     ;Check NickServ first before adding...
  615.     if (!$2 || !$istok(%admins,$nick,32)) { return | echo -a 1 }
  616.     elseif ($gettok($getuser($2),1,32) == ACCEPTED) { echo -a 2 | .msg # Nick $2 has already been ACCEPTED | fpro $nick | return }
  617.     elseif (!$hget($+($network,.aps),$+($2,.tos))) { echo -a 3 | .msg # Nick $2 has not completed their application! }
  618.     else {
  619.       echo -a 4  
  620.       adduser ACCEPT $2
  621.       leafghoul Nick $2 has now been ACCEPTED...
  622.     }
  623.   }
  624.   elseif (?decline iswm $1) {
  625.     if (!$2 || !$istok(%admins,$nick,32)) { return }
  626.     elseif ($gettok($hget($+($network,.accounts),$2),1,32) == DECLINED) { .msg # Nick $2 has already been DECLINED }
  627.     else { hadd -m $+($network,.accounts) $2 DECLINED $ctime $nick $adate | hadd -m $+($network,.aps) $+($2,.tos) declined | .msg # Nick $2 has now been DECLINED }
  628.   }
  629.   elseif (?adduser iswm $1) {
  630.     if (!$istok(%admins,$nick,32)) { return }
  631.     elseif (!$istok(pending accepted declined blocked blacklisted,$3,32) || !$2) { .msg # Invalid syntax. Syntax: $1 <username> [pending/accepted/declined/blocked/blacklisted] | fpro $nick | return }
  632.     elseif ($gettok($hget($+($network,.accounts),$2),1,32) == $3) { .msg # $2 exists in the database as $3 already! | fpro $nick | return }
  633.     else {
  634.       hadd -m $+($network,.accounts) $2 $upper($3) $ctime $nick $adate
  635.       .msg # $nick Added $2 to database...
  636.       leafghoul $nick Added $2 to database as $upper($3) $+ ...
  637.       if ($3 == accepted) {
  638.         hadd -m $+($network,.aps) $+($2,.server) %BNCBindHost
  639.         adduser ACCEPT $2
  640.       }
  641.     }
  642.   }
  643.   elseif (?addadmin iswm $1) {
  644.     if (!$istok(%admins,$nick,32)) { return }
  645.     elseif ($istok(%admins,$2,32)) { .msg # $2 exists in the database as Admin already! | fpro $nick | return }
  646.     elseif ($gettok($hget($+($network,.accounts),$2),1,32)) { .msg # Account exists under $2 $+ ! | fpro $nick | return }
  647.     else {
  648.       %admins = %admins $2
  649.       hadd -m $+($network,.aps) $+($2,.server) %BNCBindHost
  650.       .msg # $nick Added $2 to admin database...
  651.       leafghoul [New ADMIN] User ( $+ $2 $+ ) has been added to BNC by $nick $+ .
  652.       scon -at1 .msg #GhoulBNC [New ADMIN] User ( $+ $2 $+ ) has been added to BNC by $nick $+ .
  653.       adduser ACCEPT $2
  654.     }
  655.   }
  656.   elseif (?remadmin iswm $1) {
  657.     ; Set this var to the nicks to protect against !remadmin (protected admin)
  658.     if (!$istok(%admins,$nick,32)) { return }
  659.     elseif (!$2) { .msg # Invalid syntax. Syntax: $1 <nick> }
  660.     elseif (!$istok(%admins,$2,32)) { .msg # $2 does not exists in the database as Admin! }
  661.     elseif ($istok(%protect,$2,32)) { .msg # You cannot delete this protected admin! }
  662.     else {
  663.       leafghoul [New ADMIN] User ( $+ $2 $+ ) has been removed from the BNC by $nick $+ .
  664.       scon -at1 .msg #GhoulBNC [New ADMIN] User ( $+ $2 $+ ) has been removed from the BNC by $nick $+ .
  665.       %admins = $remtok(%admins,$2,1,32)
  666.     }
  667.   }
  668.   elseif (?todo* iswm $1) {
  669.     ;======================================== TODO List
  670.     if (!$istok(%admins,$nick,32)) { return }
  671.     if (!$2) { .msg # Error: invalid $1 syntax. Syntax: $1 <text> }
  672.     elseif (?todolist iswm $1) { .msg # TODO List: | cleanup | playfile # }
  673.     elseif (?todorem iswm $1) {
  674.       if ($2 !isnum) { .msg # Error: Specify the line number to delete. }
  675.       elseif (!$read($qt($+($scriptdir,todolist.txt)),$2)) { .msg # Error: No such line number $qt($2) }
  676.       else { .msg # Deleted todo line $qt($2) | write $+(-dl,$2) $qt($+($scriptdir,todolist.txt)) }
  677.     }
  678.     elseif (?todoclear iswm $1) {
  679.       .msg # $nick $+ , $chr(47) $+ CLEARED $+ $chr(47) (Todo Events)
  680.       write -c $qt($+($scriptdir,todolist.txt))
  681.       write -c $qt($+($scriptdir,todolisttemp.txt))
  682.     }
  683.     elseif (?todo == $1) {
  684.       write $qt($+($scriptdir,todolist.txt)) $timestamp $nick $+ : $2-
  685.       .msg # $nick $+ , (Todo Events Updated)  
  686.     }
  687.     else {
  688.       .msg # Sorry, $1 is not a valid command.  Use ?todolist, ?todorem, ?todoclear, and ?todo - Thanks!
  689.     }
  690.   }
  691.   elseif (?ar iswm $1) {
  692.     ;==================================== REPORT SECTION
  693.     if (!$istok(%admins,$nick,32)) { return }
  694.     elseif (!$3) { .msg # Invalid $1 syntax. Syntax: $1 <ID> <answer> }
  695.     elseif ($hget($+($network,.aps),$+(issue,$2,.status)) == accepted) { .msg # Report has already been ACCEPTED }
  696.     else {
  697.       hadd -m $+($network,.aps) $+(issue,$2,.status) accepted
  698.       hadd -m $+($network,.aps) $+(issue,$2,.reply) $3-
  699.       .msg # Report has now been ACCEPTED
  700.     }
  701.   }
  702.   elseif (?dr iswm $1) {
  703.     if (!$istok(%admins,$nick,32)) { return }
  704.     elseif (!$3) { .msg # Invalid $1 syntax. Syntax: $1 <ID> <reason> }
  705.     elseif ($hget($+($network,.aps),$+(issue,$2,.status)) == declined) { .msg # Report has already been DECLINED }
  706.     else {
  707.       hadd -m $+($network,.aps) $+(issue,$2,.status) declined
  708.       hadd -m $+($network,.aps) $+(issue,$2,.reply) $3-      
  709.       .msg # Report has now been DECLINED
  710.     }
  711.   }
  712.   elseif (?ra iswm $1) {
  713.     if (!$istok(%admins,$nick,32)) { return }
  714.     elseif (!$3) { .msg # Invalid $1 syntax. Syntax: $1 <ID> <reason> }
  715.     elseif ($hget($+($network,.aps),$+(issue,$2))) {
  716.       hadd -m $+($network,.aps) $+(issue,$2,.status) solved
  717.       hadd -m $+($network,.aps) $+(issue,$2,.reply) $3-
  718.       .msg # Report has now been SOLVED and replied with text: $3-
  719.     }
  720.     else { .msg # No such report! }
  721.   }
  722.   elseif (?pending iswm $1) {
  723.     if (!$istok(%admins,$nick,32)) { return }
  724.     write -c $qt($+($scriptdir,pending.txt)) Pending BNC users:
  725.     var %a = 1, %b, %c, %total, %inc = 0, %x
  726.     while ($hget($+($network,.accounts),%a).item) {
  727.       %c = $v1
  728.       %b = $hget($+($network,.accounts),%c)
  729.       %x = $hget($+($network,.aps),$+(%c,.username))
  730.       if ($gettok(%b,1,32) == pending) { inc %inc | write $qt($+($scriptdir,pending.txt)) $+($chr(40),%inc,$chr(41)) Username: %c server: $hget($+($network,.aps),$+(%c,.server)) vhost: $iif($hget($+($network,.aps),$+(%c,.vhost)),$v1,None Specified) reason: $hget($+($network,.aps),$+(%c,.reason)) }
  731.       inc %a
  732.     }
  733.     if (%inc == 0) { .msg # No pending BNC accounts. }
  734.     else { .play # $qt($+($scriptdir,pending.txt)) 800 }
  735.   }
  736.   elseif (?mode iswm $1 && $2) {
  737.     ;============================================ OTHER COMMANDS
  738.     if (!$istok(%admins,$nick,32)) { return }
  739.     elseif ($left($2,1) == +) || ($left($2,1) == -) {
  740.       scon -at1 mode #GhoulBNC $2-
  741.       .msg # [MODE] Set mode of #GhoulBNC to $2- across all networks.
  742.     }
  743.   }
  744.   elseif (?uptime iswm $1) {
  745.     set -u5 %chan #
  746.     .msg *status uptime
  747.   }
  748.   fpro $nick
  749. }
  750.  
  751.  
  752. alias relay {
  753.   ;Syntax: relay nick network text
  754.   var %a = 1
  755.   while ($scon(%a)) {
  756.     scid $v1
  757.     if ($network == leafghoul) { .msg #GhoulBNCstaff $+(<,$1,>) $+([,$2,]) $3- }
  758.   }
  759. }
  760.  
  761. ;=================================================================================== GhoulBNC
  762.  
  763. on *:text:*:#GhoulBNC:{
  764.   if ($eval($+(%,flood.,$nick),2)) { return }
  765.   elseif ($hget(suspended,$network)) { return }
  766.   elseif (?uptime iswm $1) {
  767.     set -u5 %chan #
  768.     .msg *status uptime
  769.   }
  770.   elseif (?count iswm $1) {
  771.     countit
  772.   }
  773.   elseif (?suspended iswm $1-) {
  774.     var %a = 1, %b, %total = 0, %f, %c
  775.     while ($hget(suspended,%a).item) {
  776.       if (*.reason !iswm $v1) {
  777.         %b = $hget(suspended,$hget(suspended,%a).item)
  778.         %c = $hget(suspended,$+($hget(suspended,%a).item,.reason))
  779.         inc %total
  780.         %f = %f $hget(suspended,%a).item %c ( $+ $lar($duration($calc($ctime - %b))) ago)
  781.       }
  782.       inc %a
  783.     }
  784.     if (%total >= 1) { .msg # Current Suspended Networks: %f }
  785.     else { .msg # No networks are suspended. }
  786.   }
  787.   elseif (?help iswm $1-) {
  788.     var %s = $left($1,1)
  789.     .msg # Bot commands:
  790.     var %a = 1, %t, %coms = check bnchelp request report checkreport
  791.     while ($gettok(%coms,%a,32)) { %t = %t $+(%s,$v1) | inc %a }
  792.     .msg # %t
  793.   }
  794.   elseif (?check iswm $1) {
  795.     if (!$2) { .msg # Invalid $1 syntax. Syntax: $1 <nick> }
  796.     elseif ($checkuser($2)) {
  797.       var %a = $gettok($getuser($2),1,32), %b = $gettok($getuser($2),2,32)
  798.       if (%a == pending) { .msg # This account is waiting to be processed, please check back later. Request info, server: $hget($+($network,.aps),$+($2,.server)) port: $hget($+($network,.aps),$+($2,.port)) - if any item is incorrect, please use !report }
  799.       elseif (%a == accepted) { .msg # This request was accepted, please look for the information memo. The account was added to the $gettok(%BNCBindHost,1,46) server. If you did not receive the information memo or there is a problem with the account, please use !report if staff are not available. }
  800.       elseif (%a == blacklisted) { .msg # This account has been BLACKLISTED $asctime(%b,h:nn:ssTT m/d/yy) }
  801.       elseif (%a == blocked) { .msg # This account has been BLOCKED $asctime(%b,h:nn:ssTT m/d/yy) }
  802.       elseif (%a == declined) { .msg # This account has been DECLINED $asctime(%b,h:nn:ssTT m/d/yy) }
  803.       elseif (%a == deleted) { .msg # This account has been DELETED $asctime(%b,h:nn:ssTT m/d/yy) }
  804.     }
  805.     else { .msg # $2 account was not found in the request records during the last 60 days. Make sure you have the exact username, including any CaPs if used. }
  806.     fpro $nick
  807.   }
  808.   elseif (?bnchelp iswm $1) { .msg # $nick $+ , To apply for a BNC, please type: !request (in #GhoulBNC) }
  809.   elseif (?request iswm $1-) {
  810.     if (!%checkuser) {
  811.       .msg # Thank you for your interest in our BNC software. An automated message will message you in 3 seconds...
  812.       .timer 1 3 .msg $nick Hello, I am $me $+ , an automated BNC bot designed to guide you through the BNC application process.
  813.       .timer 1 3 .msg $nick You need to refrain from breaking any of $network $+ 's rules while using this BNC service.
  814.       .timer 1 3 .msg $nick If you accept our Terms of Service, please type "4accept" if not please type "4decline".
  815.       .timer 1 3 .msg $nick NOTE: At any time, type "4cancel" and your application will be discarded. Please note that if this application is not completed in under ten minutes.
  816.       fpro $nick
  817.     }
  818.     elseif (%checkuser == $nick) {
  819.       .msg # You already have a BNC application in process.  Please check your pm window for help.
  820.     }
  821.     else {
  822.       .msg # Please wait while I process a BNC request from %checkuser $+ . Try again in a minute.
  823.       ignore -u60 $nick
  824.     }
  825.   }
  826.   elseif (?report iswm $1) {
  827.     if (!$2) { .msg $nick Syntax: $1 Problem -- problem field can be: correction on request, [correction] / never received memo / need server/network changed to [irc.server.name] / bnc is not connecting. Password resets }
  828.     else {
  829.       var %a = $r(100000,999999)
  830.       hadd -m $+($network,.aps) $+(issue,%a) $2-
  831.       hadd -m $+($network,.aps) $+(issue,%a,.status) pending
  832.       .msg # Your problem has been reported to the staff. Please check the status of your report using !checkreport UniqueID.
  833.       .msg # Your unique report ID is: %a $+ . Please do not forget this ID!
  834.       .msg #GhoulBNCStaff $nick on $network has reported a problem. Type: !checkreport <ID> $+ . Description: $2- $+ . Report ID: %a $+ . To accept this report use !ar %a $+ . To decline this report use !dr %a $+ .
  835.     }
  836.     fpro $nick
  837.   }
  838.   elseif (?checkreport iswm $1) {
  839.     if (!$2) { .msg $nick Invalid Syntax. Syntax: $1 UniqueID. }
  840.     elseif (!$hget($+($network,.aps),$+(issue,$2))) { .msg $nick No such report! }
  841.     else { .msg # ID:[ $+ $2 $+ ]. Your report has been $hget($+($network,.aps),$+(issue,$2,.status)) $+ . $iif($hget($+($network,.aps),$+(issue,$2,.status)) == pending,Your report is pending. The Staff accepts these reports in fashion of first come first serve. Please check back later. Thank You for your report.,Solution: $hget($+($network,.aps),$+(issue,$2,.reply))) }
  842.     fpro $nick
  843.   }
  844.   if (%relay == on) { relay $nick $network $1- }
  845. }
  846.  
  847.  
  848.  
  849. ;====================== PRIVATE MESSAGE APPLICATION
  850.  
  851. on *:text:*:?:{
  852.   if ($hget(suspended,$network)) { return }
  853.   elseif ($nick !ison #GhoulBNC && $nick != *status) { return }
  854.   elseif ($isuserblack($nick)) { .msg $nick You are blacklisted. Contact an @Operator to get it removed. | .ignore -pu300 $nick 2 }
  855.   elseif (running * iswm $1-) {
  856.     if ($nick == *status) { .msg %chan [UPTIME] $gettok(%BNCBH,1,46) has been online: $+($chr(40),$3-,$chr(41)) $+ . }
  857.   }
  858.   elseif (set password * iswm $1-) {
  859.     var %g = $hget($+($network,.aps),$+($nick,.username))
  860.     hadd -m $+($network,.aps) $+(%g,.password) $md5($3)
  861.     .msg $nick Okay. Your password has been set to: $3
  862.   }
  863.   elseif (username == $1) {
  864.     if ($checkuser($2)) { .msg $nick Account exists under profile $2 $+ ... }
  865.     elseif (!$2) { .msg $nick No username supplied! Syntax: username <your username> }
  866.     else {
  867.       hadd -m $+($network,.aps) $+($nick,.username) $2
  868.       .msg $nick Okay. Your username has been recorded down as $2 $+ . Please specify the server you wish to use our BNC service on. Servers outside of the $network network can be specified. Type "4server servername". If you wish to use the default $network server type "4server $server $+ " (this is 4recommendded)
  869.     }
  870.   }
  871.   elseif (use default iswm $1-2) {
  872.     if ($checkuser($nick)) { .msg $nick Account exists under profile $nick $+ ... Unable to use default nickname... }
  873.     else {
  874.       hadd -m $+($network,.aps) $+($nick,.username) $nick
  875.       .msg $nick Okay. Your username has been recorded down as $nick $+ . Please specify the server you wish to use our BNC service on. Servers outside of the $network network can be specified. Type "4server servername". If you wish to use the default $network server type "4server $server $+ " (this is 4recommendded)
  876.     }
  877.   }
  878.   elseif (server == $1) {
  879.     var %g = $hget($+($network,.aps),$+($nick,.username))
  880.     if ($checkuser(%g)) { .msg $nick Account exists under profile %g $+ ... }
  881.     elseif (!$2) { .msg $nick No server/port supplied! Syntax: server server port }
  882.     else {
  883.       hadd -m $+($network,.aps) $+(%g,.server) $2
  884.       hadd -m $+($network,.aps) $+(%g,.port) $iif($3,$3,6667)
  885.       if (*leafghoul* iswm $2) { .msg $nick Okay. You have selected your server as $2 $+ . Now you will need to specify what vHost you would like. A vHost is your virtual host name. A vHost has to be in the valid host format: your.vhost.here. Type vHost "4Your.vHost.here". }
  886.       else { .msg $nick Your server has been recorded. Please specify a reason for wanting a BNC. This is a freeservice, therefore we reserve the right to accept or decline your application forany reason. Please be specific and include an elaborate reason regarding why you need a BNC from us. To do so, type "4reason <reason here>". }
  887.     }
  888.   }
  889.   elseif (vhost == $1) {
  890.     var %g = $hget($+($network,.aps),$+($nick,.username))
  891.     if ($checkuser(%g)) { .msg $nick Account exists under profile %g $+ ... }
  892.     elseif (!$2) { .msg $nick No vhost specified! }
  893.     else {
  894.       hadd -m $+($network,.aps) $+(%g,.vhost) $2
  895.       .msg $nick Your vHost has been recorded. Please specify a reason for wanting a BNC. This is a free service; therefore we reserve the right to accept or decline your application for any reason. Please be specific and include an elaborate reason regarding why you need a BNC from us. To do so, type "4reason <reason here>".
  896.     }
  897.   }
  898.   elseif (ident == $1) {
  899.     var %g = $hget($+($network,.aps),$+($nick,.username))
  900.     if ($checkuser(%g)) { .msg $nick Account exists under profile %g $+ ... }
  901.     elseif (!$2) { .msg $nick No ident specified! }
  902.     else {
  903.       hadd -m $+($network,.aps) $+(%g,.ident) $2
  904.       .msg $nick Your IDENT has been recorded.
  905.     }
  906.   }
  907.   elseif (realname == $1) {
  908.     var %g = $hget($+($network,.aps),$+($nick,.username))
  909.     if ($checkuser(%g)) { .msg $nick Account exists under profile %g $+ ... }
  910.     elseif (!$2) { .msg $nick No realname specified! }
  911.     else {
  912.       hadd -m $+($network,.aps) $+(%g,.realname) $2-
  913.       .msg $nick Your REALNAME has been recorded.
  914.     }
  915.   }
  916.   elseif (reason == $1) {
  917.     var %g = $hget($+($network,.aps),$+($nick,.username))
  918.     if ($checkuser(%g)) { .msg $nick Account exists under profile %g $+ ... }
  919.     elseif (!$2) { .msg $nick No reason specified! }
  920.     else {
  921.       hadd -m $+($network,.aps) $+(%g,.tos) pending
  922.       .msg $nick Your reason has been recorded $+ . You have successfully completed the BNC application. Within 24 hours, you will recieve a memo specifying whether your BNC application has been accepted or declined. Thank You, have a nice day.
  923.       hadd -m $+($network,.aps) $+(%g,.reason) $2-
  924.       hadd -m $+($network,.aps) $+(%g,.tos) pending
  925.       hadd -m $+($network,.accounts) %g PENDING $ctime $nick $adate
  926.       leafghoul BNC request from user: $nick $+($chr(40),$address($nick,5),$chr(41)) on $network - Username: %g - Terms of Service: $hget($+($network,.aps),$+(%g,.tos)) - Server: $hget($+($network,.aps),$+(%g,.server)) - vHost: $hget($+($network,.aps),$+(%g,.vhost)) - Reason specified: $hget($+($network,.aps),$+(%g,.reason)) $+ . To Accept this application please type: !accept %g $+ . To decline please type: !decline %g $+ .
  927.     }
  928.   }
  929.   elseif (accept == $1-) {
  930.     var %g = $hget($+($network,.aps),$+($nick,.username))
  931.     if ($hget($+($network,.aps),$+(%g,.tos)) == accepted) { .msg $nick You have already accepted. }
  932.     else {
  933.       .whois $nick
  934.       set -u5 %bncNick $nick
  935.     }
  936.   }
  937.   elseif (decline == $1-) {
  938.     var %g = $hget($+($network,.aps),$+($nick,.username))
  939.     if ($hget($+($network,.aps),$+(%g,.tos)) == accepted) { .msg $nick You do not have an application pending! }
  940.     elseif ($gettok($hget($+($network,.accounts),%g),1,32) == DECLINED) { .msg $nick You are already declined! }
  941.     else {
  942.       .msg $nick Okay, you have declined our Terms of Conditions and therefore your BNC application has been cancelled $+ .
  943.       leafghoul $nick on $network has DECLINED to comply with the BNC Terms of Service in their application. Info: $address($nick,5) $+ .
  944.       hadd -m $+($network,.accounts) %g DECLINED $ctime $nick $adate
  945.       hadd -m $+($network,.aps) $+(%g,.tos) declined
  946.       remhash %g
  947.     }
  948.   }
  949.   elseif (cancel == $1-) {
  950.     var %g = $hget($+($network,.aps),$+($nick,.username))
  951.     if ($checkuser(%g)) {
  952.       .msg $nick Your BNC application has been cancelled upon your request. If you spam/abuse this feature, youWILL be permanently banned from using our BNC services ever again.
  953.       leafghoul $nick on $network has cancelled their BNC application. $asctime(dddd/mmm/yyyy - hh:nn:ss TT) $+ . Info: $address($nick,5) $+ .
  954.       remhash %g
  955.     }
  956.     else { .msg $nick You do not have an application pending! }
  957.   }
  958. }
  959. #Bnc end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement