rendered paste bodyon $*:Text:/^[!@]stats/Si:#: {
set %rsn $2
set %display $iif($left($1,1) == @,msg $chan,notice $nick)
sockopen Stats o-ss.net 80
}
on *:SockOpen:stats: {
sockwrite -n $sockname GET /parsers/stats.php?user= $+ %rsn HTTP/1.1
sockwrite -n $sockname Host: o-ss.net $+ $crlf $+ $crlf
}
on *:Sockread:stats: {
if ($sockerr) %display Sockread Error in $sockname $+ .
else {
var %read
sockread %read
tokenize 32 %read
if ($setskill($1)) {
set %statline %statline $setskill($1) $3
}
elseif (*END* iswm %read) {
%display Stats for: %rsn
%display %statline
sockclose $sockname
unset %display
unset %rsn
unset %statline
}
}
}
alias setskill {
if ($regex($1,/^(st|(skill)?total|overall)$/Si)) return Overall
elseif ($regex($1,/^at(t|t?k|tack)$/Si)) return Attack
elseif ($regex($1,/^def(en[cs]e)?$$/Si)) return Defence
elseif ($regex($1,/^str(eng[th][th])?$/Si)) return Strength
elseif ($regex($1,/^hp|hit(s|points?)?$/Si)) return Hitpoints
elseif ($regex($1,/^range?(r|d|ing)?$/Si)) return Ranged
elseif ($regex($1,/^Pray(er)?$$/Si)) return Prayer
elseif ($regex($1,/^mag(e|ic)$$/Si)) return Magic
elseif ($regex($1,/^cook(ing)?$/Si)) return Cooking
elseif ($regex($1,/^wc|wood(cut(ting)?)?$/Si)) return Woodcutting
elseif ($regex($1,/^fletch(ing)?$/Si)) return Fletching
elseif ($regex($1,/^fish(ing)?$/Si)) return Fishing
elseif ($regex($1,/^(fire|fm)(make?(ing)?|ing)?$/Si)) return Firemaking
elseif ($regex($1,/^craft(ing)?$/Si)) return Crafting
elseif ($regex($1,/^(smith|smelt)(ing)?$/Si)) return Smithing
elseif ($regex($1,/^mine?(ing)?$/Si)) return Mining
elseif ($regex($1,/^herb(law|lore)?$/Si)) return Herblore
elseif ($regex($1,/^agil?(ity)?$/Si)) return Agility
elseif ($regex($1,/^(th(ei|ie)[fv](e|ing)?)$/Si)) return Thieving
elseif ($regex($1,/^slay(er|ing)?$/Si)) return Slayer
elseif ($regex($1,/^farm(er|ing)?$/Si)) return Farming
elseif ($regex($1,/^(rc|runecraft)(er|ing)?$/Si)) return Runecraft
elseif ($regex($1,/^(poh|cons?(truct)?(ion|ing)?|carp(entry)?)$/si)) return Construction
elseif ($regex($1,/^hunt(er|ing)?$/Si)) return Hunter
}