All pastes #909060 Raw Edit

James

public text v1 · immutable
·published 2008-02-18 22:00 UTC
rendered paste body
ON $*:TEXT:/^[!@.](RS)?Forums?/i:*:{
  if (!$2) {
    notice $nick Syntax: $1 <Item>
  }
  else {
    var %ID $rand(1,9999999999999)
    while ($sock($+(RSF.,%ID))) {
      inc %ID
    }
    sockopen $+(RSF.,%ID) forum.runescape.com 80 
    sockmark $+(RSF.,%ID) $+($iif($chan,$iif($left($1,1) == @,msg $chan,notice $nick),notice $nick),*,$replace($2-,$chr(32),_,+,_))
  } 
}
ON *:SOCKOPEN:RSF.*:{ 
  tokenize 42 $sock($sockname).mark
  sockwrite -nt $sockname GET $+(/searchthreads.ws?srcstr=,$2,&search=search) HTTP/1.1
  sockwrite -nt $sockname Host: forum.runescape.com
  sockwrite -nt $sockname $crlf 
} 
ON *:SOCKREAD:RSF.*:{ 
  tokenize 42 $sock($sockname).mark
  var %RSF 
  sockread %RSF 
  if ($sockerr) {
    echo -at Error in $sockname socket - $ifmatch 
  } 
  else {
    if (*<A href="forums.ws?*">*</A>* iswm %RSF) {
      $1 RSForums: Title: $HTMLFree(%RSF)
      sockclose $sockname 
    }
    elseif (*There were no threads matching your search* iswm %RSF) {
      $1 RSForums: No matches found
      sockclose $sockname 
    }
  }
}
Alias HTMLFree { 
  var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x,&nbsp;) 
  return %x 
}