All pastes #465834 Raw Edit

Stuff

public text v1 · immutable
#465834 ·published 2007-04-30 17:03 UTC
rendered paste body
on $*: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,&nbsp;) 
  return %y
}