matrix-org / mjolnir

A moderation tool for Matrix
Apache License 2.0
309 stars 53 forks source link

Temporary ban cmd to prevent gigantic banlists and to moderate proportionally #318

Open ghost opened 2 years ago

ghost commented 2 years ago

Is your feature request related to a problem? Please describe. Yes and no. The problem is that we end up with a ban list of several hundreds of people if not thousands when it's not necessary to keep a ban after say a month or whatever duration. And certainly not bans from 2 years ago.

Describe the solution you'd like !tban #room(optional if none = all) 2w id reason
!tban 2w #foo:bar.com @john:matrix.org trolling

Ban for two weeks

Every day at a configurable time, Mjolnir would check the banlist and unban those who's time is passed.

Describe alternatives you've considered Doing it manually.

Additional context This could also bring a benefit of preventing some people from changing to an alt and coming back if they're banned for only 1d or 2d ... !ban would be for permabans.

JokerGermany commented 2 years ago

In my opinion this is a good proposal for matrix specs (Room Admins), but i don't see any usecase for mjolnir....

ghost commented 2 years ago

mjolnir is managing banlists ... so why not also the durations of the bans?

JokerGermany commented 2 years ago

I see mjolnir as the last resort. if i get a report for trolling as mjolnir admin I shrug. The normal use case should be that mjolnir manage a multitude of different kinds of rooms. That cases where i ban, are that cases who really really earned their report. I think it would be unfair to revoke this "achievement" ;)

But if someone want to implement it, why not ¯_(ツ)_/¯

ghost commented 2 years ago

Well, for example, in the rooms I manage, there are hundreds of bans more than 1 year old. Hundreds and I've seen rooms with thousands. I would like to purge them. One use case. It's not only for managing temp bans of offenders but removing garbage data of 1 year old bans of simple spammers. And possibly garbage out things of your synapse server causing a small performance increase.

I would also add that some ban should never be unbanned no matter the time. For those just put!tban 99y #foo:bar.com @john:matrix.org CSAM posting

Yes I think it's a perfect task for mjolnir as we know very well this won't be done by matrix.org people. As it is the case even on Discord. Bots do this. Same on IRC. Bots do this. Or mods/admins do this keeping track themselves.

But it's a pain. Right now I have no way of purging for examples all bans older than 1 year other then hundreds upon hundreds of clicks. Because the bans are now in /devtools > room state > room members > find banned user > change his status to joined or something.... Or click in the room settings Unban on each person banned and waiting for the Element Gui each time ... Days to purge those.

Mjolnir could do this easily in seconds/minutes. And it would ease the work of mods while giving them the possibility of giving "proportionate" punishments for small offenses knowing the person will be unbanned in 1 day for example.

In addition, this I think wouldn't require "insane work" to implement in the code. Probably just a couple hours for a good programmer.

JokerGermany commented 2 years ago

In addition, this I think wouldn't require "insane work" to implement in the code. Probably just a couple hours for a good programmer.

If you even know how to implement it, why don't you just send in a pr?

ghost commented 2 years ago

Because I'm a terribly bad programmer and I don't want to shame myself aha.

Edit: And others would have to waste more time fixing my terrible programming in countless change requests or fix themselves which will take more time than a good programmer doing it right from the first time?

Is that fair enough?

FSG-Cat commented 2 years ago

In my opinion this is a good proposal for matrix specs (Room Admins), but i don't see any usecase for mjolnir....

This is best suited for Bots as far as i am aware due to the DAG not rly having a concept of time.

ghost commented 2 years ago

In my opinion this is a good proposal for matrix specs (Room Admins), but i don't see any usecase for mjolnir....

This is best suited for Bots as far as i am aware due to the DAG not rly having a concept of time.

True and good additional argument

bkil commented 2 years ago

One rational use case in the context of automated spammers is to only keep a ban active in the list until the home server admin has deactivated the given account and possibly reported it to the authorities. This could take days or even weeks in case of certain home servers such as matrix.org. Then it would never come back. However, certain home servers don't really deal with abuse very well, and bans directed at them should not be forgotten. I'm not talking ones that are officially "unmoderated" and hence get ACL'd by many, but those home servers who only deem the worst offenders to be worthy for account deactivation.

PC-Admin commented 8 months ago

This is a duplicate of another issue made previously: https://github.com/matrix-org/mjolnir/issues/142