Just have something that opens a stream that filters by vote. You have a config file that loads the time (days and hours) to payout and you get the time the post was created using post. If the difference between the current time and post payout is less than the time loaded from the config file it then loads the number of vests from the user and the vote weight and determines the upvote weight, if the upvote weight is greater than X (loaded from config file) then it logs it.
Now how you want it posted brings up the question, would you want each to be posted by a single account or have have it generate a list of posts and as long as the list has at least 1 post in it it will post it every hour or so?
I was going to post some prototyping psedocode but it was really long