on *:TEXT:!player*:#: {
if ($sock(player)) .sockclose player
sockopen player herald.uthgard-server.net 80
; you can mark the socket instead of putting $chan and $nick into global variables
sockmark player $chan $nick
}
on *:SOCKOPEN:player: {
sockwrite -nt $sockname GET /herald.php?view=stats&p1=player&p2=Player&p3=DESC&p5=Player&p6=Rotbart HTTP/1.1
sockwrite -nt $sockname Host: herald.uthgard-server.net
sockwrite -nt $sockname $crlf
}
on *:SOCKREAD:player: {
var %read
; goto-loop of sockread
:read
sockread %read
; if there was data left to read and the data matched " <tr class="TBLmid"><td>SOMETHING HERE</td><td> "
; then set a local variable named "%SOMETHING_HERE" (spaces replaced with underscores)
; which holds the data of $remove($nohtml(sockread),SOMETHING HERE)
if ($sockbr) {
if ($regex(read,%read,/\<tr class="TBLmid"><td>([^<]+)<\/td><td>/)) { set -l % $+ $replace($regml(read,1),$chr(32),_) $remove($nohtml(%read),$regml(read,1)) }
goto read
}
; this means you can now use EACH of
; %player %guild %class %race %level %realmrank %dragon_kills %legion_kills %kills %realmpoints %last_week _RPs
; convert sockmark back to local variables
var %chan = $gettok($sock($sockname).mark,1,32), %nick = $gettok($sock($sockname).mark,2,32)
msg %chan %player < $+ %guild $+ > Rank: %realmrank Pts: %realmpoints
sockclose $sockname
}
alias -l nohtml {
var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x, ,$chr(9))
return %x
}