on *: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 } }