BNC Account Manager/System — File Browser

BNCAccountManagerSystemv1.0 / BNCAccountManagerSystemv1.0 / bnc / bnc.mrc

bnc.mrc — 12.74 KB — Download this file

on *:load:{ writeini $mircdirbnc\bnc.db Settings Status OFF | writeini $mircdirbnc\bnc.db Settings Scroll ON | writeini $mircdirbnc\bnc.db Settings DefServ styx.us.relic.net }
dialog bnc {
  title "BNC Account Manager/System v1.0"
  size -1 -1 360 175
  ;size -1 -1 450 300
  button "Close" 1, 295 147 60 25, ok
  box "Accounts" 2, 5 5 140 167
  list 3, 10 20 130 100, vsbar
  button "Add" 4, 10 110 55 25
  button "Del" 5, 85 110 55 25, disabled
  box "Account Info" 6, 150 5 205 140
  text "Host:" 7, 160 28 90 50
  text "Port:" 8, 285 28 90 50
  text "Password:" 9, 160 53 90 50
  text "Def. Vhost:" 10, 160 73 90 50
  text "Def. Serv:" 11, 160 93 90 50
  edit "" 12, 190 25 93 21, autohs, multi, disabled
  edit "" 13, 310 25 40 21, autohs, multi, disabled
  edit "" 14, 215 50 135 21, autohs, disabled, pass
  edit "" 15, 215 70 135 21, autohs, multi, disabled
  edit "" 16, 215 90 135 21, autohs, multi, disabled
  button "Edit" 17, 155 115 55 25, disabled
  button "Clear" 18, 225 115 55 25, disabled
  button "Apply" 19, 295 115 55 25, disabled
  button "Help" 20, 225 147 55 25
  button "Advanced" 21, 150 147 60 25
  button "Connect" 22, 32 140 85 25, disabled
}
dialog bncerror {
  title "BNC ERROR"
  size -1 -1 320 40
  button "Close" 1, 5 5 60 25, ok
  text "" 2, 70 5 205 140, center
}
dialog bnchelp {
  title "Help / About"
  size -1 -1 360 175
  button "Close" 1, 295 147 60 25, ok
  button "About" 2, 225 147 60 25
  box "Topics" 3, 0 0 150 175
  list 4, 0 15 150 170
  box "Topic Description" 5, 155 0 205 145
  box "About" 6, 155 0 205 145, hide
  text "Command:" 7, 170 25 90 55
  text "Description:" 8, 170 45 90 50
  text "" 9, 225 25 125 50
  text "" 10, 230 45 125 50
  text "" 11, 170 65 170 75
  text "Author: Tork " 12, 170 25 120 50, hide
  text "Email: tork@goth.net" 13, 170 45 120 50, hide
  text "WWW (URL): http://tork.cjb.net/irc/projects/" 14, 170 65 170 50, hide
  text "IRC: styx.us.relic.net" 15, 170 95 120 40, hide
  text "Chan: #TestChamber" 16, 170 115 120 30, hide
}
dialog bncadv {
  title "BNC Advanced Settings"
  size -1 -1 360 175
  button "Close" 1, 295 147 60 25, ok
  box "Accounts" 2, 5 5 160 140
  box "Script Settings" 3, 170 5 185 140
  button "Backup Database" 4, 40 30 95 25
  text "BNC Status:" 5, 175 31 90 50
  text "Scroll Titlebar:" 6, 175 61 90 50
  text "Def. Server:" 7, 175 87 90 50
  button "Restore Defaults" 8, 175 110 95 25
  check "" 9, 265 25 55 25, push
  check "" 10, 265 55 55 25, push
  edit "" 11, 240 85 110 21, autohs, multi
  button "Resore Database" 12, 40 60 95 25, disabled
}
alias bnc { if ($dialog(bnc)) { dialog -x bnc bnc } | dialog -m bnc bnc | if ($rbnc(Settings,Scroll) == ON) { bnc.topic } }
alias bnc.error { dialog -m bncerror bncerror | did -a bncerror 2 %bnc.error | unset %bnc.error | halt }
alias bnc.help { dialog -m bnchelp bnchelp }
alias bnc.adv { dialog -m bncadv bncadv }
alias bnc.topic { .play -sc $mircdirbnc\bnctopic.txt 50 }
alias bnc.scroll { if ($rbnc(Settings,Scroll) == ON && $dialog(bnc) && $1 != $null) { dialog -t bnc $1- } }
alias rbnc { return $readini -n $mircdirbnc\bnc.db $1 $2- }
alias wbnc { return writeini $mircdirbnc\bnc.db $1 $2 $3- }
alias rmbnc { return remini $mircdirbnc\bnc.db $1 $2- }
alias rbnchlp { return $readini -n $mircdirbnc\bnchelp.db $1 $2- }
alias bnc.getinfo { did -r bnc 12,13,14,15,16 | did -a bnc 12 $did(bnc,3,$did(bnc,3).sel) | did -a bnc 13 $rbnc($did(bnc,3,$did(bnc,3).sel),Port) | did -a bnc 14 $rbnc($did(bnc,3,$did(bnc,3).sel),Passwd) | did -a bnc 15 $rbnc($did(bnc,3,$did(bnc,3).sel),DefVhost) | did -a bnc 16 $rbnc($did(bnc,3,$did(bnc,3).sel),DefServ) | did -e bnc 17 }
alias bnc.getlist { dialog -v bnc bnc | did -b bnc 5,17,22 | did -r bnc 3,12,13,14,15,16 | if ($rbnc(Accounts,Total) == $null) { $wbnc(Accounts,Total,0) } | if ($rbnc(Accounts,Total) == 0) { did -a bnc 3 No Accounts | halt } | %bncacc.cur = 0 | :loop | inc %bncacc.cur 1 | if (%bncacc.cur >= $calc($rbnc(Accounts,Total) + 1)) { unset %bncacc.* | halt } | did -a bnc 3 $rbnc(Accounts,%bncacc.cur) | goto loop }
alias bnc.gethelp { did -r bnc 12,13,14,15,16 | did -b bnc 17,5,22 | dialog -v bnchelp bnchelp | did -r bnchelp 4 | %bnchlp.cur = 0 | :loop | inc %bnchlp.cur 1 | if (%bnchlp.cur >= $calc($rbnchlp(Topics,Total) + 1)) { unset %bnchlp.* | halt } | did -a bnchelp 4 $rbnchlp(Topics,%bnchlp.cur) | goto loop }
alias bnc.getadv { if ($rbnc(Accounts,Total) >= 1) { did -e bncadv 4 } | if ($exists(bnc\backup\bncdb.bak) == $true) { did -e bncadv 12 } | if ($rbnc(Settings,Status) == OFF) { did -a bncadv 9 OFF | did -u bncadv 9 } | if ($rbnc(Settings,Status) == ON) { did -a bncadv 9 ON | did -c bncadv 9 } | if ($rbnc(Settings,Scroll) == OFF) { did -a bncadv 10 OFF | did -u bncadv 10 } | if ($rbnc(Settings,Scroll) == ON) { did -a bncadv 10 ON | did -c bncadv 10 } | did -ra bncadv 11 $rbnc(Settings,DefServ) }
alias bncacc.chk { %bncacc.tmp = 0 | :loop | inc %bncacc.tmp 1 | if (%bncacc.tmp >= $calc($rbnc(Accounts,Total) + 1)) { unset %bncacc.tmp | goto end } | if ($rbnc(Accounts,%bncacc.tmp) == %bncacc.host) { did -b bnc 5,17,22 | did -r bnc 12,13,14,15,16 |  %bnc.error = You allready have an account with the host ' %bncacc.host ' added. | bnc.error | unset %bncacc.* | halt } | goto loop | :end }
alias bnc.conn { %bncacc.host = $did(bnc,12).text | %bncacc.port = $did(bnc,13).text | dialog -x bnc bnc | .server %bncacc.host $+ : $+ %bncacc.port | $wbnc(Settings,Status,ON) }
alias bnc.add { if ($did(bnc,3,1) == No Accounts) { did -r bnc 3 1 } | %bncacc.cur = $calc($rbnc(Accounts,Total) + 1) | if ($?="BNC Host or IP") { %bncacc.host = $! } | if ($?="BNC Port") { %bncacc.port = $! } | if ($?*="BNC Password") { %bncacc.passwd = $! } | if ($?="BNC Defualt Vhost (optional)") { %bncacc.defvhost = $! } | if ($?="BNC Default Server (optional)") { %bncacc.defserv = $! } | if (%bncacc.host == $null || %bncacc.port == $null || %bncacc.port !isnum || %bncacc.passwd == $null) { did -b bnc 5,17,22 | did -r bnc 12,13,14,15,16 | %bnc.error = Not enough or invalid account information entered, can not add account. | bnc.error | unset %bncacc.* | halt }
bncacc.chk | $wbnc(Accounts,Total,%bncacc.cur) | $wbnc(Accounts,%bncacc.cur,%bncacc.host) | $wbnc(%bncacc.host,Port,%bncacc.port) | $wbnc(%bncacc.host,Passwd,%bncacc.passwd) | $wbnc(%bncacc.host,DefServ,$rbnc(Settings,DefServ)) | if (%bncacc.defvhost != $null) { $wbnc(%bncacc.host,DefVhost,%bncacc.defvhost) } | if (%bncacc.defserv != $null) { $wbnc(%bncacc.host,DefServ,%bncacc.defserv) } | bnc.getlist | unset %bncacc.* }
alias bnc.del { $rmbnc($did(bnc,3,$did(bnc,3).sel)) | did -r bnc 12,13,14,15,16 | did -b bnc 5,13,14,15,16,17,18,19,22 | var %bncacc.cur $1 | :loop | if ($rmbnc($rbnc(Accounts,%bncacc.cur)) != $null) { $rmbnc($rbnc(Accounts,%bncacc.cur)) } | if ($rbnc(Accounts,$calc(%bncacc.cur + 1)) == $null) { $rmbnc(Accounts,%bncacc.cur) | $wbnc(Accounts,Total,$calc($rbnc(Accounts,Total) - 1))) | goto end } | var %bncacc.tmp $rbnc(Accounts,$calc(%bncacc.cur + 1)) | if ($wbnc(Accounts,%bncacc.cur,%bncacc.tmp) != $null) { $ifmatch } | $rmbnc(Accounts,$calc(%bncacc.cur + 1)) | $wbnc(Accounts,Total,$calc($rbnc(Accounts,Total) - 1))) | inc %bncacc.cur | if ($rbnc(Accounts,$calc(%bncacc.cur + 1)) != $null) { goto loop } | :end | bnc.getlist }
alias bnc.update { if ($did(bnc,13).text == $null || $did(bnc,13).text !isnum || $did(bnc,14).text == $null) { %bnc.error = Not enough or invalid account information entered, can not update account. | bnc.error | halt } | bnc.getinfo | did -b bnc 5,13,14,15,16,17,18,19,22 | did -e bnc 3 }
alias bnc.bakdb { if ($?!="Warning, if a pervious backup was made it will be overwriten with the new backup!! Continue?",yes,no) { if ($exists(bnc\backup) != $true) { .mkdir bnc\backup } | .mkdir bnc\backup\tmp | .copy -o bnc\bnc.db bnc\backup\tmp | .rename bnc\backup\tmp\bnc.db bnc\backup\tmp\bncdb.bak | .copy -o bnc\backup\tmp\bncdb.bak bnc\backup | .remove bnc\backup\tmp\bncdb.bak | .rmdir bnc\backup\tmp | dialog -v bncadv bncadv | bnc.getadv } | else { dialog -v bncadv bncadv | halt } }
alias bnc.rstdb { .mkdir bnc\tmp | .copy -o bnc\backup\bncdb.bak bnc\tmp | .rename bnc\tmp\bncdb.bak bnc\tmp\bnc.db | .copy -o bnc\tmp\bnc.db $mircdirbnc | .remove bnc\tmp\bnc.db | .rmdir bnc\tmp | if ($?!="Database has been restored, Delete Backup Database?",yes,no) { .remove bnc\backup\bncdb.bak | .rmdir bnc\backup | dialog -v bncadv bncadv | did -b bncadv 12 } | else { dialog -v bncadv bncadv | halt } }
alias bnc.rstdef { if ($?!="Are you sure u want to restore all defaults? Note: any changes made before this will be lost!",yes,no) { $wbnc(Settings,Scroll,ON) | $wbnc(Settings,DefServ,styx.us.relic.net) | bnc.getadv | dialog -v bncadv bncadv } | else { dialog -v bncadv bncadv | halt } }
on *:dialog:bncerror:sclick:1:{ dialog -x bncerror bncerror | if ($dialog(bnc)) { dialog -v bnc bnc } }
on *:dialog:bnchelp:init:0:{ bnc.gethelp }
on *:dialog:bnchelp:sclick:1:{ dialog -x bnchelp bnchelp | dialog -v bnc bnc }
on *:dialog:bnchelp:sclick:2:if ($did(bnchelp,2).text == Help) { did -r bnchelp 2 | did -a bnchelp 2 About | did -e bnchelp 4 | did -v bnchelp 6 | did -h bnchelp 6,12,13,14,15,16 | did -a bnchelp 7 Command: | did -a bnchelp 8 Description: } | else { did -r bnchelp 2 | did -a bnchelp 2 Help | did -b bnchelp 4 | did -v bnchelp 6 | did -h bnchelp 5 | did -r bnchelp 7,8,9,10,11 | did -v bnchelp 12,13,14,15,16 | bnc.gethelp }
on *:dialog:bnchelp:sclick:4:{ did -r bnchelp 9,10,11 | did -a bnchelp 9 $did(bnchelp,4,$did(bnchelp,4).sel) | did -a bnchelp 10 $rbnchlp($did(bnchelp,4,$did(bnchelp,4).sel),desc) | did -a bnchelp 11 $rbnchlp($did(bnchelp,4,$did(bnchelp,4).sel),desc2) }
on *:dialog:bnc:init:0:{ bnc.getlist } 
on *:dialog:bnc:edit:13:{ $wbnc($did(bnc,12),Port,$did(bnc,13).text) }
on *:dialog:bnc:edit:14:{ $wbnc($did(bnc,12),Passwd,$did(bnc,14).text) }
on *:dialog:bnc:edit:15:{ $wbnc($did(bnc,12),DefVhost,$did(bnc,15).text) | if ($did(bnc,15).text == $null) { $rmbnc($did(bnc,12),DefVhost) } }
on *:dialog:bnc:edit:16:{ $wbnc($did(bnc,12),DefServ,$did(bnc,16).text) | if ($did(bnc,16).text == $null) { $rmbnc($did(bnc,12),DefServ) } }
on *:dialog:bnc:sclick:*:{ if ($did == 1) { .play stop | dialog -x bnc bnc } | if ($did == 3 && $did(3,1) != No Accounts) { did -e bnc 5,22 | .timer 1 0 bnc.getinfo } | if ($did == 4) { .timer 1 0 bnc.add } | if ($did == 5) { .timer 1 0 bnc.del $did(bnc,3).sel } | if ($did == 17) { did -e bnc 13,14,15,16,18,19 | did -b bnc 3,5,22 } | if ($did == 18) { did -r bnc 13,14,15,16 } | if ($did == 19) { .timer 1 0 bnc.update } | if ($did == 20) { .timer 1 0 bnc.help } | if ($did == 21) { .timer 1 0 bnc.adv } | if ($did == 22) { .timer 1 0 bnc.conn } }
on *:dialog:bncadv:init:0:{ bnc.getadv }
on *:dialog:bncadv:sclick:*:{ if ($did == 1) { did -r bnc 12,13,14,15,16 | dialog -x bncadv bncadv | dialog -v bnc bnc | did -b bnc 17,5,22 | .timer 1 1 bnc.getlist } | if ($did == 4) { .timer 1 0 bnc.bakdb } | if ($did == 8) { .timer 1 0 bnc.rstdef } | if ($did == 9) { if ($did(9).text == ON) { did -ra bncadv 9 OFF | $wbnc(Settings,Status,OFF) } | else { did -ra bncadv 9 ON | $wbnc(Settings,Status,ON) } } | if ($did == 10) { if ($did(10).text == ON) { did -ra bncadv 10 OFF | $wbnc(Settings,Scroll,OFF) } | else { did -ra bncadv 10 ON | $wbnc(Settings,Scroll,ON) } } | if ($did == 12) { .timer 1 0 bnc.rstdb } }
on *:dialog:bncadv:edit:11:{ $wbnc(Settings,DefServ,$did(11).text) }
on ^*:notice:*:*:{ if ($rbnc(Settings,Status) == ON && $nick == bnc) { var %bncacc.cur = 0 | :servchk | inc %bncacc.cur 1 |  if ($rbnc(Accounts,%bncacc.cur) == $server) { %bncacc.host = $server | goto conn } | if (%bncacc.cur >= $rbnc(Accounts,Total)) { goto end } | goto servchk | :conn | echo = $+ $nick $+ =5 *1
    if (*1 == You need to say /quote PASS <password>) { raw -q pass $rbnc(%bncacc.host,Passwd) } 
    if (*1 == Failed Pass!!) { .disconnect | %bnc.error = Password Failed!!, please check settings and try again. | bnc.error } 
    if (*1 == Level two, lets connect to something real now && $rbnc(%bncacc.host,DefVhost) != $null) { raw -q vip $rbnc(%bncacc.host,DefVhost) } 
    if (*1 == Vhost $rbnc(%bncacc.host,DefVhost) invalid) { %bnc.error = Vhost $rbnc(%bncacc.host,DefVhost) not accepted, continuing with default vhost | bnc.error }
    if (*1 == type /quote conn [server] <port> <pass> to connect) { raw -q conn $rbnc(%bncacc.host,DefServ) } 
    if (*1 == Failed Connection && $rbnc(%bncacc.host,DefServ) != $rbnc(Settings,DefServ)) { %bnc.error = IRC Server ' $+ $rbnc(%bncacc.host,DefServ) $+ ' dont seem to work, trying default server | raw -q conn $rbnc(Settings,DefServ) }
    haltdef | :end | if (%bncacc.host == $null) { %bnc.error = No account found for ' $+ $server $+ ' can't continue. | .disconnect | unset %bncacc.* | bnc.error }
  } 
}
on *:connect:if ($network == RelicNet && $rbnc(Settings,Status) == ON) && z isin $usermodes) { .raw -q mode $me -z }
menu menubar,status {
  -
  BNC Manager:{ bnc }
}