Charcoal-SE / SmokeDetector

Headless chatbot that detects spam and posts links to it in chatrooms for quick deletion.
https://metasmoke.erwaysoftware.com
Apache License 2.0
476 stars 182 forks source link

Allow blacklisting user across the network #6845

Open CoconutMacaroon opened 2 years ago

CoconutMacaroon commented 2 years ago

I'm cocomac on Stack Exchange. Here is my Ask Ubuntu account, which has GitHub linked on it.

Is your feature request related to a problem? Please describe.

I'd like the ability to be able to blacklist a SE user, and have all of their SE per-site accounts get blacklisted as well. There aren't any cases that I know of where a user spams on one site, and is a great user on a different one. Most of the time, if they are spamming/trolling/being rude or abusive, they really should get blacklisted everywhere. I ran into this in recently, where I had to blacklist each of their per-site accounts manually after they were causing trouble on several sites.

Describe the solution you'd like

Having one command to blacklist all of a user's SE accounts (and any that they create in the future, ideally) would be very helpful.

Describe alternatives you've considered

Blacklist the user on each site by hand - slow, tedious

Additional context

There was a conversation in Charcoal HQ:

https://chat.stackexchange.com/transcript/message/60711269#60711269

stale[bot] commented 2 years ago

This issue has been closed because it has had no recent activity. If this is still important, please add another comment and find someone with write permissions to reopen the issue. Thank you for your contributions.

makyen commented 2 years ago

A prerequisite for this is to get the data from the SE API, which is also a prerequisite for #6695, which is also tied in to #4145 (which required writing this, and which was derived from #4074). The changes for getting the data from the SE API are also somewhat tied into the Post changes, but are not hard-coupled.

In other words, I have code that does some of the prerequisites for this, which I need to split out of a larger set of changes and get merged.

makyen commented 1 year ago

We will also need to look at how to handle when the blacklist request is for a user who has a notable amount of reputation on any particular site, which might not be the site for which they are being blacklisted. Such things do happen, both intentionally and by mistake. It also is possible where the user should be blacklisted on one site, but not all sites.

Yes, actual straight spammers rarely have good posts on other sites, but that's not all the cases where blacklisting actually gets used (even if the situation is not one where we want user blacklisting to be used).

In other words, we need to be sure that it's possible to blacklist a user on just a single site and that it's possible to blacklist the user based on their SE account, thus blacklisting them on all sites where they have, or later create, a profile. At this point, it's reasonable to just have a single entry for the user's SE account in the blacklist, rather than needing to blacklist each current site profile and then track when they create new profiles.

makyen commented 1 year ago

When we do this, we should also allow whitelisting a user by their SE account.

gparyani commented 9 months ago

There's another good reason for this: see this moderator-only link.