Jonesy, your script's got a persistent error upon closing the dialog: > * Invalid parameters: $did (line 19, testing.mrc)Perhaps you should make a check to see if it's closed or not?
Sorry, i meant like, how the sockmark overcomes the issue of looping? :\
Ok, I think I missed your point... But still, I believe you don't need the updatefollowers alias and just use:
alias TrackFollowers {
set -e %Twitter.Track $$1
dialog $iif($dialog(TrackFollowers),-v,-m) trackfollowers trackfollowers
sockopen $+(TrackFollowers.,$ticks) twitter.com 80
}
on *:Sockopen:TrackFollowers.*: {
sockwrite -nt $sockname GET $+(/,%Twitter.Track) HTTP/1.1
sockwrite -nt $sockname Host: twitter.com
sockwrite -nt $sockname $crlf
}
on *:Sockread:TrackFollowers.*: {
var %x | sockread %x
if $regex(%x,<span id="follower_count" class="stats_count numeric">(.*) </span>) {
var %c = $calc($remove($regml(1),$chr(44)) - $remove($did(TrackFollowers,202),$chr(44)))
did -ra TrackFollowers 302 $iif($did(TrackFollowers,202),$iif(%c > 0,%c ( $+ $calc($ctime - %Twitter.Last) secs),$did(TrackFollowers,302)),n/a)
did -ra TrackFollowers 202 $regml(1)
did -ra TrackFollowers 400 Updated: $fulldate
set -e %Twitter.Last $ctime
sockopen $+(TrackFollowers.,$ticks) twitter.com 80
.sockclose $sockname
}
}
Which saves you 3 bytes. :p