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))