-
-
Notifications
You must be signed in to change notification settings - Fork 8
Description
If running a Trinity bot on a single room or smallish homeserver, having a single (or hardcoded set of) admins that can manage it is probably not a big deal. However on something the scale of e.g Mozilla's homeserver a static list of admins has some drawbacks:
- They would be a bottleneck
- They would be unable to easily administer it in a private room they were not invited to (as they wouldn't even know those rooms exist)
Ideally Trinity could support some way for room admins (or anyone above some configurable power level) to run admin commands only for the specific rooms they have permission to. I can think of two approaches:
- After resolving the room, Trinity verifies that the user is either a global admin of the bot OR has a high enough power level for the room being operated on. If so, proceed as normal.
- Create a second
!room-admin(name tbd) command that only verifies the calling user's power level in the associated room. The!admincommand would continue to function the exact same.
Approach 1) feels a bit cleaner and doesn't proliferate too many commands. BUT some modules may want to implement functionality that should only be configured by a global admin. Or conversely, leave it entirely up to room admins without global admins interfering. Approach 2) would give us that separation.