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)
  • nlm@beehaw.org
    link
    fedilink
    arrow-up
    0
    ·
    1 year ago

    Nice job and all… but I really wish this wasn’t a thing.

    Karma is something that should stay behind at Reddit imho, it just fosters karma whoring instead of actually contributing to a discussion.

    That’s one of the things I liked best when I joined Lemmy, that there wasn’t a visible karma counter on people’s profiles.

    Anyway… rant mode off.

    Still, neat job!

    • Square Singer@feddit.deOP
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

      I get the reasoning, I’ve read the discussions. Still I like the karma thing, not for showing it to other people, but to give me an overview over what I’ve been doing so far. It’s kinda an activity meter for me, and a bit of feedback on how my posts are doing.

      I am on Stackoverflow, and obviously I was on Reddit. While I was there, I never actually looked at other people’s karma, but my karma motivated me to be more engaged.