TokTok / c-toxcore

The future of online communications.
https://tox.chat
GNU General Public License v3.0
2.21k stars 280 forks source link

NGC: spam protect groups by setting mute for all new peers #2722

Open zoff99 opened 3 months ago

zoff99 commented 3 months ago

when IRC freenode network was under attack, all new users and all unregistered users where set to mute be default. and channel ops gave "voice" by hand to selected users in their channel.

it would be nice to have something similar for NGC groups. that founder and/or moderators can set a group to "mute as default". all new peers would be given the "observer" role.

then moderators can change it per peer, to allow to write to the group.

if someone tries to write spam to a group, and after being muted or kicked then creates new peers to continue to do so, the channel could be set to this mode to prevent more unwanted content written to the group.

Green-Sky commented 3 months ago

+1, it would be nice to be able to set a peer's default voice state. Current feature enabling almost the same behaviors is being able to set the group's voice state, which makes it only mod and up or only the founder can talk. (but yes, not the same) or a silencing bot (which can be circumvented).

JFreegman commented 3 months ago

We already have the moderation tools to deal with every scenario you listed. We have voice state to control which roles are allowed to speak (you can set it to MOD so that new peers need to be promoted to moderator before they can speak), and we have the ability to both set passwords and make the group private to limit who can join the group. Users can also use the ignore feature to mute individuals including founders and mods.

The observer list can grow pretty big (in fact I can't remember if we ever purge it at some limit) so it probably wouldn't be a good idea to implement auto-observer-on-join without first resolving that issue. That list gets synced between peers, so limiting its size is important if you're going to be growing it indefinitely.