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 ( == %kbase && %kbase.sect) { .set %kbase.explread $true } if ( == %kbase) { .set %kbase.sectread $false } if (%kbase.sectread) { .set %kbase.sect %kbase.sect > $nohtml($remove(%kbase,>)) } if (Home == %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) }