- August 24, 2017 at 11:48 am #6531
I’m planning to review the role & permission structure on discord a bit. The main problem is ownership: there can be currently only one owner of the channel (this was nop, who recently asked me to take it over). I’m writing this here to document the way discord permissions and roles work as a reference for myself and others (this is explained on the web but it’s not so clear), to document how these permissions are set up on our server, and also to discuss plans and elicit your thoughts whether what is the best fit for our crew.
So, first there are roles. We have as roles, currently (in order, but you can ignore the order for now):
* Player of the week
* Swag of the week
And we have, let’s say, abilities:
* read messages
* write messages
* move people across channels
* change people’s nicknames
* kick people
* ban people
Now for every role and every ability, there is a server-wide setting, which can be “allow” or “deny”. For instance, the “everyone” role has “allow” for reading and writing messages. If you are assigned a role (you’re automatically have at least the “everyone” role), then you have every ability for which at least one assigned role has “allow”. So you are only denied abilities for which all your roles say “deny”.
This has the following consequence: because everyone has the everyone ability, the ETCL role only needs to enable those abilities which aren’t already enabled for everyone. Similarly, because every Commissioner is also in ETCL, the Commissioner role only needs to enable abilities that aren’t already enabled by everyone and ETCL. And because player of the week, swag of the week, and GOD are purely aesthetic, they don’t need to enable any ability at all (except the ability “show the role separately in the list of online people”).
Now, for some channels, we want to override the server-wide permissions. The way this works, is that for every channel, you can choose specific roles for which you want to override the base permissions. Basically, for every channel, per role you’ve listed, discord has a setting for every ability which can be “allow”, “default”, or “deny”. If the role is not listed, then “default” applies to all abilities for that role in that channel. Now, if you have at least one role and ability in the channel which says “allow”, then you will have that ability (even if it is set to “deny” for some of your other roles, and even if your server-wide permission is “deny”). If every role that you have has an ability set to “deny” or “default” in the channel, with at least one “deny”, then you will be denied that ability (even if your server-wide permission is “allow”). If neither of these situations occur i.e. this is precisely when all your roles have the ability set to “default” in the channel, then the server-wide permissions apply to this ability.
So, discord first applies channel specific channel permissions by looking at what is set up for the channel, and only if that is unresolved (if all your roles have “default” for this ability), it will apply the server-wide setting.
An example to clarify. For instance, only Commissioners can post stuff in “events”. This is achieved by setting the write ability for everyone to “deny”, and the write ability for Commissioners to “allow”. Everything else can be left on default.
As another example, only ETCL members can write on the snapmatic channel. This is achieved by setting the write ability for everyone to “deny”, and the write ability for ETCL to “allow” (commissioners gain it too because they are all in ETCL as well). Everything else is can be left on default.
A final thing is role ordering. The roles are linearly ordered, and this affects things in two places (as far as I can figure out at least). First, the color your name appears in is the one corresponding to your highest role (therefore player of the week & swag of the week are the top roles, above Commissioner, to ensure people in these roles get the corresponding color on their name). Secondly, if you have the “admin” ability, then you can edit all roles below your current role (so you cannot edit permissions that correspond to your highest role). For example, none of the Commissioners can edit the Commissioner, or the player/swag of the week role, and also cannot create any new roles above Commissioner.
So, one of the first things I’d like to do is to create a new top role called “Admin” separately from the Commissioner role, so that I can assign “ownership” (or the closest thing that comes to ownership) to some other people (e.g. nop and possibly a few more). This would also fix the fact that nobody, except the owner, can edit his/her own top role (because that’s how administrator rights work on discord: an admin can only edit roles of people in the hierarchy below their top role). The only downside of this is that anyone in this group who is also player of the week or swag of the week will not inherit the lovely color that comes with that role, because color is linked to the role hierarchy.
Besides ownership, I’m wondering what sort of permissions commissioners and lieutenants expect to have? Here’s a full list: https://discordapp.com/developers/docs/topics/permissions
Thoughts? Other suggestions?August 24, 2017 at 12:04 pm #6532RoofstoneParticipant
Well we should probably keep the more severe roles to the direct administers and the channel owner. Stuff like muting someone or kicking someone should be a last resort and as such should go to the ‘top brass’ as it were for discussion. Same for stuff like direct managing of the channels and groups.
Things like moving people around and such should be left to the lieutenant equivalent and above, since sometimes we split up and not everyone gets the memo. So it would be nice to have someone we can ask to move people around.
Things like managing names and roles should be left to the owner, possibly one or two direct trustees. That’s never really been an issue, but we never know what might happen in the future.
Things like Text To Speak and @Everyone commands and such I say we should just leave for everyone to be able to use. If anyone spams we can deal with it as it happens. But I doubt it will be a huge issue.August 24, 2017 at 1:54 pm #6536mathilyaParticipant
I will start with TTS command. I must eat humble pie – when I heard Roof using that command I got confused, because I thought discord is going mad. I didn’t realize that sound sythesizer read it like the text was in my home language. After changing it, I found this command very useful, especially for people who don’t use microphone. Moreover, when someone uses TTS, I don’t have to minimize my screen to read that message (and yeah, I don’t use discord overlay). So, no one should fear to use that command, however, I am aware that ingame chat can be still better way of communicating for some players.
Next up, roles. I agree with Roof that things like deafening/muting//kicking/banning/managing channels should be left for commissioners or even the admin, while moving people to other channels or giving other players aesthetic only titles (PotW, SotW) could be available for lieutenants and higher. We have a hierarchy – so we can use it on discord too.
Actually, from now on I won’t say anything new. Overall, it seems like a good solution, which makes discord channel very well organised.August 24, 2017 at 2:07 pm #6537
Thanks both of you! Here’s a suggestion which I think covers everything that has been suggested:
For the moment, I’ve updated the discord permissions to (hopefully, there may be some minor differences still) reflect this. I’m leaning towards granting all commissioners deafen/mute/kick/ban rights since these are pretty standard moderation tools (although we rarely use them), and to leave role and channel management to our fresh new owners group (currently: nop, mathilya, roof, and myself).
I’ll just say and second what has been said already: TTS is absolutely invaluable!August 25, 2017 at 3:41 pm #6544
Just to note that I’ve done some minor updates to the permission matrix document linked above, and I’ve also included our player of the week & swag of the week. Is everyone happy with this state of affairs?
- The forum ‘Feedback & Suggestions’ is closed to new topics and replies.