UnifierHQ / unifier

A cross-server and cross-platform bridge bot that works just as fast as you can type 🚀
https://wiki.unifierhq.org
GNU Affero General Public License v3.0
12 stars 17 forks source link

Implement private rooms & rewrite some config.py commands #153

Closed greeeen-dev closed 3 months ago

greeeen-dev commented 4 months ago

Checklist

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

Originally I refrained from making this suggestion because I thought I'd need to rewrite quite a lot of stuff, I decided to open it now. Thanks to recent upgrades making Unifier more modular than ever, I can now implement this easily. (I could implement this as a Plugin if I wanted to! But I'd rather not do that for things like these, I'd rather implement that to the bot itself.)

Anyways, all Unifier rooms as of now are global, i.e. any server can join them. Servers can't create their own private rooms to bridge between specific servers.

Describe the solution you'd like

Add private rooms to Unifier.

Describe alternatives you've considered

Making a Plugin :P

Additional context

Not sure whether I should release this for v2.0.7 or v2.0.8...v2.0.7 is already one hell of a release already.

Or might as well merge them into a v2.1.0, if I'm gonna release them for v2.0.7. Who knows.

greeeen-dev commented 4 months ago

:warning: IMPORTANT CONTEXT :warning:

Bot moderators will be able to bind to private rooms, and they will be able to access reported messages. This is for safety reasons, so moderators can ensure servers don't misuse the instance.

Instance owners will probably NOT want their instance to be used to plan raids, leak confidential information, etc. unless the owner is one of the certain people I know that are still crying to this day over a ban, so I want moderators to be able to protect communities linked to private rooms.

greeeen-dev commented 3 months ago

Todo

greeeen-dev commented 3 months ago

I'll just rewrite room management commands entirely, they've been pretty much untouched since the v0.x era (except for when I had to port Unifier to Nextcord for v2). These commands were NOT built for this level of flexibility.

greeeen-dev commented 3 months ago

base is done, will continue to iterate as we develop v3