All pastes #166377 Raw Edit

Stuff

public text v1 · immutable
·published 2006-09-10 21:25 UTC
rendered paste body
alias c1 { return $+(,$1-) } 
alias c2 { return $+(,$1-) } 

ON $*:TEXT:/^[!@.](clan|clans) /Si:#:{ 
  IF ($left($1,1) == !) { VAR %clan.output = notice $nick *** [Clan]: } 
  ELSE { VAR %exp.output = msg $chan [Clan / $nick $+ ]: } 
  IF (c isincs $chan($chan).mode) { VAR %clan.output = $strip(%clan.output) } 
  if (%clan.used == yes) { .notice $nick The clan lookup is being used by %clan.nick $+ . Try again in 10 seconds %logo }
  else {
    set %clan.name $replace($2-,$chr(32),$chr(95))
    if ($len(%clan.name) > 12) { 
      msg $chan Name cannot be longer than 12 characters 
      unset %clan.*
    }
    else { 
      .notice $nick Processing request... please wait about 10 seconds for Runehead's server to respond
      set %clan.nick $nick
      set %clan.chan $chan
      set %clan.used 1 
      set %clan.integer 1
      set %clan.found no
      clan.chk
    } 
  }
}

alias clans {
  if (%clan.used == 1) { echo -a The clan lookup is being used by %clan.nick $+ . Try again in 10-20 seconds %logo }
  else {
    set %clan.name $replace($1-,$chr(32),$chr(95))
    if ($len(%clan.name) > 12) { 
      echo -a $chan Name cannot be longer than 12 characters 
      unset %clan.*
    }
    else { 
      msg $active !clans $1-
      echo -a Processing request... please wait about 10 seconds for Runehead's server to respond
      set %clan.nick $me
      set %clan.chan $active
      set %clan.used 1 
      set %clan.integer 1
      set %clan.found no
      clan.chk
    } 
  }
}

alias clan.chk {
  .sockclose clanlookup
  .sockopen clanlookup www.runehead.com 80
}

alias striphtml.clan {
  var %clan.txt = $gettok($1,3,62)
  %clan.txt = $gettok(%clan.txt,1,60)
  return %clan.txt
}
alias striphtml.site {
  var %clan.txt.s = $gettok($1,2,62)
  %clan.txt.s = $gettok(%clan.txt.s,1,60)
  %clan.txt.s = $gettok(%clan.txt.s,2,39)
  return $+( www.runehead.com/clans/,%clan.txt.s )
}

alias clan.output {
  $iif($1 == msg,msg %clan.chan,notice %clan.nick) $upper($left(%clan.name,1)) $+ $right(%clan.name,-1) $&
    is in %clan.output [12Bot]
  unset %clan.*
}

on *:SOCKOPEN:clanlookup: {
  if ($sockerr) { echo -a $sock(clanlookup).wsmsg | return }
  .set %clan.findings no
  .sockwrite -n clanlookup POST /clans/search.php?search= $+ %clan.name $+ &searchtype=exact HTTP/1.1
  .sockwrite -n clanlookup Host: $+( www.runehead.com,$crlf,$crlf )
}
on *:SOCKREAD:clanlookup: {
  if ($sockerr) { echo -a $sock(clanlookup).wsmsg | return }
  .sockread %clan.find
  set %clan.output $null
  if (*<td style='width:140px; border-color:#404040;'><b>*</b></td& gt;* iswm %clan.find) %clan.found = yes
  if (*<td style='width:90px; border-color:#404040;'><a href='ml.php?clan=*</a></td>* iswm %clan.find) {
    $iif(%clan.nick isop %clan.chan || %clan.nick ishop %clan.chan || %clan.nick == $me,msg %clan.chan,notice %clan.nick) $upper($left(%clan.name,1)) $+ $&
      $right(%clan.name,-1) is in $striphtml.clan(%clan.find) 14( $+ $striphtml.site(%clan.find) $+ 14) %logo
  }
}

on *:SOCKCLOSE:clanlookup: {
  if (%clan.found == no) { notice %clan.nick $upper($left(%clan.name,1)) $+ $right(%clan.name,-1) is not in any clans on runehead.com | unset %clan.* }
  elseif (%clan.nick isop %clan.chan || %clan.nick ishop %clan.chan || %clan.nick == $me) { clan.output msg }
  else clan.output notice
}