All pastes #623816 Raw Edit

Untitled

public text v1 · immutable
·published 2007-07-17 21:18 UTC
rendered paste body
on $*: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*
    }
  }
}