500 Hive Bounty - Automate SportsTalkSocial Voting / Daily Post

We have a list of projects that we want to get finished for Sports Talk Social but unfortunately we don't have the developer resources to accomplish them all. For that reason we've decided to offer bounties for certain tasks that we need in hopes that someone with the skills needed will be able to complete them for us! The first person who completes this bounty and responds to this post with a fully working version that meets all specs will be sent a 500 Hive bounty after our review.

image.png

For this bounty we would like to have a javascript bot built that follows the following specs:

1.) When the bot runs it will need to check for the top 5 posts, in terms of SPORTS rewards, for tags football, amfootball, nfl, baseball, mlb, basketball, nba, ufc, hockey, nhl and golf that were posted from SportsTalkSocial dapp. Any users that are muted by @sportstalksocial will not be eligible for daily voting and should be excluded from the top 5 posts of the tags being queried here.

2.) After completing this list it will need to calculate voting power. The bot will need to divide 10 by the number of posts found in step 1 to determine the daily voting percentage to be used. This will vary since not all tags will have 5 posts that haven't already been voted and some days there may be less than 10 total.

3.) The bot will then need to vote for each of the posts in the list compiled in step 1 by the voting percentage derived in step 2.

4.) The bot will then need to query the top 5 posts (in terms of SPORTS rewards) using #sportstalk or #hive-101690 along with the top 5 posts under the following tags football, amfootball, baseball, basketball and golf.

5.) We then want to create a daily curation post from the bot account that will detail not only what we voted on for today's voting but also a guide of the top posts shown on STS. The bot will need the ability to post the following report with current data replacing the dummy data show below:

Post Title: SPORTS Curation Report - [Date]
Tags: hive-101690, sportstalk, sports, curationreport
Post: 

Here's today's top new posts in Sports Talk! **This will be the top posts shown under tags #sportstalk and #hive-101690

|Author|Post|Rewards|
|-|-|-|
|@author|[Post Title](posturl)|Current SPORTS on post|
|@author|[Post Title](posturl)|Current SPORTS on post|
|@author|[Post Title](posturl)|Current SPORTS on post|
|@author|[Post Title](posturl)|Current SPORTS on post|
|@author|[Post Title](posturl)|Current SPORTS on post|

## football

|Author|Post|Rewards|
|-|-|-|
|@author|[Post Title](posturl)|Current SPORTS on post|
|@author|[Post Title](posturl)|Current SPORTS on post|
|@author|[Post Title](posturl)|Current SPORTS on post|
|@author|[Post Title](posturl)|Current SPORTS on post|
|@author|[Post Title](posturl)|Current SPORTS on post|

## amfootball

|Author|Post|Rewards|
|-|-|-|
|@author|[Post Title](posturl)|Current SPORTS on post|
|@author|[Post Title](posturl)|Current SPORTS on post|
|@author|[Post Title](posturl)|Current SPORTS on post|
|@author|[Post Title](posturl)|Current SPORTS on post|
|@author|[Post Title](posturl)|Current SPORTS on post|

## baseball

|Author|Post|Rewards|
|-|-|-|
|@author|[Post Title](posturl)|Current SPORTS on post|
|@author|[Post Title](posturl)|Current SPORTS on post|
|@author|[Post Title](posturl)|Current SPORTS on post|
|@author|[Post Title](posturl)|Current SPORTS on post|
|@author|[Post Title](posturl)|Current SPORTS on post|

## basketball

|Author|Post|Rewards|
|-|-|-|
|@author|[Post Title](posturl)|Current SPORTS on post|
|@author|[Post Title](posturl)|Current SPORTS on post|
|@author|[Post Title](posturl)|Current SPORTS on post|
|@author|[Post Title](posturl)|Current SPORTS on post|
|@author|[Post Title](posturl)|Current SPORTS on post|

## golf

|Author|Post|Rewards|
|-|-|-|
|@author|[Post Title](posturl)|Current SPORTS on post|
|@author|[Post Title](posturl)|Current SPORTS on post|
|@author|[Post Title](posturl)|Current SPORTS on post|
|@author|[Post Title](posturl)|Current SPORTS on post|
|@author|[Post Title](posturl)|Current SPORTS on post|

You can start earning SPORTS tokens today by posting on [Sports Talk Social](https://www.sportstalksocial.com).

6.) The final step is that the bot will need to promote the post it just created by sending any liquid SPORTS available in it's wallet to @null with the post url it created as the memo for the transfer.

If this bounty is something you are interested in claiming please don't hesitate to leave questions in the comments to clarify our needs. We will update this post based on any ambiguity that we find from the community to help solidify what we are looking for. We also reserve the right to decline any submissions based on our needs and any evolving discussions. The code submitted for this bounty will also need to be considered under a MIT License and stated as so in your comment submission.

We want to thank everyone who's taken the time to read through this bounty. If it's something you think you can assist us with then we welcome your comments and submissions. If this is beyond your skill sets we'd love if you could share this post with your friends that would be able to make this happen. The more eyes on it the more likely we'll find someone to get us moving!

Sort:  

Congratulations @sportsbene! You received a personal badge!

Happy Hive Birthday! You are on the Hive blockchain for 1 year!

You can view your badges on your board And compare to others on the Ranking

Do not miss the last post from @hivebuzz:

Feedback from the last Hive Power Up Day

Wow, quite an interesting project it sounds. Hope a developer gets to find this interesting to work on.

Happy to work together on the initiatives for SPORTS.

The vote bot has been created here with MIT License. (now private and invited Patrick into the repository. will make it open a bit later after testing is ready)

To execute the vote bot,

  1. update the VOTER_ACCOUNTvariable in index.js
  2. set POSTING_KEY and ACTIVE_KEY environment variables of the voter account, as mentioned in README
  3. install and execute the project according to the README