All pastes #454908 Raw Edit

Miscellany

public text v1 · immutable
·published 2007-04-23 21:50 UTC
rendered paste body
price guide! 
on $*:TEXT:/^!price/Si:#:{ 
  if (!$2) { 
    notice $nick *** [Price Guide]: You must supply a item - !price <item> 
    halt 
  } 
  else { 
    inc %q 
    inc %time.price 
    set %price.item. [ $+ [ %q ] ] $replace($2-,$chr(32),$chr(37) $+ 20) 
    set %price.style. [ $+ [ %q ] ] $iif($left($1,1) == @,msg $chan,notice $nick) *** [Price Guide]: 
    set %price.real. [ $+ [ %q ] ] $2- 
    sockopen price. $+ %q zybez.net 80 
  } 
} 
on *:SOCKOPEN:price.*:{ 
  sockwrite -nt $sockname GET /priceguide.php?search_terms= $+ %price.item. [ $+ [ %q ] ] $+ &search_area=1&price_low=&price_high=&member=1 HTTP/1.1 
  sockwrite -nt $sockname Host: www.zybez.net 
  sockwrite -nt $sockname $crlf $crlf 
} 
on *:SOCKREAD:price.*:{ 
  var %style = %price.style. [ $+ [ %q ] ], %item = %price.item. [ $+ [ %q ] ], %real = %price.real. [ $+ [ %q ] ] 
  if ($sockerr) { 
    %style An error occured while connecting 
    clean.up %q 
    sockclose $sockname 
    return 
    halt 
  } 
  else { 
    var %read 
    sockread %read 

    if (<td class="tablebottom" colspan="5">Your search did not return any results. Please make sure your spelling is correct and that you are typing full words.</td> isin %read) { 
      %style No results were found for " $+ %real $+ " 
      clean.up %q 
      sockclose $sockname 
      return 
      halt 
    } 
    elseif (<!--name--><td class='tablebottom'>*</td> iswm %read) { 
      tokenize 32 $nohtml(%read) 
      set %price.name. [ $+ [ %q ] ] $1- 
    } 
    elseif (<!--price--><td class="tablebottom">*</td> iswm %read) { 
      tokenize 32 $nohtml(%read) 
      set %price.price. [ $+ [ %q ] ] $1- 
    } 
    elseif (<td class="tablebottom"><a href="/priceguide.php?category=*">*</a></td> iswm %read) { 
      tokenize 32 $nohtml(%read) 
      set %price.cat. [ $+ [ %q ] ] $1- 
    } 
    if (%price.name. [ $+ [ %q ] ] && %price.price. [ $+ [ %q ] ] && %price.cat. [ $+ [ %q ] ]) { 
      inc %price.times. [ $+ [ %q ] ] 
      if (%price.times. [ $+ [ %q ] ] > 5) { 
        %style Max results of 5 allowed. Try making your search for " $+ %real $+ " more specific. 
        clean.up %q 
        sockclose $sockname 
        return 
        halt 
      } 
      elseif (%price.times. [ $+ [ %q ] ] < 5 || %price.times. [ $+ [ %q ] ] == 5) { 
        %style Item - %price.name. [ $+ [ %q ] ] $& 
          Price - %price.price. [ $+ [ %q ] ] $& 
          Category - %price.cat. [ $+ [ %q ] ] $& 
          Served - %time.price 
        unset %price.name. [ $+ [ %q ] ] 
        unset %price.price. [ $+ [ %q ] ] 
        unset %price.cat. [ $+ [ %q ] ] 
      } 
    } 
    if (</html> isin %read) { 
      clean.up %q 
      sockclose $sockname 
      return 
      halt 
    } 
  } 
} 
on *:SOCKCLOSE:price.*:{ 
  unset %price.* 
  halt 
} 
alias -l clean.up { 
  unset %price.*. [ $+ [ $1 ] ] 
  sockclose price. $+ $1 
  halt 
} 
alias -l nohtml { 
  var %x,%i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x) 
  %x = $replace(%x,&nbsp;,$null) 
  return %x 
} 

END OF GUIDE! 

CALC GUIDE: 

on *:TEXT:!calc *:#: { 
  notice $nick $2 = $calc($2) 
} 
END OF GUIDE! 


TRANSLATE GUIDE HERE: 

