on *:TEXT:.RSStats *:*: {
var %i 1
while ($sock($+(RSStats.,%i))) { inc %i 1 }
set %RSStats. $+ %i $+ .Lookup $replace($2-,$chr(32),_)
set %RSStats. $+ %i $+ .Nick $nick
sockopen RSStats. $+ %i hiscore-web.runescape.com 80
}
on *:SOCKOPEN:RSStats.*: {
sockwrite -nt $sockname GET $+(/lang/en/aff/runescape/hiscorepersonal.ws?user1=,$eval($+(%,$sockname,.Lookup),2)) HTTP/1.0
sockwrite -nt $sockname Host: hiscore-web.runescape.com
sockwrite -nt $sockname $crlf
}
on *:SOCKREAD:RSStats.*: {
if ($sockerr) {
.notice $eval($+(%,$sockname,.Nick),2) An error occured while completing your request.
return
}
var %read
sockread %read
if (
* | iswm %read) {
set $+(%,$sockname,.Results) $+($eval($+(%,$sockname,.Results),2),$chr(32),$chr(124),$chr(32),$htmlfree($v2))
set $+(%,$sockname,.Level) 2
}
elseif (* | iswm %read) {
if ($eval($+(%,$sockname,.Level),2) = 1) { set $+(%,$sockname,.Results) $+($eval($+(%,$sockname,.Results),2),$chr(32),$htmlfree(%read)) }
dec $+(%,$sockname,.Level) 1
}
elseif (( = %read) && ($eval($+(%,$sockname,.Level),2) = 2)) { set $+(%,$sockname,.Results) $+($eval($+(%,$sockname,.Results),2),$chr(32),-) }
elseif (%read = ) {
.notice $eval($+(%,$sockname,.Nick),2) Stats for $+(,$eval($+(%,$sockname,.Lookup),2),:) $right($eval($+(%,$sockname,.Results),2),-2)
Cleanup $sockname
}
}
alias htmlfree {
var %x,%y = $regsub($1-,/(<[^>]+>)/g,$null,%x)
return $remove(%x, )
}
alias -l Cleanup {
unset $+(%,$$1,.*)
sockclose $$1
}