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)
  • Square Singer@feddit.deOP
    link
    fedilink
    arrow-up
    3
    ·
    1 year ago

    I am spending too much time on Lemmy as is :)

    What I really found interesting, also compared to Reddit, is how few of my posts/comments actually have downvotes.

    • maegul (he/they)
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      Yea … it’s interesting isn’t it … what happens when the “engagement rage” is taken out of the room.

      Politeness and consideration … helluva drug!

      For instance, I disliked the push to bring a reddit feature to here, mostly out of a feeling that there might be a bit too much “lets keep this is much like reddit as possible” developing, just enough to think about downvoting this post for a second, but realised it would have way too mean and that a post expressing my disagreement was plenty while you were doing genuinely interesting and useful work.

      On reddit, sadly, I probably would have downvoted, moved on and not thought twice.

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

        I think, part of the equation might also be that the split between upvotes and downvotes is shown directly. On Reddit, if someone has a comment score of 1, you never know if that’s because nobody cares enough to vote at all, or because there’s a 50:50 split of up- and downvotes.

        So if you downvote here, it is instantly visible and not as anonymous.

        Also, if a post has a score of -5 on Reddit, you’d assume that everyone hates that post. But here you’d see that actually 50 people upvoted it and 55 downvoted it.

        Just for numerical context: Out of my 15 posts only 3 have any downvotes at all. Out of my 332 comments, only 27 have any downvotes.

        Compared with 15/15 posts with upvotes and 240/332 comments that have upvotes.