rendered paste bodyon *:TEXT:*:*:{
if ($1 == %trig $+ dnsip) {
set %ipaddchan $chan
if ( $gettok($2,1,46) isnum 1-99 ) {
set %resolved $2
iplocate
}
elseif ( $gettok($2,1,$chr(10)) isletter abcdefghijklmnopqrstuvwxyz ) {
set %dns.chan $chan | set %dns.lookup $2 | .dns $2 }
} }
on *:DNS:{
if ($raddress == $null) { msg # $+ %ipaddchan 9,1( 0Err9or 14,1º0,1 IP could not be resolved. 9) | halt }
set %resolved $raddress
iplocate
}
ALIAS iplocate {
set %iploc 1
sockclose iploc
sockopen iploc dnsstuff.com 80
}
ALIAS halnohtml var %haltmp , %i = $regsub($1-,/(<[^>]+>)/g,$chr(32),%haltmp) | return %haltmp
on *:SOCKOPEN:iploc: {
sockwrite -n $sockname GET /tools/ipall.ch?ip= $+ %resolved HTTP/1.1
sockwrite -n $sockname Host: www.melissadata.com
sockwrite -n $sockname User-agent: mIRC/ $+ $version
sockwrite -n $sockname $crlf
}
on *:SOCKREAD:iploc: {
if ($sockerr > 0) { return }
var %haltmp | sockread %haltmp
while ($sockbr) {
if ( *City (per outside source):* iswm %haltmp ) {
set %ipcity $gettok($remove($halnohtml(%haltmp),$chr(40) $+ per,outside,source $+ $chr(41),city,$chr(58)),1,44))
set %ipstate $gettok($remove($halnohtml(%haltmp),$chr(40) $+ per,outside,source $+ $chr(41),city,$chr(58)),2,44))
msg %ipaddchan 9,1( 0IP9:0 %resolved 14,1º0,1 Location9:0 %ipcity $+ , %ipstate %ipcountry 9)
}
if ( *Country (per outside source):* iswm %haltmp ) {
set %ipcountry $remove($halnohtml(%haltmp),$chr(40) $+ per,outside,source $+ $chr(41),city,$chr(58),$chr(91),$chr(93),US,Country)))
inc %iploc
}
set %mytemp $halnohtml(%haltmp)
sockread %haltmp
}
}