Hey all,
I’m the author of lemmyverse.net and I’ve recently been working on a new moderation tool called Lemmy Modder. https://modder.lemmyverse.net/
Currently, it supports user registration/approvals and content report management. I offer it either as a hosted app (which is currently only compatible with Lemmy 0.18 instances) or a package that you can run alongside your Lemmy instance (using Docker-Compose)
Feel free to give it a go and send any feedback my way :) https://github.com/tgxn/lemmy-modder
Edit for a note: This tool does not save, proxy or store any of your user credentials or data to me, it is only ever stored locally in your browser. I also do not use any website tracking tools. 👍
deleted by creator
Very true, though as a moderator, I expect you’d need to validate the report is not reporting something that’s totally fine.
I’m not sure how to deal with this, perhaps I could read your user settings for blur_nsfw and apply that as the default? Or, perhaps a toggle setting that just turns media embeds on/off completely that defaults based on the same user-setting?
[This comment has been deleted by an automated system]
Yeah, I’ve experienced this. It’d be pretty easy to add a report-contains-word based filter for the images, but if content doesn’t match this then it’d still be an issue.
or make it a textbox where mods can enter words themselves I quite like this approach, maybe:
- Setting “Display content preview for NSFW posts”
- Setting "Hide content preview with reports containing "
I’ve created a bug for myself, https://github.com/tgxn/lemmy-modder/issues/63 If you wanted to add any additional information or track my progress. :D
I also want to add an in-app popup (with the image/website) when you click the content directly instead of navigating to the actual content in a new tab, so this could get combined to only show content on click (as a configuration, defaulted to only show on “expand”).
I’m not sure how to deal with this, perhaps I could read your user settings for blur_nsfw and apply that as the default? Or, perhaps a toggle setting that just turns media embeds on/off completely that defaults based on the same user-setting?
Yeah default off seems like the best option, if somebody reports that i would just hide it because it is not worth the risk), especially if there are multiple reports, i don’t know if lemmy has an “appeal” system but maybe that could help too.
Showing a user total karma and the number of downvotes he got could also be a decent indication.
From what little I’ve poked around with it seems to be a really cool tool! Love to see new moderation tools! One thing I noticed is I can’t seem to get it to work with community moderators that aren’t site admins, though I’m not sure if that’s just me messing something up
No worries, I responded above that most of my testing has been done as a global admin, I need to do further testing to make sure everything is working for community-only mods.
Happy for you to create a bug on the GitHub with information on what you’re seeing as a community-only mod :DEdit: I’ve made a bug for myself to look at for validating everything still works as a community mod https://github.com/tgxn/lemmy-modder/issues/62 😁
it looks to be working now, thanks!
Is this moderation of any communities on an instance, or any communities moderated by someone who had an account on that instance? Still don’t really understand how federated moderation works.
Would the ideal end goal be to run it on an instance for mods on that instance, like say mod.lemmy.ca ?
Hehe, yeah I have done minimal testing as a community-moderator, I will focus some more time to make sure this also works as expected. As a community-only-moderator, you should still be able to call the APIs that return content reports, limited to your communities.
Edit: I’ve made a bug for myself to look at for validating everything still works as a community mod https://github.com/tgxn/lemmy-modder/issues/62
This tool lets you login as any account, and given the moderation APIs return content, then you’ll be able to see it in the UI. (so normal users would likely only be able to see the moderation log)
At the moment, there’s not really much benefit in running it locally, unless you want to be sure that your moderators are using an “approved version” or if (soon) I have to release a separate package for Lemmy 0.19. In future, I expect to be able to link into the Lemmy/Pictrs databases to get additional metrics/content that’s not available on the Lemmy API, but that’s a future problem :D
That sounds amazing, I’ll keep an eye out for more updates :)
Neat! Any chance you can display the user modlog in there too? So everything can be seen and done from there?
I’d love to be able to have a modlog containing all the entries for a particular user, but the Lemmy API doesn’t currently support getting filtered results per user. 😔 I’ll have to make an issue for it and maybe an upstream one to add this to Lemmy…
Oh I ask because they managed to get it in photon and alexandrite. Not sure how they did it though
i was wrong - i should be able to do this actually 😅… the API seems to provide community and user id filters! I’ve made a backlog item https://github.com/tgxn/lemmy-modder/issues/75
Nice one!
That would be great!
Great work!
In what language is it written?
In what language is it written?
JS wtih React and MUI Joy
Nice! I already looked into i had some recommendations. Nothing big but small changes
No 2FA login?
Good point, I’ll do that soon. https://github.com/tgxn/lemmy-modder/issues/68
I’m absolutely terrible at nginx. Can you share the config you used for your hosted version?
You could try something like this:
http { upstream modder { server lemmy-modder:80; } server { listen 81; location ~ /myapp { proxy_pass http://modder; } } }
let me know how you go.
The hosted version is using GitHub pages. I use Traefik for my version so don’t have nginx config. I can make task to have a look at this and create an example config, but no promises on when I can do that.
I love that you can see when a report was created! Can reports be sorted by the time they were reported, like oldest to newest (or vice versa)? Or sort by community?
not yet, but improved sorting is on the cards.
the main issue is the lemmy api’s don’t support most of this, so it’ll have to be implemented locally. for example, ListPostReports only allows:
community_id
,limit
,page
, andunresolved_only
as parameters: https://join-lemmy.org/api/interfaces/ListPostReports.htmlPR’s need to be submitted to Lemmy core to add this functionality, so for now I do a infinite load as you scroll.
I was wondering if that might be the case. Hopefully future Lemmy updates will allow for this.
Edit for a note: This tool does not save, proxy or store any of your user credentials or data to me, it is only ever stored locally in your browser.
Shoudn’t there be some backup on dropbox or nextcloud (or even downloading a text file) for this?
Currently, it’s only storing your Lemmy JWT token (if you chose to save it) and your site/user data.
There’s not really much value in saving these since there’s no user configuration stuff yet, providing more of a risk if these tokens were leaked (potentially for global admins)
I was thinking of implementing a way to share data outside of Lemmy (for mod notes, ignored reports, user “Strikes”, and potentially user config). If this was not purely a frontend (and I had some kind of DB backend) then this would be less of a concern.
I didn’t really want to run a backend, since it would involve me storing data on users of the tool - But this would be an option for people that set this up in their local Docker.