cabal-club / cabal-client

interface for writing peer-to-peer chat clients
GNU General Public License v3.0
95 stars 14 forks source link

Channel-specific moderation actions #73

Closed cblgh closed 3 years ago

cblgh commented 3 years ago

When this PR is finished+merged, we will have full support for taking moderation actions in specific channels (as opposed to the broader cabal).

Before this PR, the syntax for e.g. hiding was:

/hide <person.suffix> <reason string>

After this PR, the above will still be supported, as well as extended to allow:

/hide <person.suffix> --reason <reason string> --channel <channel name>

I am currently mulling over allowing multiple --channel options in a single command:

/ hide <person.suffix> --reason <reason string> --channel ch1 --channel ch2 --channel ch3

You can also omit either flag (--reason, --channel) and it will still work.

todrobbins commented 3 years ago

Is this syntax hiding only within the tagged channels or just adding metadata that the person was hidden because of activity in a particular channel? Am I making sense?

cblgh commented 3 years ago

@todrobbins you are making sense! it is to hide the person in the specified channel

/hide devtroll.134f --channel cabal-dev hides the person devtroll in the channel cabal-dev (but none of the others)

todrobbins commented 3 years ago

Neat! So without the --channel flag the end user will hide the person from all views?

cblgh commented 3 years ago

yup :) which is the default (and only) case atm in cabal

cblgh commented 3 years ago

Update: since other moderation actions also have support for a channel parameter, merging this PR means that moderation commands issued with slash-commands will now be able to be set on a channel-by-channel basis. The error messages have also been updated to reflect this & signal to the user that "hey, maybe that person is only modded in this channel".