rendered paste bodyalias dns { %s.dns = $ctime | %dns = $1 | .dns $1- }
ON *:DNS:{
if ($dns(0) == 0) {
msg %channel $c1([) $+ $c2(DNS) $+ $c1(]:) $c1(couldn't resolve) $c2($iif($iaddress,$iaddress,$dns(0).addr)) $+ $c1(.) | unset %dns | haltdef }
else {
var %numhosts $dns(0), %host = 0
var %hosts
while (%host < %numhosts) {
inc %host 1
set %hosts %hosts $iif($dns(1) == $dns(1).ip,$dns(%host).addr,$dns(%host).ip) $+ $chr(44)
}
m %channel $c1([) $+ $c2(DNS) $+ $c1(]:) $c2($dns(1)) $c1(->) $c2($left(%hosts,$calc($len(%hosts)-1)))
unset %dns
haltdef
}
}
on $*:text:/^[!@.`](dns|resolve)/Si:#: {
/set %channel $chan
/dns $2-
}