rendered paste bodyon $*:TEXT:$(/^(?>\Q $+ $me $+ \E,? ?)?([!.@~]rank(ed)?)/Si):*:{
if (($3 isnum) || ($2 !isnum) || (!$2) || (!$3) || ($skilltable($3) == 0)) {
notice $nick $c1(Error:) $c2(Invalid syntax. !rank <rank #> <skill>)
halt
}
inc %inc
set $+(%,return.rank.,%inc) $iif($left($1,1) == @,msg $chan,notice $nick)
set $+(%,rank.%inc) $2
set $+(%,rank.table.,%inc) $skilltable($3)
set $+(%,rank.skill.,%inc) $skill($3)
sockopen $+(rank.,%inc) hiscore.runescape.com 80
}
on *:SOCKOPEN:rank.*: {
var %inc = $gettok($sockname,2,46)
sockwrite -nt $sockname GET $+(/lang/en/aff/runescape/overall.ws?table=,%rank.table. [ $+ [ %inc ] ],&rank=,%rank. [ $+ [ %inc ] ]) HTTP/1.1
sockwrite -nt $sockname Host: hiscore.runescape.com
sockwrite -nt $sockname $crlf
}
on *:SOCKREAD:rank.*: {
var %inc = $gettok($sockname,2,46)
if ($sockerr) {
%return.rank. [ $+ [ %inc ] ] Socket Error: $sockname $+ . Error code: $sockerr Please inform $me of this error message.
halt
}
else {
var %sockreader
sockread %sockreader
if (*#AA0022* iswm %sockreader) && (*hiscorepersonal.ws?user1* iswm %sockreader) {
set %rank.output1 [ $+ [ %inc ] ] $nohtml(%sockreader)
}
if (*<span style="color:#AA0022;">* iswm %sockreader) {
set %rank.output2. [ $+ [ %inc ] ] $nohtml(%sockreader)
}
if (*<font color="#AA0022">* iswm %sockreader) {
set %rank.output3. [ $+ [ %inc ] ] $nohtml(%sockreader)
%return.rank. [ $+ [ %inc ] ] Rank: %rank. [ $+ [ %inc ] ] Skill: %rank.skill. [ $+ [ %inc ] ] User: %rank.output2. [ $+ [ %inc ] ] Level: %rank.output2. [ $+ [ %inc ] ] Experience: %rank.output3. [ $+ [ %inc ] ]
sockclose $sockname
unset %rank*
}
}
}