So we’ve seen the complaints and the reports and boy oh boy are there complaints and reports.

I’ve discussed the account with the other mods and admins multiple times, and while we agree the volume is a lot, it doesn’t point to a botfarm or multiple people using the account.

Obsessive? Absolutely, but not technically rule breaking… Until today.

Today they indescriminately posted the same story three times from three different sources apparently solely to flood the channel showing a decided lack of judgement.

It’s a valid story from a valid source, the original has been kept here:

https://lemmy.world/post/21098916

The others have been removed as duplicates.

I’m also applying a 15 day temp ban on the account.

“15 days? That’s oddly specific! What’s in 15… OH!”

  • jordanlund@lemmy.worldOPM
    link
    fedilink
    arrow-up
    13
    arrow-down
    1
    ·
    2 months ago

    Yeah, reddit had something like that baked in, I’m not sure how lemmy could implement it.

    “You are doing that too much, try again later.”

    It seemed to be tied to both the age of the account and the karma of the account. It varies from subreddit to subreddit.

    There also seemed to be a difference if you were subscribed to the community or not.

    But then we’re comparing something relatively new (lemmy) to an established platform with over a decade of development too.

      • jordanlund@lemmy.worldOPM
        link
        fedilink
        arrow-up
        7
        arrow-down
        1
        ·
        2 months ago

        I asked in our Discord. I think the limiting factor is federation. I’m not sure how it’s possible to rate limit things in a federated environment.

        Fortunatley we have smarter people than me around!

    • Maggoty@lemmy.world
      link
      fedilink
      arrow-up
      8
      ·
      2 months ago

      Sounds like a bot could do the job. Counts submissions in a rolling 24 hour period and fires a report off if someone goes over. Or it even deletes the post itself.

      • jordanlund@lemmy.worldOPM
        link
        fedilink
        arrow-up
        8
        arrow-down
        1
        ·
        2 months ago

        For local, lemmy.world users, yeah. I think the confounding factor is federation, but like I say, I raised the issue and we have people way smarter than me!

        • Maggoty@lemmy.world
          link
          fedilink
          arrow-up
          6
          ·
          2 months ago

          I was just thinking about reading the name and time on the post and running a counter. Then deleting the posts if they are above the limit.

    • It’s easy enough to limit for a local user posting. I guess the tricky part is what if this comes in through federation from an instance that doesn’t support limiting. Probably just refuse the CREATE request with an appropriate error code (400?) and message (the “try again later one”) and hope the user’s home instance will report that back to the user.

      • jordanlund@lemmy.worldOPM
        link
        fedilink
        arrow-up
        1
        ·
        2 months ago

        Talked about this with the admins and the suggestion is to use some kind of automod, but implementing something like that is a little beyond my ability.

        • abff08f4813c@j4vcdedmiokf56h3ho4t62mlku.srv.us
          link
          fedilink
          English
          arrow-up
          2
          ·
          edit-2
          2 months ago

          Ah - I can see why they’d prefer an automod (they’d not have to worry about configuring or changing the server software in that case).

          Unfortunately, as far I can tell, none of the existing automods out there support deleting posts by a rate limit. It’s not impossible to add this functionality, but it’d take a bit of work and time from a dev.

          For example, I think for lemmymodbot one can modify the User Processor at https://github.com/noenfugler/LemmyModBot/blob/master/lemmymodbot/processors/user_processor.py to accomplish this.

          Under line 8, add this line to create a user/seen hash

          user_post_seen_hash = {}

          and replace the entire execute function with something like this,

          if content.actor_id in self.user_post_seen_hash:
          if int(datetime.now().timestamp * 1000) - int(user_post_seen_hash[content.actor_id].timestamp * 1000) <= 300 * 1000:
          handle.remove_thing(“Posting too frequently, take a break”)
          self.user_post_seen_hash[content.actor_id] = datetime.now()

          (Oh, and at the top of the file, also add above the first line,

          from datetime import datetime, timedelta

          )

          But for lemmy.world (even if just looking at /m/politics) it would likely OOM from the in-memory hash due to the volume of users, so it’d need to be extended leverage the database for the lookup.

          Something similar could be implemented on top of threativore, I think around this line might be the easiest place to implement the check of the username/timestamp, https://github.com/db0/threativore/blob/main/threativore/threativore.py#L285

          Edit: Forgot to add, all the above code changes are completely untested by me, use at your own risk, etc.