on op:text:!add network*:*:{
if !$3 {
var %server = $hfind(Networks,$server,0).data
if !%server {
.hinc -m Networks $network
.hadd -m Networks $+($network,.,$hget(Networks,$network)) $server
}
}
elseif !$4 { .msg $nick Usage !add network <network> <server> }
else {
var %server = $hfind(Networks,$4,0).data
if !%server {
.hinc -m Networks $3
.hadd -m Networks $+($3,.,$hget(Networks,$3)) $4
.msg $nick Network $3 with server address $4 has been added
var %i
scon -at1 if ($network == $3) inc % $+ i
if (!%i) server -mfc $4
}
}
}
on op:text:!add room*:*:{
if ($target != $chan) && !$3 {
.msg $nick Usage: !add room (network) <channel>
.msg $nick (network) is optional
}
elseif !$3 { .hadd -m $network $chan }
else {
.hadd -m $iif(!$4,$network,$3) $iif(!$4,$3,$4)
if $4 && ($3 != $network) {
var %network = $hfind(Networks,$+($3,.*),0,w)
if !%network {
.msg $nick Sorry, but I can't find $3 in my list of networks
.msg $nick Use !add network <network> <server> to add it
}
else {
var %c = 1
while $scon(%c).network {
if ($v1 == $iif(!$4,$network,$3)) {
if ($me !ison $iif(!$4,$3,$4)) {
.join $iif(!$4,$3,$4)
inc %joined
}
}
inc %c
}
if !%joined {
var %i
scon -at1 if ($network == $3) inc %i
if (!%i) server -mfc $3
}
}
}
}
}