Fixing Profile Query due to API Change in SteemIt

Due to an API change in SteemIt see this post, the following code to get the last vote time is not working any more - as it says the API is depreciated.

acc = Account(id, steemd_instance = steem)
av = acc.get_account_votes()
account['last_vote_time'] = av[-1]['time']

The last vote time is useful to get the current VP for a user (the last recorded voting power + the VP restored since)

vot = av[-1]['time']  
vot = datetime.datetime.strptime(vot, '%Y-%m-%dT%H:%M:%S')
vot = time.mktime(vot.timetuple())
tnow = datetime.datetime.utcnow().timestamp()
dif = (((tnow-vot) / 60) * 0.0139) + account_vp
account['vp'] = min(100, dif)

There is no easy way to get last voted time. You can scan the account history in reverse order and look for the voting action.

Thanks to @steemsql , I have replaced this bit using a simple SQL

def get_last_vote_time(id):
  global cursor
     
  sql = "select top 1 timestamp from TxVotes (NOLOCK) where voter='" + id.strip() + "' order by timestamp desc"
  cursor.execute(sql)

  while 1:
    row = cursor.fetchone()
    if not row:
      break
    return row[0].strftime("%Y-%m-%d %H:%M:%S")
  return None 

So the services for querying the profile using Discord Bot or Wechat Bot has been fixed!

image.png
image.png

// https://helloacm.com/fixing-profile-query-commadn-due-to-api-change-in-steem-blockchain/

Enjoy and Steem On!

Delegate to @justyy

@justyy runs a automatic delegation service for a long time. Delegate to @justyy for at least 5 SP and start receiving daily payout as interests (from 8% to 10% APR). Also, as a supporter, the delegators will start to receive complimentary/curation upvotes (as a thank you) per day from e.g @justyy and a few other curation trails. For more information, read this. The voting weight algorithm is open source.

image.png

@justyy is the 7-th delegated project on steem blockchain

Please note that the SP you enter is the final amount to delegate. For example, if you already delegate 10 SP and you want to delegate another 5 SP, you will need to enter 15 SP (instead of 5 SP) in the delegation form.

Vote for me or Set me as a witness Proxy - Every vote counts! - Thank you!

Your Vote is much appreciated, and every vote counts.

Check out My Witness Page

Support me and my work as a witness - witness thread by

  1. voting me here, or
  2. voting me as a witness proxy - let @justyy represent you.

Thank you! Some of My Contributions: SteemYY.com - SteemIt Tutorials, Robots, Tools and APIs and VPS Search Tool

Happy New Year to all Steemians! I wish the Steem Price Go Rocket in 2019!

image.png

H2
H3
H4
3 columns
2 columns
1 column
5 Comments