All pastes #351149 Raw Edit

Something

public text v1 · immutable
·published 2007-02-11 23:58 UTC
rendered paste body
alias -l c1 return $+($chr(3),14,$1-) 
alias -l c2 return $+($chr(3),07,$1-) 

on $*:TEXT:$(/^(?>\Q $+ $me $+ \E,? ?)?([@!]clan)/Si):#:{ 
  tokenize 32 $iif($me isin $1,$deltok($1-,1,32),$1-) 
  VAR %SI 1, %search = $replace($strip($remtok($remtok($remtok($2-,-partial,1,32),-exact,1,32),-search,1,32)),$chr(95),$chr(32),+,$chr(32)) 
  if (($len(%search) < 3) || ($len(%search) > 12)) { 
    notice $nick $c1(Clan Database) $c2(-) $c1(Name must be between 3 and 12 characters long) 
    if (!%search) notice $nick $c1(Clan Database) $c2(-) $c1(You must specify a runescape username to search with) 
    halt 
  } 
  WHILE ($Sock(site. $+ %SI)) { Inc %SI } 
  unset %clan.*. [ $+ [ %SI ] ] 
  set $+(%,clan.search.,%SI) $+(/clans/search.php?search=,$replace(%search,$chr(32),+),&searchtype=,$iif($istok($2,-search,32) || $istok($2,-partial,32),partial,exact)) 
  set $+(%,clan.send.,%SI) $iif($left($1,1) == !,notice $nick,msg $chan) $c1(Clan Database) $c2(-) $chr(32) 
  sockopen $+(site.,%SI) www.runehead.com 80 
  sockmark $+(site.,%SI) $+($iif($istok($2,-search,32) || $istok($2,-partial,32),partial $chr(32)),%search)  
} 

on *:SOCKOPEN:site.*: { 
  VAR %SI = $Right($SockName,-5) 
  sockwrite -nt $sockname GET $eval($+(%,clan.search.,%SI),2) HTTP/1.1 
  sockwrite -nt $sockname Host: www.runehead.com 
  sockwrite -nt $sockname $crlf 
} 

on *:SOCKREAD:site.*: { 
  var %SI = $right($sockname,-5), %target = $eval($+(%,clan.send.,%SI),2) 
  if ($sockerr) { 
    %target Socket error 
    sockclose $sockname 
  } 
  else { 
    var %read | sockread %read 
    if ($sockbr == 0) { return } 
    IF (*No*results*were*found* iswm %read) { 
      %target $c1(The query) $c2($sock($sockname).mark) $c1(did not return a match) 
      ;%target $c1(For a less specific search try: !clan) $c2(-search) $c1($sock($sockname).mark) 
      cleanup 
    } 
    IF ($regex(%read,/returned <b>(.*)</b>/)) set $+(%,clan.total.,%SI) $regml(1) 
    IF (border-color:#404040;'><b> isin %read) { 
      if (($istok(clan hitpoints overall combat,$htmlfree(%read),32)) || ($htmlfree(%read) == rs name)) { return } 
      Var %name = $htmlfree(%read), %prev = $eval($+(%,clan.name.,%SI),2) 
      set $+(%,clan.current.,%SI) $calc($eval($+(%,clan.current.,%SI),2) + 1) 
      Var %total = $eval($+(%,clan.total.,%SI),2), %current = $calc($eval($+(%,clan.current.,%SI),2) + 1), %rsns = $addtok($eval($+(%,clan.rsns.,%SI),2),%name,44) 
      IF ((%prev == $null) || ($GetTok($sock($sockname).mark,1,32) == partial)) set $+(%,clan.name.,%SI) $lower(%name) 
      IF ((%prev) && (%prev != %name) && ($gettok($sock($sockname).mark,1,32) == partial)) { 
        set $+(%,clan.name.,%SI) $lower(%name) 
        set $+(%,clan.rsns.,%SI) $addtok($eval($+(%,clan.rsns.,%SI),2),%name,44) 
        if (($numtok(%rsns,44) >= 5) || ($numtok(%rsns,44) >= %total) || (%current >= %total)) { 
          if ($numtok(%rsns,44) >= 5) %target $c1(Too many results for) $c2($gettok($sock($sockname).mark,2-,32)) - $c1(Top) $c2($numtok(%rsns,44)) $c1(of) $c2($eval($+(%,clan.total.,%SI),2)) $+ $c1(:) $c2($replace($replace(%rsns,$chr(32),$chr(95)),$chr(44),$chr(44) $chr(32))) 
          else %target $c1(Search results for) $c2($gettok($sock($sockname).mark,2-,32)) $+ $c1(:) $c1($replace($replace(%rsns,$chr(32),$chr(95)),$chr(44),$chr(44) $chr(32))) 
          cleanup 
        } 
      } 
      IF (%name == $sock($sockname).mark) { 
        sockread %read 
        set $+(%,clan.clans.,%SI) $addtok($eval($+(%,clan.clans.,%SI),2),$htmlfree(%read),44) 
        IF ($numtok($eval($+(%,clan.clans.,%SI),2),44) >= %total) { 
          %target $c2(%name) $c1(returned) $c2(%total) $c1($+(match,$iif(%total > 1,es))) $+ $c1(:) $c2($replace($eval($+(%,clan.clans.,%SI),2),$chr(44),$chr(44) $chr(32))) 
          cleanup 
        } 
      } 
      IF ((%total == %current) && ($gettok($sock($sockname).mark,1,32) == partial)) { 
        %target $c1(Search Results for) $c2($gettok($sock($sockname).mark,2-,32)) $+ $c1(:) $c2($replace($replace(%rsns,$chr(32),$chr(95)),$chr(44),$chr(44) $chr(32))) 
        cleanup 
      } 
    } 
  } 
} 

