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)
Isn’t that the same as “post_score” and “comment_score” in https://feddit.de/api/v3/user?username=Grishaix
That would sound plausible, yes, but apparently it is not. For me, my post_score was ~20% less than the score of all my posts summed up, and my comment_score was ~95% less. I actually opened a bug report for that here: https://github.com/LemmyNet/lemmy/issues/3393
I just ran the script on your user. The API returns a post_score of 125, while the calculated score is 121. For the comment_score the API returned 83, while the calculated score is 397.
Thanks for the clarification.
But to be honest, I’m still not quite sure if we really need this whole “internet points” thing.
Yeah, it’s only for each user to run if they want to. I like to. I don’t care about others’ score. It’s just for me to know.
I’ve read the discussions on that topic, and I agree that it should not be publicly visible, at least not next to the posts. If at all maybe in the user profile. But honestly I don’t care about that aspect.
I just want to know where I’m standing.
I’ve earned ~10% of my Reddit karma in just-over-two-weeks that I have been here, even though there are far fewer people here than on Reddit, so that’s concerning ;)
But that’s what I wanted to know and I go that info.
It’s an alright way to see if someone is commenting on good-faith or not. Anytime I saw someone saying highly controversial things, I’d check their account to see if they were just downvote collecting or actually held the view. It’s harder to do that now; my account says I’m at like…-30 something, on a single comment that went beyond a few people’s sensibilities. I could have put an /s on it but that defeats the purpose.
But anyone that looks at my profile now to make the “good faith” check will see me at -30, despite other contributions.
It is dumb how people worry about the number, but it does have other uses besides just a popularity indicator.
Seems like this is kbin Vs Lemmy difference, we at kbin get to see people’s “reputation” (yes including Lemmy users …with caveats) from this thread it seems Lemmy doesn’t easily expose the same.
That said the reputation system is kbin is currently broken as upvotes don’t count - it’s a known bug which will no doubt be corrected soon.