I am thinking of making a community moderation bot for Lemmy. This new bot will have faster response times with the help of Lemmy webhooks, an amazing plugin for Lemmy instances by @rikudou@lemmings.world to add webhook support. With this, there is no need to frequently call the API at a fixed interval to fetch new data. Any new data will be sent via the webhook directly to the bot backend. This allows for actions within seconds, thus making it an effective auto moderation tool.
I have a few features I thought of doing:
Welcome messages
Auto commenting on new posts
Scheduled posts
Punish content authors or take action on Auto report content via word blacklist/regex
Ban members of communities by their usernames via word blacklist or regex
Auto community lockdown during spam
What other features do you think are possible?
Please let me know.
Any questions are also welcome.
Community requested features:
Strike system
Strikes are added to a certain member of the community and the member will be temporarily banned within a time period if their strike count reaches a certain threshold
Post creation restriction by account age
If an account's age is lower than X, remove the post.
I don’t moderate any Lemmy communities, but generally I like having a strike system so that not everything gets you band. For example using a not allowed word (swearword, nsfw, etc) deletes the post and adds a strike to the user, automated message with number of strikes to the user, and after repeated actions a ban.
I would add a way to send an automated alert to mods if a user gets repeated temporary bans (kind of like a super-strike), so human mods can decide if a permanent ban is warranted or if they need to review how zealous the automod is being.
I'll think about it. But I'll most likely add a option to permanently ban a user after X temp bans instead. The thing with sending alerts to mods is that the API calls increases as the moderator count increases. I'd like to decrease the amount of API calls made since there certainly is a rate limit on the instance I'll be using for the bot.