# Roles & Permissions

`AmityClient` class provides a method `hasPermission` which allows you to check if the current logged-in user has permission to do stuff in a given channel.

We determine a user's moderation capabilities based on their current role. social.plus SDK has the following default roles:

1. **Member** - has no moderation privileges
2. **Community/Channel Moderator** - can assert general moderation privileges on other users
3. **Super Moderator** - can assert general moderation privileges and be exempt from moderation from other users
4. **Global Admin** (Admin Only) - can assign the roles of others, assert all moderation privileges, and be exempt from moderation

A user's role can be changed via the Console. Refer to [Moderation, Roles & Privileges](https://docs.social.plus/analytics-and-moderation/console/moderation-roles-and-privileges#change-user-role) for the instructions on how to change a user's role.

{% hint style="warning" %}
The Global Admin role cannot be assigned to a user.
{% endhint %}

Below are tables for each category that show the default roles and permissions. You can create new roles and assign a specific set of permissions for each role in the SP Console. Refer to [Moderation, Roles & Privileges](https://docs.social.plus/analytics-and-moderation/console/moderation-roles-and-privileges#create-role).

### User

<table><thead><tr><th width="228">Permission</th><th width="146" align="center">Global Admin</th><th width="173" align="center">Super Moderator</th><th width="215" align="center">Community Moderator</th><th width="188" align="center">Channel Moderator</th></tr></thead><tbody><tr><td>SP Console Access</td><td align="center">✅</td><td align="center">✅</td><td align="center">❌</td><td align="center">❌</td></tr><tr><td>Create, Edit, &#x26; Delete, Roles</td><td align="center">✅</td><td align="center">✅</td><td align="center">✅</td><td align="center">✅</td></tr><tr><td>Ban &#x26; Edit User*</td><td align="center">✅</td><td align="center">❌</td><td align="center">❌</td><td align="center">❌</td></tr><tr><td>Exempt from filters</td><td align="center">✅</td><td align="center">✅</td><td align="center">❌</td><td align="center">❌</td></tr><tr><td>Exempt from rate limits</td><td align="center">✅</td><td align="center">✅</td><td align="center">❌</td><td align="center">❌</td></tr><tr><td>Exempt from mute</td><td align="center">✅</td><td align="center">✅</td><td align="center">❌</td><td align="center">❌</td></tr><tr><td>Exempt from ban</td><td align="center">✅</td><td align="center">✅</td><td align="center">❌</td><td align="center">❌</td></tr><tr><td>Exempt from blacklist &#x26; whitelist</td><td align="center">✅</td><td align="center">✅</td><td align="center">❌</td><td align="center">❌</td></tr><tr><td>Exempt from repitition check</td><td align="center">✅</td><td align="center">✅</td><td align="center">❌</td><td align="center">❌</td></tr></tbody></table>

*\*UserV3*

### Channel

<table><thead><tr><th width="254">Permission</th><th width="183" align="center">Global Admin</th><th width="178" align="center">Super Moderator</th><th align="center">Community Moderator</th><th width="188" align="center">Channel Moderator</th></tr></thead><tbody><tr><td>Edit, Ban, Add, Remove, &#x26; Mute Channel User *</td><td align="center">✅</td><td align="center">✅</td><td align="center">❌</td><td align="center">✅</td></tr><tr><td>Edit &#x26; Mute Channel*</td><td align="center">✅</td><td align="center">✅</td><td align="center">❌</td><td align="center">✅</td></tr><tr><td>Edit &#x26; Delete Message*</td><td align="center">✅</td><td align="center">✅</td><td align="center">❌</td><td align="center">✅</td></tr><tr><td>Edit Channel Rate Limit*</td><td align="center">✅</td><td align="center">❌</td><td align="center">❌</td><td align="center">❌</td></tr><tr><td>Ban, Mute, Rate limit, &#x26; Manage Users</td><td align="center">✅</td><td align="center">✅</td><td align="center">❌</td><td align="center">✅</td></tr><tr><td>Mute Channels</td><td align="center">✅</td><td align="center">✅</td><td align="center">❌</td><td align="center">✅</td></tr><tr><td>Rate Limit Channels</td><td align="center">✅</td><td align="center">✅</td><td align="center">❌</td><td align="center">✅</td></tr><tr><td>Manage Messages</td><td align="center">✅</td><td align="center">✅</td><td align="center">❌</td><td align="center">✅</td></tr><tr><td>Global Access</td><td align="center">✅</td><td align="center">✅</td><td align="center">❌</td><td align="center">❌</td></tr></tbody></table>

\**ChannelV3*

### Community

<table><thead><tr><th width="254">Permission</th><th width="183" align="center">Global Admin</th><th width="178" align="center">Super Moderator</th><th align="center">Community Moderator</th><th width="188" align="center">Channel Moderator</th></tr></thead><tbody><tr><td>Create, delete, Edit Community Categories</td><td align="center">✅</td><td align="center">✅</td><td align="center">✅</td><td align="center">❌</td></tr><tr><td>Edit &#x26; Delete Communities*</td><td align="center">✅</td><td align="center">✅</td><td align="center">✅</td><td align="center">❌</td></tr><tr><td>Edit, Add, Ban, &#x26; Remove Community Users*</td><td align="center">✅</td><td align="center">✅</td><td align="center">✅</td><td align="center">❌</td></tr><tr><td>Edit, Delete, &#x26; Review Community Posts*</td><td align="center">✅</td><td align="center">✅</td><td align="center">✅</td><td align="center">❌</td></tr><tr><td>Edit &#x26; Delete Community Comments*</td><td align="center">✅</td><td align="center">✅</td><td align="center">✅</td><td align="center">❌</td></tr><tr><td>Manage Community</td><td align="center">✅</td><td align="center">✅</td><td align="center">✅</td><td align="center">❌</td></tr><tr><td>Manage Community Stories</td><td align="center">✅</td><td align="center">✅</td><td align="center">✅</td><td align="center">❌</td></tr></tbody></table>

*\*CommunityV3*

There is no limit to the number of moderators in a community. If there are 100 members in the community, all 100 members can be promoted to moderator. Promoting a user to a community-level moderator can be done using the [Update Role API](https://apidocs.dev.amity.co/#/Role/put_v3_roles__roleId) or through the SDK.

### User Feed, Posts, Comments, & Notifications

<table><thead><tr><th width="254">Permission</th><th width="183" align="center">Global Admin</th><th width="178" align="center">Super Moderator</th><th align="center">Community Moderator</th><th width="188" align="center">Channel Moderator</th></tr></thead><tbody><tr><td>Edit &#x26; Delete User Feed Post</td><td align="center">✅</td><td align="center">✅</td><td align="center">✅</td><td align="center">❌</td></tr><tr><td>Edit &#x26; Delete User Feed Comment</td><td align="center">✅</td><td align="center">✅</td><td align="center">✅</td><td align="center">❌</td></tr><tr><td>Manage Posts &#x26; Comments</td><td align="center">✅</td><td align="center">✅</td><td align="center">✅</td><td align="center">❌</td></tr><tr><td>Manage Network Settings</td><td align="center">✅</td><td align="center">✅</td><td align="center">✅</td><td align="center">✅</td></tr></tbody></table>

## Permissions

Each role can be assigned with many permissions. Below is a list of all the possible permissions that can be assigned to a user.

<table data-header-hidden><thead><tr><th width="238.33333333333331">Source</th><th width="284">Permission</th><th>Description</th></tr></thead><tbody><tr><td>Source</td><td>Permission</td><td>Description</td></tr><tr><td><strong>Channel</strong></td><td><code>MUTE_CHANNEL</code></td><td>Can mute/unmute channel</td></tr><tr><td></td><td><code>CLOSE_CHANNEL</code></td><td>Can close channel</td></tr><tr><td></td><td><code>EDIT_CHANNEL</code></td><td>Can edit channel</td></tr><tr><td></td><td><code>EDIT_CHANNEL_RATELIMIT</code></td><td>Can set rate limit of channel</td></tr><tr><td></td><td><code>EDIT_MESSAGE</code></td><td>Can edit all messages</td></tr><tr><td></td><td><code>DELETE_MESSAGE</code></td><td>Can delete all messages</td></tr><tr><td></td><td><code>BAN_CHANNEL_USER</code></td><td>Can ban/unban user from channel</td></tr><tr><td></td><td><code>MUTE_CHANNEL_USER</code></td><td>Can mute/unmute user in channel</td></tr><tr><td></td><td><code>ADD_CHANNEL_USER</code></td><td>Can add users to channel</td></tr><tr><td></td><td><code>REMOVE_CHANNEL_USER</code></td><td>Can add remove user from channel</td></tr><tr><td></td><td><code>EDIT_CHANNEL_USER</code></td><td>Can edit users in channel</td></tr><tr><td><strong>User</strong></td><td><code>BAN_USER</code></td><td>Can global ban/unban user</td></tr><tr><td></td><td><code>EDIT_USER</code></td><td>Can edit users</td></tr><tr><td></td><td><code>ASSIGN_USER_ROLE</code></td><td>Can assign role to users</td></tr><tr><td><strong>User feed</strong></td><td><code>EDIT_USER_FEED_POST</code></td><td>Can edit all posts on user feed</td></tr><tr><td></td><td><code>DELETE_USER_FEED_POST</code></td><td>Can delete all posts in user feed</td></tr><tr><td></td><td><code>EDIT_USER_FEED_COMMENT</code></td><td>Can edit all comments on user feed</td></tr><tr><td></td><td><code>DELETE_USER_FEED_COMMENT</code></td><td>Can delete all comments in user feed</td></tr><tr><td><strong>Community</strong></td><td><code>ADD_COMMUNITY_USER</code></td><td>Can add users to community</td></tr><tr><td></td><td><code>REMOVE_COMMUNITY_USER</code></td><td>Can remove users from community</td></tr><tr><td></td><td><code>EDIT_COMMUNITY_USER</code></td><td>Can edit users in community</td></tr><tr><td></td><td><code>BAN_COMMUNITY_USER</code></td><td>Can ban users in community</td></tr><tr><td></td><td><code>MUTE_COMMUNITY_USER</code></td><td>Can mute users in community</td></tr><tr><td></td><td><code>EDIT_COMMUNITY</code></td><td>Can edit community</td></tr><tr><td></td><td><code>DELETE_COMMUNITY</code></td><td>Can delete community</td></tr><tr><td></td><td><code>EDIT_COMMUNITY_POST</code></td><td>Can edit all posts in community feed</td></tr><tr><td></td><td><code>DELETE_COMMUNITY_POST</code></td><td>Can delete all posts in community feed</td></tr><tr><td></td><td><code>EDIT_COMMUNITY_COMMENT</code></td><td>Can edit all comments in community feed</td></tr><tr><td></td><td><code>DELETE_COMMUNITY_COMMENT</code></td><td>Can delete all comments in community feed</td></tr><tr><td></td><td><code>REVIEW_COMMUNITY_POST</code></td><td>Can review community post</td></tr><tr><td></td><td><code>MANAGE_COMMUNITY_STORY</code></td><td>Can create and delete community story</td></tr><tr><td><strong>Community Category</strong></td><td><code>CREATE_COMMUNITY_CATEGORY</code></td><td>Can create new community categories</td></tr><tr><td></td><td><code>EDIT_COMMUNITY_CATEGORY</code></td><td>Can edit community categories</td></tr><tr><td></td><td><code>DELETE_COMMUNITY_CATEGORY</code></td><td>Can delete community categories</td></tr><tr><td><strong>Network</strong></td><td><code>CREATE_ROLE</code></td><td>Can create new roles</td></tr><tr><td></td><td><code>EDIT_ROLE</code></td><td>Can edit roles</td></tr><tr><td></td><td><code>DELETE_ROLE</code></td><td>Can delete roles</td></tr><tr><td><strong>Notification</strong></td><td><code>MANAGE_NOTIFICATION_NETWORK_SETTING</code></td><td>Can manage notification settings</td></tr></tbody></table>
