Work the Shell - Still Parsing the Twitter Stream
The answer isn't that hard. The stream is newest to oldest, and the message ID values are assigned sequentially by the server, so all we need to do is cache the most recent message ID we've seen after we have answered all queries. Then, on subsequent invocations, compare each query ID to the most recent we've answered. If they're greater, we need to answer them. If not, we've already done so. Like this:
if [ "$id" == "$previouslatestid" -o $answered -eq 1 ] ; then echo "already answered query \"$msg\" from $name: skipped" answered=1 else ...
The previouslatestid is what's cached. We'll also capture the most recent ID of the current wave of queries like this:
if [ -z "$latestid" ] ; then latestid=$id # store most recent ID fi
Of course, there are a few more steps. We need to grab the cached value at the beginning of the script:
if [ -f "$lastidcache" ] ; then previouslatestid="$(cat "$lastidcache")" else previouslatestid="0" fi
And, we need to save it at the end:
echo $latestid > "$lastidcache"
That's it. I've run out of space, but the full script is available at ftp.linuxjournal.com/pub/lj/listings/issue191/10695.tgz. Next month, we'll polish it a bit and see what fun we can have with a tweetbot!
Dave Taylor has been hacking shell scripts for a really long time. He's the author of the popular Wicked Cool Shell Scripts and can be found on Twitter as @DaveTaylor and more generally at www.DaveTaylorOnline.com.
Dave Taylor has been hacking shell scripts for over thirty years. Really. He's the author of the popular "Wicked Cool Shell Scripts" and can be found on Twitter as @DaveTaylor and more generally at www.DaveTaylorOnline.com.
- Readers' Choice Awards 2013
- A Plexible Pi
- Swap Your Laptop for an iPad + Linode
- Sublime Text: One Editor to Rule Them All?
- Linux Kernel News - November 2013
- Advanced Hard Drive Caching Techniques
- RSS Feeds
- Mars Needs Women
- Raspberry Pi: the Perfect Home Server
- December 2013 Issue of Linux Journal: Readers' Choice
- great specs
3 hours 46 min ago
- Reply to comment | Linux Journal
4 hours 52 min ago
- rilakkuma onesie
7 hours 28 min ago
- flying squirrel onesie
7 hours 31 min ago
- animal onesies for adults
7 hours 33 min ago
- animal onesies
7 hours 34 min ago
- stitch onesie
7 hours 34 min ago
- totoro onesie
7 hours 36 min ago
- dinosaur onesie
7 hours 40 min ago
- pikachu onesie
7 hours 44 min ago