alias -l htmlfree { 
  var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x,&nbsp;) 
  return %x 
} 

alias -l cleanup { 
  sockclose $sockname 
  unset %clan.*. [ $+ [ %SI ] ] 
} 


on *:TEXT:!cmb *:#: { 
  inc %iddddd 1 | set %combat.user [ $+ [ %iddddd ] ] $2 | set %combat.display. [ $+ [ %iddddd ] ] notice $nick | sockopen $+(combat.,%iddddd) slushpuppy.silverinterlocution.org 80 
} 
on *:SOCKOPEN:combat.*:{ 
  sockwrite -n $sockname GET /pestcontrol.php?pestcontrol= $+ %combat.user [ $+ [ %iddddd ] ] HTTP/1.1 
  sockwrite -n $sockname Host: slushpuppy.silverinterlocution.org 
  sockwrite -n $sockname $crlf 
} 

on *:SOCKREAD:combat.*:{ 
  var %combat.read | sockread %combat.read 
  if (*0<br>* iswm %combat.read) { %combat.display. [ $+ [ %iddddd ] ] $replace(%combat.user [ $+ [ %iddddd ] ],_,$chr(32))) $+ , was not found in the hiscores for any combat skills. | /unset %combat.* | halt } 
  if (<b> isin %combat.read) { /set %combat.stats [ $+ [ %iddddd ] ] $+(,$gettok($htmlfree(%combat.read),1,32),:) $+(,$gettok($htmlfree(%combat.read),2,32),) $+(,$gettok($htmlfree(%combat.read),3,32),:) $+(,$gettok($htmlfree(%combat.read),4,32),) $+(,$gettok($htmlfree(%combat.read),5,32),:) $+(,$gettok($htmlfree(%combat.read),6,32),) $+(,$gettok($htmlfree(%combat.read),7,32),:) $+(,$gettok($htmlfree(%combat.read),8,32),) $+(,$gettok($htmlfree(%combat.read),9,32),:) $+(,$gettok($htmlfree(%combat.read),10,32),) $+(,$gettok($htmlfree(%combat.read),11,32),:) $+(,$gettok($htmlfree(%combat.read),12,32),) $+(,$gettok($htmlfree(%combat.read),13,32),:) $+(,$gettok($htmlfree(%combat.read),14,32),) } 
  if (<i> isin %combat.read) { /set %combat.2 [ $+ [ %iddddd ] ] $+ $replace(%combat.user [ $+ [ %iddddd ] ],_,$chr(32)) $+(,is) $+(,$htmlfree(%combat.read),) } 
  if (<br> isin %combat.read) { /set %combat.3 [ $+ [ %iddddd ] ] $+(,with) $+(,$htmlfree(%combat.read)) $+(,combat.) 
    %combat.topline [ $+ [ %iddddd ] ] = %combat.2 [ $+ [ %iddddd ] ] %combat.3 [ $+ [ %iddddd ] ] 
    %combat.display. [ $+ [ %iddddd ] ] %combat.topline [ $+ [ %iddddd ] ] 
    %combat.display. [ $+ [ %iddddd ] ] %combat.stats [ $+ [ %iddddd ] ] 
    /unset %combat.* 
  } 
} 
alias -l htmlfree { 
  var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x,&nbsp;) 
return %x }