All pastes #417554 Raw Edit

Miscellany

public text v1 · immutable
#417554 ·published 2007-03-30 23:07 UTC
rendered paste body
alias k.col1 { return $+($chr(3),$cntn($se(color,kbase.base)),$1,$chr(3)) }
alias k.col2 { return $+($chr(3),$cntn($se(color,kbase.secondary)),$1,$chr(3)) }
on $*:TEXT:/^.(kbase|knowledge) */Si:#: {
  if (!$se(private,active)) { halt }
  if ($se(status,kbase) == off) { halt }
  if ($left($1,1) != $se(trigger,public) && $left($1,1) != $se(trigger,private)) { halt }
  if ($left($1,1) == $se(trigger,public) && $readini(chansetting.ini,$chan,public) == off) { halt }
  if ($left($1,1) == $se(trigger,private) && $readini(chansetting.ini,$chan,private) == off) { halt }
  if ($sock(kbase)) { halt }
  .unset %kbase.*
  .set %kbase.sectread $false
  .set %kbase.explread $false
  .set %kbase.out $iif($left($1,1) == $se(trigger,public),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 Excerpt:) $k.col2(%kbase.expl)
}