All pastes #419972 Raw Edit

Untitled

public text v1 · immutable
·published 2007-04-01 19:40 UTC
rendered paste body
alias -l c1 return $+($chr(3),12,$1-,)
alias -l c2 return $+($chr(3),07,$1-,)
alias -l c3 return $+($chr(3),04,$1-,)

on $*:TEXT:/^[!@.]quest/Si:#:{
  inc %s
  set $+(%,return.,%s) $iif($left($1,1) == @, msg $chan, notice $nick)
  if ($2- == $null) { %return [ $+ [ %s ] ] add a quest to lookup! | halt }
  set $+(%,tipit.,%s) $2-
  sockopen $+(tipit.,%s) tip.it 80
}
on *:SOCKOPEN:tipit.*: {
  var %s = $gettok($sockname,2,46)
  sockwrite -nt $sockname GET /runescape/?rs2quest HTTP/1.1
  sockwrite -nt $sockname Host: tip.it
  sockwrite -nt $sockname $crlf
}
on *:SOCKREAD:tipit.*: {
  var %s = $gettok($sockname,2,46)
  if ($sockerr) {
    %return. [ $+ [ %s ] ] Socket error, please report this to $me $+ .
    halt
  }
  var %read
  sockread %read
  if (*<td><a href="index.php?rs2quest_id* $+ %tipit. [ $+ [ %s ] ] $+ *</a></td>* iswm %read) {
    set %read2 [ $+ [ %s ] ] $htmlfree(%read)
    set %tipid [ $+ [ %s ] ] $remove(%read,<td><a href="index.php?rs2quest_id=,</a></td>,$chr(34),>, %read2 [ $+ [ %s ] ] ,$chr(32))
    if (%read2 [ $+ [ %s ] ] != $null) {
      sockopen $+(tipid.,%s) tip.it 80
    }
    else { %return. [ $+ [ %s ] ] No results for %tipit. [ $+ [ %s ] ]
    }
  }
}
on *:SOCKOPEN:tipid.*: {
  var %s = $gettok($sockname,2,46)
  sockwrite -nt $sockname GET /runescape/index.php?rs2quest_id= $+ %tipid [ $+ [ %s ] ] HTTP/1.1
  sockwrite -nt $sockname Host: tip.it
  sockwrite -nt $sockname $crlf
}
on *:SOCKREAD:tipid.*: {
  var %s = $gettok($sockname,2,46)
  if ($sockerr) {
    %return. [ $+ [ %s ] ] Socket error, please report this to $me $+ .
    halt
  }
  var %aread 
  sockread %aread 
  if (*<p><b>Difficulty level:</b>*</p><p><b>Start location:</b>*<p><b>*</b> <p><u>Quests:*</a></p>* iswm %aread) {
    set %tipdif [ $+ [ %s ] ] $remove($gettok(%aread,3,32),start,</p><p><b>)
    set %tiploc [ $+ [ %s ] ] $remove($gettok(%aread,1,46),<p>,<b>,</p>,</b>,Difficulty level: %tipdif [ $+ [ %s ] ] )
    set %tipquest [ $+ [ %s ] ] $htmlfree($gettok(%aread,5,58))
  } 
  if (*<p><u>Skill*</u>*</p>* iswm %aread) {
    set %tipstats [ $+ [ %s ] ] $htmlfree(%aread)
  }
  if (*Items* iswm %aread) { 
    set %tipitem [ $+ [ %s ] ] $remove($htmlfree($gettok(%aread,2,58)),suggested,items:) 
  }
  if (*<p><b>Reward:</b> <ul>*</ul> iswm %aread) && (*<li>*</li>*<ul>* iswm %aread)  {
    set %tipreward [ $+ [ %s ] ] $htmlfree(%aread)
  }
  if (*<p><b>Quest points gained on completion:</b>*</p>* iswm %aread) {
    tokenize 32 $htmlfree(%aread)
    set %tipqp [ $+ [ %s ] ] $6
  }
  if (*<p><b>Monsters:</b>* iswm %aread) {
    set %tipmon [ $+ [ %s ] ] $remove($htmlfree($gettok(%aread,4,58)),suggested,monsters,NPC,:)
  }
  if (*written by* iswm %aread) {
    set %tipcreator [ $+ [ %s ] ] $htmlfree(%aread)
  }
  if (*<p><b>Last updated:</b>* iswm %aread) {
    set %tipupdate [ $+ [ %s ] ] $htmlfree(%aread)
  }
  if (</html> isin %aread) {
    if (%tipqp [ $+ [ %s ] ] == $null) { set %tipqp [ $+ [ %s ] ] N/A }
    if (%tipmon [ $+ [ %s ] ] == $null) { set %tipmon [ $+ [ %s ] ] N/A }
    if (%tipitem [ $+ [ %s ] ] == $null) { set %tipitem [ $+ [ %s ] ] N/A }
    if (%tipstats [ $+ [ %s ] ] == $null) { set %tipstats [ $+ [ %s ] ] Skills: N/A }
    if (%tipupdate [ $+ [ %s ] ] == $null) { set %tipupdate [ $+ [ %s ] ] N/A }
    if (%tipcreator [ $+ [ %s ] ] == $null) { set %tipcreator [ $+ [ %s ] ] N/A }
    %return. [ $+ [ %s ] ] $c2(First matching result:) $c3 %read2 [ $+ [ %s ] ] $c2(url:) $c1(www.tip.it/runescape/index.php?rs2quest_id= $+ %tipid [ $+ [ %s ] ] )
    %return. [ $+ [ %s ] ] $c1(Qp:) $c2 %tipqp [ $+ [ %s ] ] $c1(Monsters: $remove(%tipmon [ $+ [ %s ] ] ,walktrough))
    tokenize 32 %tipitem [ $+ [ %s ] ]
    %return. [ $+ [ %s ] ] $c1(Items:) $c2($remove($2-12,monster)) $c1($remove($13-,monster))
    tokenize 32 %tipstats [ $+ [ %s ] ]
    %return. [ $+ [ %s ] ] $c1($1) $c2($2-12) $c1($13-)
    %return. [ $+ [ %s ] ] $c1 %tipupdate [ $+ [ %s ] ] $c2 %tipcreator [ $+ [ %s ] ]
    .timer 1 1 /cleanitup
  }
}
alias cleanitup {
  sockclose $+(tipid.,%s)
  sockclose $+(tipit.,%s)
  unset %tipupdate [ $+ [ %s ] ]
  unset %tipcreator [ $+ [ %s ] ]
  unset %return. [ $+ [ %s ] ]
  unset %tipit. [ $+ [ %s ] ]
  unset %read2 [ $+ [ %s ] ]
  unset %tipid [ $+ [ %s ] ]
  unset %tipmon [ $+ [ %s ] ]
  unset %tipitem [ $+ [ %s ] ]
  unset %tipstats [ $+ [ %s ] ]
  unset %tipqp [ $+ [ %s ] ]
}