All pastes #496445 Raw Edit

Miscellany

public text v1 · immutable
·published 2007-05-19 07:32 UTC
rendered paste body
on $*:TEXT:/^[!@.](kbase|kba)/Si:#:{
  inc %s
  set $+(%,return.,%s) $iif($left($1,1) == @, msg $chan, notice $nick)
  if ($2- == $null) { %return. [ $+ [ %s ] ] $c1 to search typ !kbase <category> <search> or !kbase <search> categorys are:
    %return. [ $+ [ %s ] ] $c2 -c = $c3 Customer support $c2 -m = $c3 Manual $c2 -n = $c3 News $c2 -r = $c3 Rules of conduct $c2 -s $c3 Safety & security guidelines
  }
  if ($2 == -c) { set %category [ $+ [ %s ] ] 9 | set $+(%,kbase.,%s) $replace($3-,$chr(32),+) | Set %cat [ $+ [ %s ] ] Customer support }
  elseif ($2 == -m) { set %category [ $+ [ %s ] ] 775 | set $+(%,kbase.,%s) $replace($3-,$chr(32),+) | Set %cat [ $+ [ %s ] ] Manual }
  elseif ($2 == -n) { set %category [ $+ [ %s ] ] 852  | set $+(%,kbase.,%s) $replace($3-,$chr(32),+) | Set %cat [ $+ [ %s ] ] News }
  elseif ($2 == -r) { set %category [ $+ [ %s ] ] 823  | set $+(%,kbase.,%s) $replace($3-,$chr(32),+) | Set %cat [ $+ [ %s ] ] Rules of Conduct }
  elseif ($2 == -s) { set %category [ $+ [ %s ] ] 827  | set $+(%,kbase.,%s) $replace($3-,$chr(32),+) | Set %cat [ $+ [ %s ] ] Safety & Security }
  elseif ($2 != -?) { set %category [ $+ [ %s ] ] -1 | set $+(%,kbase.,%s) $replace($2-,$chr(32),+) | Set %cat [ $+ [ %s ] ] None }
  sockopen $+(kbase.,%s) kbase.runescape.com 80
}
on *:SOCKOPEN:kbase.*: {
  var %s = $gettok($sockname,2,46)
  sockwrite -nt $sockname GET $+(/search.ws?category=,$($+(%,category,%s),2),&subcat=-1&submit=Search&q=,$($+(%,kbase.,%s),2)) HTTP/1.1
  sockwrite -nt $sockname Host: kbase.runescape.com $+ $str($crlf,2)
}
on *:SOCKREAD:kbase.*: {
  var %s = $gettok($sockname,2,46)
  if ($sockerr) {
    %return. [ $+ [ %s ] ] Socket error, please report this to $me $+ .
    halt
  }
  var %read
  sockread %read
  if (*Your search for*did not return* iswm %read) {
    %return. [ $+ [ %s ] ] $c2 4((-12KBase_script-))No results for: $+ $c3 $+ %kbase. [ $+ [ %s ] ] $c2 $+ In category: $+ $c3 $+ %cat [ $+ [ %s ] ] $c1 $+ Try changing ur search $+ $c2 $+ ,check site on $c1 http://kbase.runescape.com/search.ws $c3 $+ OR $c2 $+ check the search tips: $+ $c1 $+ http://kbase.runescape.com/searchtips.ws
    unset $+(%,kbase.*)
    sockclose $+(kbase.,%s)
  }
  if (*<a style="margin-left: 10px"* iswm %read) {
    /tokenize 32 %read
    inc $+(%,kbase.count.,%d)
    set %kba2 [ $+ [ %s ] $+ ] kbase.count. [ $+ [ %d ] ] $remove($24,href=",)
    set %kba [ $+ [ %s ] $+ ] kbase.count. [ $+ [ %d ] ] $htmlfree(%read)
    if ($($+(%,kbase.count.,%d),2) >= 4) {
      %return. [ $+ [ %s ] ] $c1 $+ There were more as $c3 $+ 4 $c2 results for The search: $+ $c3 $+ %kbase. [ $+ [ %s ] ] $c2 $+ In category: $+ $c3 $+ %cat [ $+ [ %s ] ] $+ $c2 $+ , script halts.
      unset $+(%,kbase.*)
      sockclose $+(kbase.,%s)
    }
    else {
      %return. [ $+ [ %s ] ] $c2 4((-12KBase_script4-))Search results for: $+ $c3 $+ %kbase. [ $+ [ %s ] ] $c2 $+ In category: $+ $c3 $+ %cat [ $+ [ %s ] ] $c2 $+ Are: $+ $c1 %kba [ $+ [ %s ] $+ ] kbase.count. [ $+ [ %d ] ] the URL can be found here: $+ $c2 $+ http://kbase.runescape.com/ $+ $replace(%kba2 [ $+ [ %s ] $+ ] kbase.count. [ $+ [ %d ] ] ,">, $c3 $chr(32) Category:)
    }
  }
  if (</html> isin %read) {
    unset $+(%,kbase.*)
    sockclose $+(kbase.,%s)
    /unset %d
    /unset $+(%,kbase.*)
  }
}
alias htmlfree { var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x,&nbsp;) | return %x
}