Permissions
This documentation helps you find your way around Lemon Chat's permission system.
Permissions are assigned to a user's identity through server groups. Adding someone to a group changes their permissions.
Server groups apply across the whole server. Channel groups apply only in the channel where they are assigned.
Simple and Advanced are two views of the same permissions. Simple shows Enabled, Disabled and power values. Advanced also shows Negate, Skip and Grant. Switching views does not change the permissions.
Enabled and Disabled
These values control whether a group gives a permission.
Imagine a user has two groups. One enables a permission, and the other disables it. Enabled normally wins, so the user can still do that action. Disabled alone does not take away a permission given by another group. Negate can change this, as explained below.
Power
Some actions also compare your power with a required value. For example, to ban someone with ban protection 100, you need the ban permission enabled and ban power of at least 100.
If your groups give different powers for the same action, the highest value normally wins. None means 0.
Negate, Skip and Grant are advanced settings. They are useful when you need more control over how permissions combine or who can edit them.
Negate
Imagine you want to stop certain people from speaking in a channel, even though their server groups give them enough talk power to speak there.
For example, the channel requires talk power 25. A Members server group gives 50, but you want people assigned to a Listener channel group to have only 10 in that channel.
Giving Listener talk power 10 is not enough on its own: the higher value, 50, would still win. Setting Negate on Listener's talk power makes its value of 10 take priority. The user now has 10 in that channel, so they cannot meet the required 25.
Negate affects only the permission it is set on. If several applicable groups set Negate on that permission, the lowest of those marked values wins. It also works with Enabled and Disabled: Disabled with Negate overrides ordinary Enabled values.
Skip
Now imagine you want moderators to keep their server talk power even when they are assigned to Listener in that channel.
Give the moderator's server group talk power 75 and set Skip on that permission. Their server talk power stays 75, even if Listener gives 10 with Negate. Without Skip, Listener would reduce it to 10.
Skip keeps that server permission from being changed by channel groups. It does not ignore Negate in other server groups, and it does not bypass channel requirements: talk power 75 is still too low for a channel requiring 100.
Grant
Imagine you want someone to edit picture permissions in a group, but leave its ban permissions locked.
Grant is the permission editing power required to change a particular setting. If the editor has permission editing power 50, they can change a picture setting with Grant 25, but cannot change a ban setting with Grant 75.
Without different Grant values, those settings would require the same editing power. The editor still needs permission to edit the group and cannot give permissions or powers they do not have. New permission rows start with Grant 1000.
Full server administrators bypass these group permission checks. Only they can edit groups that use Negate or Skip.
Choose Save changes to apply permission edits. Changing a value or pressing Enter in a permission field does not save it.