Not an issue for a specific feature, but I'd like to collect some thoughts about permissions here. We already discussed the difference between bot_admins (responsible for running the bot, support, fixing problems..), and server admins, which every user can become on its own server. Generally, server admins should be able to do whatever they want, but only on their servers. Things like logging, bug reports, backups should be only allowed for bot admins. Should we call them developers or devs, to avoid confusion?
On the user side I'd further distinguish between group owners, group members and everyone else. It would be nice to have some simple permission checks for each of this. At least is_owner(group, user), is_player(group, user), is_dev(user), is_admin(guild, user).
developer
full control over bot data (all guilds, logs etc..)
probably access to config
bot language (maybe multi language per instance will be available at some point than this can be moved to admin)
gets messages on errors/ bug reports
hardcoded discord user id's in settings.yml
admin
full control over discord guild
read/edit data related to own guild
create remove channels, rename categories, edit roles, set default channels, edit/purge groups
set by discord permissions / server settings
group owner (gm)
(some) control over channels in groups category
read/edit data related to own group
create and modify channels in own category, remove players etc..
promoting new GMs?
set by creating a group using the bot
player
see detailed group info (maybe add an internal description?)
Not an issue for a specific feature, but I'd like to collect some thoughts about permissions here. We already discussed the difference between bot_admins (responsible for running the bot, support, fixing problems..), and server admins, which every user can become on its own server. Generally, server admins should be able to do whatever they want, but only on their servers. Things like logging, bug reports, backups should be only allowed for bot admins. Should we call them developers or devs, to avoid confusion? On the user side I'd further distinguish between group owners, group members and everyone else. It would be nice to have some simple permission checks for each of this. At least
is_owner(group, user)
,is_player(group, user)
,is_dev(user)
,is_admin(guild, user)
.developer
admin
group owner (gm)
player