ircv3 / ircv3-ideas

46 stars 3 forks source link

Ban descriptions #118

Open k4bek4be opened 6 months ago

k4bek4be commented 6 months ago

This feature has been suggested by channel operators multiple times. I now have an idea how this may work. Each channel list mode (typically, +beI) would have an optional text description field. This text would be preferably human-readable, but machine-readable (for parsing by clients) is a possibility too. I'll use bnote (ban note) message tag in my examples. When a channel operator requests a list (/mode #channel b), these entries which have a description, would be tagged with it.

C: mode #channel b
S: :test.example.org 367 testtest #channel someuser!*@* setter 1697420000
S: @bnote=Users\sof\sthis\sbouncer\skeep\smaking\strouble :test.example.org 367 testtest #channel *!*@badhost.example.org setter 1697422222
S: :test.example.org 368 testtest #channel :End of Channel Ban List

When the mode is being set, the note tag can be added to it: @bnote=Testban MODE #channel +b *!*@*

To modify or delete an existing note, or add a new one, a client would have to re-send this MODE command: @bnote MODE #channel +b *!*@badhost.example.org

Please comment if you have some better ideas or I've missed something obvious.

SadieCat commented 6 months ago

How would this work with setting multiple list modes at once?

k4bek4be commented 6 months ago

The simplest (and probably acceptable) solution would be to set the same note to all added entries.