All pastes #632246 Raw Edit

Something

public text v1 · immutable
#632246 ·published 2007-07-24 18:34 UTC
rendered paste body
alias nohtml { 
  var %x,%i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x) 
  %x = $replace(%x,&nbsp;,$null) 
  return %x 
} 
alias k.col1 { return $+($chr(3),11,$1,$chr(3)) } 
alias k.col2 { return $+($chr(3),03,$1,$chr(3)) } 
on $*:TEXT:/^[!@](kbase|knowledge) */Si:#: { 
  if ($sock(kbase)) { halt } 
  .unset %kbase.* 
  .set %kbase.sectread $false 
  .set %kbase.explread $false 
  .set %kbase.out $iif($left($1,1) == ?,msg $chan,notice $nick) 
  .set %kbase.string $replace($2-,$chr(32),+) 
  .sockopen kbase kbase.runescape.com 80 
} 
on *:SOCKOPEN:kbase: { 
  if ($sockerr) { echo 4 -s ** SockOpen Error ** $sock($sockname).wsmsg | return } 
  .sockwrite -n kbase GET /lang/en/aff/runescape/search.ws?submit=Search&category=-1&subcat=-1&q= $+ %kbase.string HTTP/1.1 
  .sockwrite -n kbase Host: kbase.runescape.com $+ $crlf $+ $crlf 
} 
on *:SOCKREAD:kbase: { 
  if ($sockerr) { echo 4 -s ** SockRead Error ** $sock($sockname).wsmsg | return } 
  .sockread %kbase 
  if (!%kbase.expl) { 
    if (*results found matching* iswm %kbase) { .set %kbase.total $gettok($nohtml(%kbase),1,32) } 
    if (*lang/en/aff/runescape/img/kbase/sword*gif* iswm %kbase) { set %kbase2 $regex(%kbase,/(viewarticle.+?)"/Si) | .set %kbase.url http://kbase.runescape.com/lang/en/aff/runescape/ $+ $regml(1) | .set %kbase.title $nohtml(%kbase) } 
    if (%kbase.explread) { .set %kbase.expl $nohtml(%kbase) } 
    if (</div> == %kbase && %kbase.sect) { .set %kbase.explread $true } 
    if (</ul> == %kbase) { .set %kbase.sectread $false } 
    if (%kbase.sectread) { .set %kbase.sect %kbase.sect > $nohtml($remove(%kbase,&gt;)) } 
    if (<a href="viewcategory.ws?cat_id=0">Home</a> == %kbase) { .set %kbase.sectread $true | .set %kbase.sect Home } 
  } 
} 
on *:SOCKCLOSE:kbase: { 
  if (!%kbase.expl) { %kbase.out $k.col1(KnowledgeBase Lookup) $k.col2(couldn't) $k.col1(find any matches to your search) | halt } 
  %kbase.out $k.col1(KnowledgeBase Matches:) $k.col2(%kbase.total) $k.col1(Title:) $k.col2(%kbase.title) $k.col1(Section) $k.col2(%kbase.sect) $k.col1(URL:) $k.col2(%kbase.url) 
  %kbase.out $k.col1(Match Exceprt:) $k.col2(%kbase.expl) 
}