Affable Scoring Bot Deployed | Project Affable has Been Fully Automated

in hive-192037 •  3 years ago 

Hi guys!

In April, I announced the Affable bot's deployment to help automate Project affable run by sapwood. The bot was designed to pick up affable comments that were made here on the Steem blockchain. This deployment of this bot meant that users no longer had to re-enroll themselves for the affable contest every single month(Like it used to be previously).

Problem:

To check the scores of each individual, we had the SCM tool. This tool is great when you want to check out your own score. However, it's tiring for the organizers to enter every userID and last permalink and score everyone.

Moreover, the SCM tool seems to also pick up comments from posts other than thediarygame, better life, crypto academy, and mytown10pics. So, to solve this issue, I created another bot that automates the scoring procedure as well.

Solution: Introducing the Affable Scorer:


image.png
Screenshot of teh Code

I have now deployed a new bot that takes care of the entire scoring of all the contestants. The Affable bot has already been picking up the comments with affable tags in it. The Affable Scorer ensures that these comments were made on the relevant(betterlife, thediarygame, cryptoacademy, mytown10pics) posts and scores them based on the formula,

Affable Score = [1C + 2(2C) + SC01 + 0.4(SC02)]/4.4

The bot also checked for other criteria such as the minimum character count of 100 characters.

Tech Stack and APIs Used:

The bot relies mainly on two APIs which are:
1- condenser_api.get_content and,
2- condenser_api.get_discussions_by_comments.
The bot is a CLI bot written in C# and that makes use of .NET 5 as its framework. The bot also used Entity framework core as an ORM to communicate with the database to read the last month's contestants and store the previous month's scores.


image.png
Screenshot of the Database

All the data is stored in a SQL database that is hosted on a separate DigitalOcean droplet.

#Improvements Made To the Affable Bot:
The Affable bot also went through its own improvements as well. The bot is at its worst-case scenario just 80 seconds behind the actual Steem blockchain. The best-case performance of the bot is as good as 3 seconds behind the Steem blockchain. So, this is a major boost to the performance.

Additionally, I have also managed to bring down the overall hosting charges to $55 per month now. This was made possible by using the $5 Redis instance on Redislabs instead of the one offered by DigitalOcean. The new Affable scorer bot is also placed in the $45 Droplet.

Upoming Features:

So far, there has not been a UI for the affable automation that I have created. This is because, unlike the UI that is used for the SIR and Scribe, the UI of Affable would be much better. I would be bringing out a leaderboard kind of UI which would give this a great look and feel.

However, this UI is taking a bit longer than I initially expected. Hopefully, I will have it up by the end of this upcoming weekend.


image.png
Sneek peak of the 362 participants


image.png
Sneek peak of a few random scores

In the meantime, I have already shared the list of participants(362) and also their respective scores with @sapwood and he will be making a public announcement of the same very soon.

Closing Thoughts:

As far as Project Affable is concerned, we have now fully automated it. The whole scoring would happen on the second of every month and would be available for everyone to see once I finish up on the leaderboard UI. For the time being, the bot updates the scores and participants in the SQL database.

CC:
@steemcurator01
@steemitblog
@sapwood

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Thank you so much

Thank you so much

Cc to all the CR's:-

Cc: Cameroon (@njiatanga, @saxopedia), Ghana (@njaywan, @oppongk), Nigeria (@focusnow, @bright-obias, @whitestallion), Uganda (@yohan2on), Mexico (@leveuf), Argentina (@belenguerra, @fendit), Venezuela (@adeljose, @anasuleidy, @edlili24, @mariita52, @tocho2, @albenis, @inspiracion, @wilmer1988), Bangladesh (@rex-sumon, @tarpan, @toufiq777), India (@neerajkr03, @rishabh99946, @sapwood), Indonesia (@anroja, @ernaerningsih, @nazarul, @radjasalman), Japan (@cryptokannon), Pakistan (@rashid001), Sri Lanka (@randulakoralage), Italy (@girolamomarotta), Russia (@filinpaul, @knopka145), Turkey (@alikoc07), Ukraine (@antorv, @olesia) and New Zealand (@kiwiscanfly).

Thank you so much. Eagerly waiting to see the leaderboard and the automated score-UI.

Steem on.

Estas son grandes noticias, felicidades por el logro!!

Thank you very much.