alias c1 { return $+($chr(3),02,$1-) } 
alias c2 { return $+($chr(3),10,$1-) } 
alias c3 { return $+($chr(3),04,$1-) } 
alias c4 { return $+($chr(3),07,$1-) } 

on $*:text:/^[!@]trans(late)?/Si:#: { 
  if ($2 == $null) { 
    notice $nick $c4(Please specify) $c3(2 languages) $c4(and a) $c3(word) $c4(to translate) $c3(!translate <language1> <language2> <word>) 
    halt 
  } 

  if ($3 == $null) { 
    notice $nick $c4(Please specify) $c3(2 languages) $c4(and a) $c3(word) $c4(to translate) $c3(!translate <language1> <language2> <word>) 
    halt 
  } 
  if ($4 == $null) { 
    notice $nick $c4(Please specify a) $c3(word/phrase) $c4(to translate) $c3(!translate <language1> <language2> <word>) 
    halt 
  } 
  else { 
    var %x = $right($ticks,6) 
    set %trans.display. [ $+ [ %x ] ] $iif($left($1,1) == @,msg $chan,.notice $nick) 
    set %trans.word. [ $+ [ %x ] ] $replace($4- ,$chr(32),+) 
    set %trans.language1. [ $+ [ %x ] ] $lang($2) 
    set %trans.language2. [ $+ [ %x ] ] $lang($3) 
    sockopen trans. [ $+ [ %x ] ] ets.freetranslation.com 80 
  } 
} 
on *:sockopen:trans.*: { 
  sockwrite -nt $sockname GET $+(/?sequence=core&mode=html&charset=UTF-8&template=results_en-us.htm&language=,%trans.language1. [ $+ [ $right($sockname,6) ] ],/,%trans.language2. [ $+ [ $right($sockname,6) ] ],&srcText=,%trans.word. [ $+ [ $right($sockname,6) ] ]) HTTP/1.1 
  sockwrite -nt $sockname Host: ets.freetranslation.com 
  sockwrite -nt $sockname $crlf 
} 
on *:sockread:trans.*: { 
  if ($sockerr) { halt } 
  else { 
    var %sockreader 
    sockread %sockreader 
    if (*ASCII* iswm %sockreader) { 
      %trans.display. [ $+ [ $right($sockname,6) ] ] $c4(Please specify) $c3(2 languages) $c4(which are different. Available) $c3(languages are) $c4(English) $c3($chr(124) $chr(76)) $c4(Spanish) $c3($chr(124) $chr(69)) $c4(French) $c3($chr(124) $chr(69)) $c4(German) $c3($chr(124) $chr(67)) $c4(Italian) $c3($chr(124) $chr(72)) $c4(Portuguese) $c3($chr(124)) $c4(Dutch) 

      unset %trans.*. [ $+ [ $right($sockname,6) ] ] 
      sockclose $sockname 
    } 
    if $regex(%sockreader,/<textarea name="dsttext" cols="40" rows="6">(.*)</textarea><br />/) { 
      set %trans.meaning. [ $+ [ $right($sockname,6) ] ] $regml(1) 

      %trans.display. [ $+ [ $right($sockname,6) ] ] $c1(Translation for $chr(76)) $c2(%trans.word. [ $+ [ $right($sockname,6) ] ]) $c1(from $chr(69)) $c2(%trans.language1. [ $+ [ $right($sockname,6) ] ]) $c1(to $chr(69)) $c2(%trans.language2. [ $+ [ $right($sockname,6) ] ]) $c1(is $chr(67)) $c2(%trans.meaning. [ $+ [ $right($sockname,6) ] ] $chr(72)) 

      unset %trans.*. [ $+ [ $right($sockname,6) ] ] 
      sockclose $sockname 
    } 
  } 
} 
alias -l /lang { 
  if ($regex($1,/^en(g|glish|land)?/Si)) return english 
  elseif ($regex($1,/^fr(e|ench|ance)?/Si)) return french 
  elseif ($regex($1,/^sp(a|anish|spain)?/Si)) return spanish 
  elseif ($regex($1,/^de|ge(r|man|)?/Si)) return german 
  elseif ($regex($1,/^nl|holland|du(t|tch)?/Si)) return dutch 
  elseif ($regex($1,/^it(a|lian|italy)?/Si)) return italian 
  elseif ($regex($1,/^po(r|tugal|tuguese)?/Si)) return portuguese 

  END OF THE TRANSLATE GUIDE!