Here’s the initial roles + channels plan for Discord. Feedback would be appreciated. There are a couple of downsides to discord in terms of management permissions, detailed below.
Admins are in every single channel and cannot be removed - Solution is to not use the ‘Administrator’ permission and instead give permissions more granularly. Give role named ‘admin-like’ to tech-ops such that they can still do all the usual tech-ops things but don’t have read-access to private channels.
Server Owner is in every single channel and cannot be removed - Can’t be avoided. DAI Foundation owned account will need to be the server owner. Tech-ops says they can put this on a multi-sig as well, such that it requires multiple DAI Foundation members to login.
Cannot invite individual users to a private channel, roles must be setup and given - Can’t be avoided. This is both a positive and a negative. It’s not possible to invite random users to a private channel without giving them an appropriate role, which is frustrating. On the other hand, roles automatically give users access to all the channels they are permissioned for.
Roles have a strict linear hierarchy. Users can be given the ‘manage roles’ permission but then they can adjust all roles below theirs in the linear hierarchy - Can’t be avoided. This one’s pretty annoying because it means it’s hard to safely delegate the ability to change other individuals role permissions. Propose using a similar setup to rocket-chat, and have tech-ops adjust roles upon user request.
|Name||Who Qualifies?||Display in Sidebar||Color?|
|Admin-like||Tech-ops||No||should have color|
|Moderator||GovAlpha Facilitators, GovComms Facilitators, Content Production Facilitators, others as deemed appropriate||No||#231536|
|Core Unit Facilitator||All Core Unit Facilitators||Yes||should have color|
|Mandated Actors||All Core Unit Facilitators + Grandfathered Peeps||No|
|Core Unit Member||Members of specific core unit||No|
|Core Unit Member||Members of any core unit||Yes||should have color|
|Recognised Delegate||Recognised Delegates||Yes||should have color|
|Open Market Committee||MakerDAO Open Market Committee||No|
|MakerDAO||Managed by GovAlpha? Reaches TL on discord? All Core Unit Members, All Recognised Delegates, Long-standing community members.||Yes||#1AAB9B|
|External Media||Whitelisted - none initially||No||should match forum|
|Moderator||Whitelisted - none initially||No|
|Community||Everyone that has passed captcha challenge (other anti-bot stuff?)||Yes||#447AFB|
|Everyone||default, literally anyone that joins the server.||No|
|Category||Name||Read Access||Write Access||Channel Type||Notes|
|Info (?)||Meetings||Community||Core Unit Facilitators||Announce||Place to remind people of meetings.|
|Info (?)||Rules||Everyone||Admin||Rules||Lists server rules.|
|Info (?)||Report||Community||MakerDAO||Text||Place for users to tell moderators who they need to kick/ban|
|Core Unit Internal||Core Unit Name - Private||Member||Text||Private channel for internal Core Unit discussions.|
|General||Governance||Community||Community||Text||Governance related chat.|
|General||Speculation||Community||Community||Text||Price and market talk|
|General||Developers||Community||Community||Text||Development + Integration questions / discussion|
|General||Media Inquiries||MakerDAO, External Media||MakerDAO, External Media||Text||Place for External Media to communicate with / ask questions of the DAO.|
|Core Units||- Core Units -||Community||Admin||Rules||Explains what CU’s are, links to resources, etc.|
|Core Units||Core Unit Name - Public||Community||Community||Text||Public channel for core unit to speak to the community.|
|Working||Tech Ops Request||MakerDAO||MakerDAO||Text||Used to make requests of tech-ops.|
|Foreign Language||Language||Community||Community||Text||Initially Spanish, need to make sure these are moderated.|
Note, there are some private channels in addition to this which I’ve omitted. If you have channels you want to be replicated in discord, please get in touch with me asap - don’t assume they’re going to be there.
Core Unit Name - Public/Private channels are replicated for each core unit. Should be fairly easy to bridge messages between Core Unit Name - Public and a channel on external discord servers operated by said core unit if this is something the Core Unit in question wants.