One of the things I miss about STEEM is busy.org and the ability the user had to check if an account you were interrogating was following you by hovering over it.
I remember several situations where it was a case of, 'Ohhh, that big account is following me', and then others which were something along the lines of, 'That twat..., I have been voting for him for months and he doesn't even follow me'. Peakd.com is missing this feature.
Busy.org was a dapp on the STEEM blockchain which has now ceased to be and disappeared sometime around the STEEM/HIVE fork which occurred in March 2020.
...'busy.org, missed for other things as well as what I mention here'...
Source
Another feature of busy.org was the breakdown of your account which was dependent on your voting power. When I was a little tiddler it motivated me to power up to try and attain the next level.
I made Minnow III but wanted Minnow II and then Minnow I. These badges have now sadly vanished and peakd.com supports neither the motivation tiers nor the ability to check those disrespectful bastards who you follow that don't reciprocate.
I figured it wouldn’t be too difficult to throw together a Python script to data gather the HIVE users you follow and then cross-reference them for reciprocation.
It took me a little longer than usual, and once again gained me a little more knowledge in this great scripting language which for me was relativity easy to pick up on (after some teething problems).
ATTENTION: Before I go any further, this is all tongue-in-cheek, and you should never expect anyone to perform a follow-for-follow. Many of the accounts that don’t reciprocate your follow may be witnesses (they tend to follow other witnesses only), whales (if one follows you then count yourself blessed) or dapp-based accounts (eg.. @splinterlands, they don't follow anyone).
I am also a choosy bastard in who I follow and keep my follow count low as I do perform manual curation daily. Follow too many and you tend to miss things.
I will show some parts of the script, but as this one is quite long will not post it all here. When I figure out how to use the GitHub UI (I have been told there is one), it will be added to my personal repository.
Getting the followers and followed is easy and involves a couple of methods provided once again with the Beem Account class.
myaccount = "slobberchops"
sAccount = Account(myaccount)
sFollowers = sAccount.get_followers()
sFollowing = sAccount.get_following()
Both methods return lists that can then be cross-referenced with this function (below) that adds those ever so terrible HIVERs to the sShamed list.
# ---------------------------------------------------------
# Function: getdisrespectfulhivers (sFollowing, sFollowers)
# Get those disrespecful HIVER's!
# Returns a List sShamed
# ---------------------------------------------------------
def getdisrespectfulhivers(sFollowers, sFollowing):
sShamed = []
for sDisrespecter in sFollowing:
if not sDisrespecter in str(sFollowers):
sShamed.append(sDisrespecter)
return sShamed
I had more problems displaying the data using 5 accounts per line than anything else. I'm sure there's a more elegant way of doing this besides using counters. That's my way of making things work, and it does!
# ---------------------------------------------------------
# Function: showresults(fishtype, acchivepower)
# Shows result data based on comparative VP of the shamed
# ones and if your worthyness of being followed by them
# ---------------------------------------------------------
def showresults(fishtype, acchivepower):
print('=======================================================================')
print(f'You.., {myaccount} are a {fishtype} with {acchivepower} to your name')
print(f'These HIVE People dont follow you, but you follow them, the shame!')
print('=======================================================================')
linecounter = 1
for sShamedone in sShamed:
sAccount = Account(sShamedone)
acchivepower = gettokenpower(sAccount)
fishtype = fishlevel(acchivepower)
if (linecounter < 5):
print(f'@{sShamedone}',end=", ")
else:
print(f'@{sShamedone}')
linecounter +=1
if linecounter > 5:
linecounter = 1
print ()
print('=======================================================================')
print(f'{len(sShamed)} of the {iFollowers} users you are following are ignoring you, sheesh.. thats terrible')
fishtype and acchivepower are calculated in other routines and used sparingly in this script.
I follow less than 300 people but I know some follow thousands. I had to add the line spacing code so it would be readable and would not simply scroll up the screen when the code was running.
It's been a while since I have seen something like this which shows data and I can encourage anyone to drop me a comment and ask who is showing them disrespect!
@abh12345 used to do this years ago, on STEEM but with fancy graphs and offers to other STEEM people to show their own data. I can't show you the graphs, but can respond in a comment and show you who is not reciprocating your generosity, kindness and support.
myaccount = "slobberchops"
sAccount = Account(myaccount)
Please feel free to request I change this line, add your name, run the script and respond with your own data. This is all for a laugh, some fun and not to be taken seriously.
Before I finish this, I will tag @jarvie and @asgarth requesting they add the facility to see if someone is following you (by hovering over an account) and to add those incentive accounts level tiers to peakd.com