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