rendered paste bodyon $*:text:/^[!@]stats/Si:#: {
inc %x
set %stats.display. [ $+ [ %x ] ] $iif($left($1,1) == @,msg $chan,.notice $nick)
if ($len($2-) > 12) {
%stats.display. [ $+ [ %x ] ] $c1(The) $c2(nick) $c1(has to be) $c2(12) $c1(letters max)
halt
}
elseif ($2) { set %stats.search. [ $+ [ %x ] ] $replace($2-,$chr(32),+) }
elseif (($2 == $null) && ($readini(DefRSN.ini,RSNs,$address($nick,2)))) { set %stats.search. [ $+ [ %x ] ] $ifmatch }
else {
%stats.display. [ $+ [ %x ] ] $c1(Specify a) $c2(nick) $c1(to search) $c2(!stats <rsn>) $c1(or use) $c2(!defname <rsn> then !stats)
halt
}
sockopen stats. [ $+ [ %x ] ] hiscore-web.runescape.com 80
}
on *:sockopen:stats.*: {
sockwrite -nt $sockname GET $+(/aff/runescape/hiscorepersonal.ws?user1=,%stats.search. [ $+ [ %x ] ]) HTTP/1.1
sockwrite -nt $sockname Host: hiscore-web.runescape.com
sockwrite -nt $sockname $crlf
}
on *:sockread:stats.*: {
if ($sockerr) { halt }
else {
var %sockreader
sockread %sockreader
if (*1 million* iswm %sockreader) {
%stats.display. [ $+ [ $gettok($sockname,2,46) ] ] $c2($replace(%stats.search. [ $+ [ %x ] ],+,$chr(32))) $c1(isn't on the highscores for any skills)
unset %stats.*. [ $+ [ $gettok($sockname,2,46) ] ]
sockclose $sockname
}
elseif (*overall.ws*table=* iswm %sockreader) {
var %stat1 | sockread %stat1
set %stats.skills. [ $+ [ $gettok($sockname,2,46) ] ] $eval($htmlfree(%stat1),2)
var %stat2 | sockread %stat2
var %stat3 | sockread %stat3
var %stat4 | sockread %stat4
set %stats.lvl. [ $+ [ $gettok($sockname,2,46) ] ] $eval($htmlfree(%stat4),2)
set %stats.final. [ $+ [ $gettok($sockname,2,46) ] ] $(%stats.final. [ $+ [ $gettok($sockname,2,46) ] ],2) $c1(%stats.skills. [ $+ [ $gettok($sockname,2,46) ] ]) $c2(%stats.lvl. [ $+ [ $gettok($sockname,2,46) ] ])
}
if (*<img class="mainscroll-bottom"* iswm %sockreader) {
%stats.display. [ $+ [ $gettok($sockname,2,46) ] ] $c1(Stats for) $c2(%stats.search. [ $+ [ $gettok($sockname,2,46) ] ] $+ :) $iif($regex($gettok(%stats.final. [ $+ [ $gettok($sockname,2,46) ] ],1,32),/^overall/Si),$gettok(%stats.final. [ $+ [ $gettok($sockname,2,46) ] ],1-2,32))
%stats.display. [ $+ [ $gettok($sockname,2,46) ] ] $c1($iif($regex($gettok(%stats.final. [ $+ [ $gettok($sockname,2,46) ] ],1,32),/^overall/Si),$gettok(%stats.final. [ $+ [ $gettok($sockname,2,46) ] ],3-,32)),%stats.final. [ $+ [ $gettok($sockname,2,46) ] ])
unset %stats.*. [ $+ [ $gettok($sockname,2,46) ] ]
sockclose $sockname
}
}
}
alias htmlfree {
var %y, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%y), %y = $remove(%y, )
return %y
}