#!/bin/bash count=0; lim=15000; while [ $count -lt $lim ]; do finishcount=0; pid=$(cat pid); echo -n -e "${pid}\t" url=$(./getlink); # The ./getlink checks for a 404. # This continues a few post id's down to make sure it's really reached the end. # The post id will not be incremented if there are five 404's in a row. if [ "$url" = "error finish" ]; then echo -n " it"; finishcount=$(( $finishcount + 1 )); if [ "$(./getlink $(( $pid+1 )) )" = "error finish" ]; then echo -n "'"; finishcount=$(( $finishcount + 1 )); if [ "$(./getlink $(( $pid+2 )) )" = "error finish" ]; then echo -n "s"; finishcount=$(( $finishcount + 1 )); if [ "$(./getlink $(( $pid+3 )) )" = "error finish" ]; then echo -n "..."; finishcount=$(( $finishcount + 1 )); if [ "$(./getlink $(( $pid+4 )) )" = "error finish" ]; then echo -n " so"; finishcount=$(( $finishcount + 1 )); fi; fi; fi; fi; echo -n " -it's over- "; fi if [ "$finishcount" -gt 0 ] && [ "$finishcount" -lt 5 ]; then echo " -we're back- "; url=$(./getlink); else echo; fi; # Pause execution if rate limit has been reached if [ "$url" = "error rlimit" ]; then echo "rlimit.. sleeping 60 (1)"; sleep 60; url=$(./getlink); if [ "$url" = "error rlimit" ]; then echo "rlimit.. sleeping 600 (2)"; sleep 600; url=$(./getlink); if [ "$url" = "error rlimit" ]; then echo "rlimit.. sleeping 1140 (3)"; sleep 1140; url=$(./getlink); if [ "$url" = "error rlimit" ]; then echo "rlimit.. sleeping 1940 (4)"; sleep 1940; url=$(./getlink); fi; fi; fi; fi; echo "$url"; # If ./getlink returns the URL, then it matched the pattern and the returned URL is the fixed one so it posts a comment. if [ $(echo "$url" | cut -d ' ' -f1) != "error" ]; then echo "POST IT"; $(./reply_post "$pid" "$url" > /dev/null); fi; # The post id will not be incremented if there are five 404's in a row. if [ $finishcount -lt 5 ]; then echo $(( $pid + 1 )) > pid; fi; count=$(( $count + 1 )); done;