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 SingerOP
    link
    fedilink
    41 year ago

    Yeah, this was just a little exercise while getting into the API. I’m looking into making a simple mod bot, if I actually get around to it.

    Regarding Karma: I don’t care at all for other peoples’ karma. Never have, also on Reddit and Stackexchange.

    But I do like to kinda see my progress. With Karma I can see how well I am doing in the community in general. And it motivates me to put out more decent content.

    I don’t really get Karma farming though. Karma is inherently meaningless, so there is no reason to farm it.

    • maegul (he/they)
      link
      fedilink
      11 year ago

      I’m with you (and I hope my post didn’t come of as too harsh … you’re making tools for users which is awesome!).

      And you’re right to point out that this is just for personal use. And karma is useful for letting you know how your communities feel about you. For me, I scroll through my posts in my profile page and just scan the scores to get a feel for whether I’ve pissed anyone off gotten some traction for some reason.

      If someone is posting more often than me, I can see how your tool would be useful.

      Still, I feel there are questions to be asked about whether it’s healthy, but that’s me … you do you!!

      Also … kbin actually has a karma feature like on reddit. You might find it useful.

      • Square SingerOP
        link
        fedilink
        21 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
          11 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 SingerOP
            link
            fedilink
            31 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.