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)
  • maegul (he/they)@lemmy.ml
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    1 year ago

    Yea, as said by @[email protected] it’s best that reddit is just left behind … we don’t need to recreate everything it did, and there’s plenty of scope to try and create new things here on the fediverse not seen before or, at least to make lemmy better in lots of ways that make sense.

    Alternative web-based PWA front ends, community discovery, contributing to the source code of the platform itself, moderation tooling (a big one), making donations easier for users, devs and admins (big one too), documentation and tutorials for new users or those looking to use the API (bet you’re well placed for that one) … etc.

    • Square Singer@feddit.deOP
      link
      fedilink
      arrow-up
      0
      ·
      1 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)@lemmy.ml
        link
        fedilink
        arrow-up
        0
        ·
        1 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 Singer@feddit.deOP
          link
          fedilink
          arrow-up
          0
          ·
          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)@lemmy.ml
            link
            fedilink
            arrow-up
            1
            ·
            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.

  • Pekka@feddit.nl
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    1 year ago

    MLem (the iOS Lemmy app) was also showing the user karma (but I think it was only showing karma gained on the local instance). So I guess this is nice for people that like to know their karma.

    I also agree with @[email protected] that we should leave this as a thing for yourself. The Lemmy API should not bother with reporting user karma as It would be way too easy to cheat for people with singe person instances. (and of course the toxicity that comes with karma)

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

      The API actually already reports something that looks like karma (it’s called post_score and comment_score for the user in question), but for some reason that value is quite off. Not sure why.

      So for example, the post score that is reported for my user is ~20% lower than what you get if you sum all the post scores up, while the comment score is ~95% too low.

  • 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!

  • RandoCalrandian@kbin.social
    link
    fedilink
    arrow-up
    0
    ·
    1 year ago

    “An user” sounds weird

    But it’s entirely grammatically correct not correct, just high school grammar level correct, english has exceptions to the “a/an” rule, thanks @Haus

    Yet i still want to say “a user”

    Fuck you, English

    • noodlejetski@kbin.social
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      it’s entirely grammatically correct

      eeeehhhhhhhhhhhhh. the a/an rule is based on the first sound (phone?) of the word, not the spelling. hence “an hour”, for example, where the H is silent, but “a heist” where it’s voiced.

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

      You are right, I removed it ~20min before you posted, though. So I guess, the change wasn’t synced to your instance yet. Interesting, that the syncing can take that long.

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

      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.

      • GrishAix@feddit.de
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        Thanks for the clarification.

        But to be honest, I’m still not quite sure if we really need this whole “internet points” thing.

        • CMLVI@kbin.social
          link
          fedilink
          arrow-up
          0
          ·
          1 year ago

          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.

          • Teppic@kbin.social
            link
            fedilink
            arrow-up
            0
            ·
            1 year ago

            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.

            • CMLVI@kbin.social
              link
              fedilink
              arrow-up
              0
              ·
              1 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@kbin.social
                link
                fedilink
                arrow-up
                1
                ·
                1 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