Just save this as karma.py and run it with Python 3.6 or higher.

import requests
import math

INSTANCE_URL = "https://feddit.de"
TARGET_USER = "ENTER_YOUR_USERNAME_HERE"

LIMIT_PER_PAGE = 50

res = requests.get(f"{INSTANCE_URL}/api/v3/user?username={TARGET_USER}&limit={LIMIT_PER_PAGE}").json()

totalPostScore = 0
totalCommentScore = 0
page = 1
while len(res["posts"])+len(res["comments"]) > 0:
	totalPostScore += sum([ x["counts"]["score"] for x in res["posts"] ])
	totalCommentScore += sum([ x["counts"]["score"] for x in res["comments"] ])
	
	page += 1
	res = requests.get(f"{INSTANCE_URL}/api/v3/user?username={TARGET_USER}&limit={LIMIT_PER_PAGE}&page={page}").json()

print("Post karma:    ", totalPostScore)
print("Comment karma: ", totalCommentScore)
print("Total karma:   ", totalPostScore+totalCommentScore)
  • CMLVI
    link
    fedilink
    01 year ago

    I was under the impression that was how it was supposed to function; boosts were the upvote and downvote is the downvote, but boosts were weighted more heavily? Or something? Lmao it seems unnecessarily complicated, just stick with up or down.

    • Teppic
      link
      fedilink
      11 year ago

      Ernest switched the upvote from being boosts to favourites shortly before the Reddit exodus, he did this to better align with Lemmy.
      Boosts and Favourites are both wider fediverse things - using them keeps compatibility there.

      The switch is implemented in hot and top sorting (as you note I think a upvote/favourite counts 50% of a boost), but it sounds like reputation wasn’t fixed at the same time, for now reputation is boosts less downvotes which Ernest himself has acknowledged doesn’t make much sense.

      It is still being discussed in the issues log!

      https://codeberg.org/Kbin/kbin-core/issues/80