on *:sockread:price.*: { var %t, %ID = $right($sockname,-6), %item = %item. [ $+ [ %ID ] ], var %next = %next. [ $+ [ %id ] ], %founditem = %founditem. [ $+ [ %id ] ] var %send = %send. [ $+ [ %id ] ], %n = %n. [ $+ [ %id ] ], %c = %c. [ $+ [ %id ] ] sockread %t echo -a %t if ($regex(%t,/(.*)/)) { var %data = $regml(1) if (%data == ) || (%data == http://www.zybez.net) { set $+(%,next.,%id) item } elseif (%next == item) { set $+(%,founditem.,%id) $replace(%data,$chr(32),-) set $+(%,next.,%id) price } elseif (%next == price) { var %price = %data set $+(%,next.,%id) Blank var %result = $calc($hget($+(price.,%id),0).item + 1) hadd -m $+(price.,%id) %result $+(%founditem,$chr(124),%price) } } } on *:Sockclose:price.*: { .timer $+ $sockname off var %ID = $right($sockname,-6), %table = $+(price.,%id), %item = $replace(%item. [ $+ [ %id ] ],+,$chr(32)) var %send = %send. [ $+ [ %id ] ], %n = %n. [ $+ [ %id ] ], %c = %c. [ $+ [ %id ] ] var %x = 1, %total = $hget(%table,0).item, %results = $iif(%total < 3,%total,3) if (%results == 0) %send $c1(%n,%c,%send,No results found for) $c2(%n,%c,%send,%item) else { %send $c1(%n,%c,%send,Top) $c2(%n,%c,%send,%results) $c1(%n,%c,%send,of) $c2(%n,%c,%send,%total) $c1(%n,%c,%send,result $+ $iif(%total > 1,s) for) $c2(%n,%c,%send,%item) $+ $c1(%n,%c,%send,:) while (%x <= %results) { var %data = $hget(%table,%x), %item = $gettok(%data,1,124), %price = $gettok(%data,2,124) %send $c1(%n,%c,%send,%item $+ :) $c2(%n,%c,%send,%price) inc %x } } if (%table) hfree %table unset $+(%*.,$eval(%ID,2))