this post was submitted on 31 Aug 2023
53 points (87.3% liked)

Asklemmy

43989 readers
622 users here now

A loosely moderated place to ask open-ended questions

Search asklemmy ๐Ÿ”

If your post meets the following criteria, it's welcome here!

  1. Open-ended question
  2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
  3. Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
  4. Not ad nauseam inducing: please make sure it is a question that would be new to most members
  5. An actual topic of discussion

Looking for support?

Looking for a community?

~Icon~ ~by~ ~@Double_[email protected]~

founded 5 years ago
MODERATORS
 

I used code from a github repo to make a lemmy repost bot from a reddit sub.

I tested it out, it seemed OK. So I let it run over night.

When I got back I found out it had been posting the same thing over and over again every few minutes. The account was banned for spam. But in the meantime it was very annoying to people. Also, there are a bunch of posts that can't be removed because it's impossible to remove federated stuff.

Is there a responsible way to test this stuff?

I don't want to make spam, be annoying, etc. I feel bad about the spam bot.

you are viewing a single comment's thread
view the rest of the comments
[โ€“] [email protected] 10 points 1 year ago (2 children)

As an old programmer, always build in checks for your systems. Keep a cache of posted articles and check it before posting so you know you haven't posted this one yet.

When you let something run overnight, that's going to go south somehow. If running overnight for the first time, throttle it to one post per hour. And not the same post. I'm the morning you check if it successfully posted a new article once per hour. Next let it post a little more frequently. Ease into your desired frequency once you have figured out all your edge cases and scale issues.

And so forth.

[โ€“] [email protected] 7 points 1 year ago (1 children)

Also, don't let it run against the live system the first time. Implement a "dry run" option which doesn't post to Lemmy, but writes to a file or something similar. This way you can make sure nothing goes wrong in the parts aside from the Lemmy integration.

[โ€“] [email protected] 2 points 1 year ago

I was going to add this but figured I had already given too many points. This is the way, though.

[โ€“] [email protected] 5 points 1 year ago

This is great advice, and to the OP, don't feel bad. You're really not an IT person of any caliber until you have experienced when I like to call the "Production Incident Experience", or PIE. IT work is a job with unforseen consequences and hurdles, and we've all run into them at one point or another.

This being a learning experience, do what we've all done and learn from it. Now you can set up logging, whatif, sandbox instance, whatever you have to do.

You're on the road to becoming a good programmer - just learn from your mistakes, do your research on best practices, ask intelligent questions, and in no time at all you'll be writing one of these posts yourself.