All pastes #147028 Raw Edit

Mine

public text v1 · immutable
#147028 ·published 2006-08-24 02:10 UTC
rendered paste body
on $*:text:/^[!@]price/Si:#: {
  /inc %pricecheckused
  if ( %pricestatus != off ) {
    if ( !$2 ) { notice $nick 4Sorry you must specify what to search for - !price <item> }
    else {
      /var %number 1
      while ($sock(price.socket. $+ %number)) { /inc %number }
      if (!* iswm $1) { /set %price.displaystyle. [ $+ [ %number ] ] private } 
      /set %price.item. [ $+ [ %number ] ] $2-
      /set %price.nick. [ $+ [ %number ] ] $nick
      /set %price.chan. [ $+ [ %number ] ] $chan
      /sockopen $+(price.socket.,%number) zybez.net 80
    } ;Closes Else
  } ; Closes if statement - ( %pricestatus == on)
  else { $sectionturnedoff($nick) }
} ;Ends the !pricecheck section

on *:sockopen:price.socket.*:{ 
  if ($sock($sockname).status == active) {
    sockwrite -nt $sockname GET /priceguide.php?search_terms= $+ $replace(%price.item. [ $+ [ $right($SockName,-13) ] ] ,$chr(32),$chr(43)) $+ &search_area=1&price_low=&price_high=&member=1&all_prices=1&sortby=name&sort=ASC&ppage=50 HTTP/1.1 
    sockwrite -nt $sockname Host: zybez.net
    sockwrite -nt $sockname $crlf $crlf 
  }
  else { /notice %price.nick. [ $+ [ $right($sockname,-13) ] ] 5,15 Sorry but Zybez seems to be down. Please try later. | /sockclose $+(price.socket.,%i) | /unset %price.*. [ $+ [ $right($SockName,-13) ] ] }
} 

on *:sockread:price.socket.*:{
  var %i $right($sockname,-13)
  var %temptext
  sockread %temptext
  if ($SockErr) { /notice %price.nick. [ $+ [ %i ] ] 5,15 Sorry but an error occured while searching for %price.item. [ $+ [ %i ] ] | /sockclose $sockname | /unset %price.*. [ $+ [ %i ] ] }
  else { 
    ;Once bot gets the Item + Price which is represented my %readnextline == 2, it runs this to display the results for the user then restarts the whole proccess.
    if (%price.readnextline. [ $+ [ %i ] ] == 2) { 
      /inc %price.displayed. [ $+ [ %i ] ]
      /var %message 12 %price.displayitem. [ $+ [ %i ] ] - 7 $htmlfree(%temptext)
      /unset %price.readnextline. [ $+ [ %i ] ] 
      ; Limits how many items are displayed before it stops reading. Prevents the bot from flooding.
      if ( %price.displayed. [ $+ [ %i ] ] < 6 ) {
        if ( %price.displaystyle. [ $+ [ %i ] ] == private ) { /notice %price.nick. [ $+ [ %i ] ] %message }
        else { /msg %price.chan. [ $+ [ %i ] ] %message }
      } ; Closes if statement - if ( %price.displayed. [ $+ [ %i ] ] < 6 )

      else { /notice %price.nick. [ $+ [ %i ] ] 4,15 Sorry but your search for " $+ %price.item. [ $+ [ %i ] ] $+ " was not specific enough. Please narrow your searh down, ie: Runes --> Fire Rune | $closesocket($sockname,price) }  
    } ; Closes if statement - if (%readnextline == 2)

    if (%price.readnextline. [ $+ [ %i ] ] == 1) { /set %price.displayitem. [ $+ [ %i ] ] $htmlfree(%temptext) | /set %price.readnextline. [ $+ [ %i ] ] 2 }
    if (*<img src="/img/member.gif"* iswm %temptext || <td class="tablebottom"><!-- Blank --></td> iswm %temptext) { /set %price.readnextline. [ $+ [ %i ] ] 1 }
    if (*Your search did not* iswm %temptext) { /notice %price.nick. [ $+ [ %i ] ] 5,15 Sorry I did not find " $+ %price.item. [ $+ [ %i ] ] $+ " in the Zybez database. | $closesocket($sockname,price) }
    if (*Zybez.net is momentarily offline* iswm %temptext) { /notice %price.nick. [ $+ [ %i ] ] 5,15 Sorry but zybez is currently offline. | $closesocket($sockname,price) }  
    if (<!-- Search Results: End --> iswm %temptext) { $closesocket($sockname,price) }
  } ; Closes else 
} ;Ends the sockread section


alias -l closesocket {
  /sockclose $1
  /unset $+(%,$2,.,*,.,$right($1,-13))
}