cross-posted from: https://programming.dev/post/18411894
Hello Lemmings!
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 @[email protected] 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 remove content via word blacklist/regex
- Ban members of communities by their usernames/bios 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 am thinking of making a website for it to act as a dashboard. The community owner will get a UUID as a password to access the dashboard of the community. For security reasons, the password will be reset when the owner of a community changes.
As for the mods, I don’t know yet. Any suggestions?
Suggestions for how the mods could securely access and configure the dashboard?
I feel like a “login” could be done similar to how @[email protected] configured the login for [email protected]. The automod bot could DM the mod account and provide an access code.
The dashboard itself could be as simple as an editable text file for each community, containing if-then and regex rules, or you could go for a fancier GUI if you are feeling ambitious.
I am trying to decrease the API calls as much as possible, so that is not an option. I might just have the owner decide with which mod they want to share it with. That seems to be the easiest option tbh. It also shifts the responsibility from the developer (me) to the consumer (the owner).
I am thinking of having a simple login form with a community ID field (which will be provided by the bot along with the password) and a password field which will just be a UUID. There is no checking done whether the person logging in is really a moderator of community X or not so yeah.