.. include:: ./vars.rst Role ==== Represents data for a Server Role. -------- Attributes ---------- position ~~~~~~~~ `Number`, position of the role when viewing the roles of a server. name ~~~~ `String`, name of the role. managed ~~~~~~~ `Boolean`, whether Discord has created the role itself. Currently only used for Twitch integration. id ~~ `String`, ID of the role. hoist ~~~~~ `Boolean`, whether the role should be displayed as a separate category in the users section. color ~~~~~ `Number`, a base 10 colour. Use ``role.colorAsHex()`` to get a hex colour instead. server ~~~~~~ The Server_ the role belongs to. client ~~~~~~ The Client_ that cached the role. createdAt ~~~~~~~~~ A `Date` referring to when the role was created. Functions --------- serialise() ~~~~~~~~~~~ **Aliases:** `serialize` Makes an object with the permission names found in `Permission Constants`_ and a boolean value for them. hasPermission(permission) ~~~~~~~~~~~~~~~~~~~~~~~~~ Sees whether the role has the permission given. - **permission** - See `Permission Constants`_ for valid permission names. colorAsHex() ~~~~~~~~~~~~ Returns the role's colour as hex, e.g. ``#FF0000``. mention() ~~~~~~~~~ Returns a valid string that can be sent in a message to mention the role. By default, ``role.toString()`` does this so by adding a role object to a string, e.g. ``role + ""``, their mention code will be retrieved. If the role isn't mentionable, its name gets returned. delete() ~~~~~~~~ | **Shortcut of** ``client.deleteRole(role)`` | **See** client.deleteRole_ update(data) ~~~~~~~~~~~~ | **Shortcut of** ``client.updateRole(role, data)`` | **Aliases** `edit` | **See** client.updateRole_ addMember(member, `callback`) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | **Shortcut of** ``client.addMemberToRole(member, roles, callback)`` | **Aliases** `addUser` | **See** client.addMemberToRole_ removeMember(member, `callback`) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | **Shortcut of** ``client.removeMemberFromRole(member, roles, callback)`` | **Aliases** `removeUser` | **See** client.removeMemberFromRole_ .. _client.deleteRole : ./docs_client.html#deleterole-role-callback .. _client.updateRole : ./docs_client.html#updaterole-role-data-callback .. _client.addMemberToRole : ./docs_client.html#addmembertorole-member-role-callback .. _client.removeMemberFromRole : ./docs_client.html#removememberfromrole-member-role-callback