rendered paste bodyon &*:DNS:{
set -u1 %:echo echo $color(info) -ti2 $+ $iif(($_isactive) && (@* !iswm $active), a, s)
set -nu1 %::me $me | set -nu1 %::server $server | set -nu1 %::port $port
set -nu1 %::pre 02 ••12
set -nu1 %::c1 13 | set -nu1 %::c2 11 | set -nu1 %::c3 05 | set -nu1 %::c4 00
if ($dns(0)) {
var %i = 1, %t = $dns(0)
while (%i <= %t) {
set -nu1 %::nick $dns(%i).nick
set -nu1 %::address $dns(%i)
set -nu1 %::iaddress $dns(%i).ip
set -nu1 %::naddress $dns(%i).addr
set -nu1 %::raddress $remtok($dns(%i).ip $dns(%i).addr, $dns(%i), 1, 32)
echo -a 02 ••12 dns: resolved 02(12 $+ %::address $+ 02)12 to 02(12 $+ %::raddress $+ 02)12 $+ %:comments | haltdef
inc %i
}
}
else {
set -nu1 %::nick $nick
set -nu1 %::address $address
echo -a 02 ••12 dns: unable to resolve 02(12 $+ %::address $+ 02)12 $+ %:comments | haltdef
}
unset %:echo %::nick %::address %::iaddress %::raddress %::naddress %::me %::server %::port %::pre %::c?
}
alias dns {
if ($isid) { return }
if (!$0) || (($1 == -h) && ($0 = 1)) || ((. !isin $1) && ($1 != -h) && (!$server)) {
.timer.kte 1 0 !dns $1- | .timer.kte -e | return
}
.!dns $1-
if (!$show) { return }
var %h = $1, %f
if ($istok(-h -c, $1, 32)) { %f = $1 | %h = $2 }
if (%f != -h) && (. !isin %h) && ($address(%h, 5)) { %h = $gettok($ifmatch, 2, 64) }
set -u1 %:echo echo $color(info) -ti2 $+ $iif((@* iswm $active) && ($_isactive), s, a)
set -u1 %::address %h
set -nu1 %::me $me | set -nu1 %::server $server | set -nu1 %::port $port
set -nu1 %::pre 02 ••12
set -nu1 %::c1 13 | set -nu1 %::c2 11 | set -nu1 %::c3 05 | set -nu1 %::c4 00
}