> For the complete documentation index, see [llms.txt](https://twilite.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://twilite.gitbook.io/docs/features/role-menus.md).

# Role Menus

Role Menus provide a way for you to offer self-assignable Roles for your Server's Members.

TwiLite offers an easy-to-setup Role Menu module, which makes use of Buttons (not Reactions or Dropdowns/Selects) that your Members use to self-grant and/or self-revoke specific Roles.

To setup or manage a Role Menu, simply use TwiLite's `/rolemenu` Slash Command *within the Channel you want your Menu to be created in.*

{% hint style="info" %}
The Role Menus Module is only avaliable when adding TwiLite to Servers.
{% endhint %}

<figure><img src="https://167742427-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMCOHyO7qvw0fiZbGDBC9%2Fuploads%2FZLk9lqdPNxpIrOT6jd2B%2Fimage.png?alt=media&amp;token=da6b72f2-2528-4290-a55a-5310c80fb986" alt=""><figcaption><p>Example of a Role Menu made with TwiLite</p></figcaption></figure>

For this Module to work, the following requirements **must** be met:

* You must have permissions to use the Role Menu commands in order to setup or manage Menus
  * *(By default, this is tied to the "Manage Roles" Permission. However, the Command's permissions can be changed via Server Settings -> Integrations -> TwiLite, on Desktop/Web versions of Discord)*
* TwiLite must have the "Manage Roles" Permission in the Server
* TwiLite must also have, at minimum, the "View Channel" **and** "Send Messages" Permissions for the Channel you want to create the Menu in.
  * Additionally, TwiLite requires the "View Message History" Permission to be able to edit already-created Menus.
* TwiLite's highest Role must be *above* all Roles you wish to add to your Role Menus, in order for TwiLite to be able to grant/revoke them for your Members
* TwiLite's Role Menus can only be created in Text Channels, but can also be made in Public Threads and Forum Posts if your Server has TwiLite's Inferno subscription active.

If all the requirements are met, you can make as many Role Menus as you'd like for your Server's Members!

<figure><img src="https://167742427-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMCOHyO7qvw0fiZbGDBC9%2Fuploads%2FRYypP5ycsDeLX20uqamW%2FPACu0Nee9z.gif?alt=media&amp;token=f623d569-7fd3-4d33-81b3-602053abcd94" alt="" width="563"><figcaption><p>Demo of creating a Role Menu using TwiLite</p></figcaption></figure>

TwiLite provides a healthy range of customisation for your Role Menus. During setup/management, you can edit any of the following for any Role Menu:

* The Menu's type (affects the behaviour of the Menu in question)
* Details of the Menu (Title, Description, sidebar colour)
* The Roles added to the Menu (with custom Button labels for each)
  * *(Up to 15 Roles can be added per Menu)*
* Any Requirements to use the Menu
  * *If a Menu as Requirements set, than only Members with those Roles listed can use the Menu. Members with the "Admin" Permission, and the Server's Owner, bypass these Requirements.*
  * *(Up to 5 Requirements can be set per Menu)*

Currently, TwiLite offers three types of Role Menus, each designed for different possible use-cases.\
These are described in the following sections.

***

### Menu Type: Toggle (aka Classic)

The Toggle type is the most common form of Role Menus.

These allow your Members to self-grant/revoke any Roles on that Menu, including being able to self-grant multiple Roles from the same Toggle-type Menu.

In other words: Behaves like a classic Reaction Role Menu would from other Discord Bots.

***

### Menu Type: Swappable

Swappable-type Menus only allow your Members to self-grant *one* Role per Swappable-type Menu.

Should your Member try to self-grant a different Role on the same Menu, TwiLite will instead swap the two Roles on the Member (revoking the first Role and granting the newly selected Role).

Your Members can still self-revoke their selected Role from these Menus.

A common use-case for Swappable-type Menus are for cosmetic Role Menus (such as "Colour Roles", etc).

***

### Menu Type: Single-use

Single-use Menus only allow your Members to use that Menu *once*.

This means Members can self-grant *one* (and only *one*) Role per Single-use Menu.\
Once granted, that Member is no longer able to swap out or self-revoke that Role again from the same Single-use Menu.

A common use-case for Single-use Menus are for Team Roles in community events, or even as an extremely basic 'verification gate' should your Server want that.
