# Menus de rôles

## C'est quoi un Menu de rôles ?

Anciennement appelés réaction-rôles sur Sharles, ou rôle en clique, rôle-réaction, auto-rôle et autres sur d'autres bots, Sharles possède désormais les :sparkles: **Menus de rôles** :sparkles:.

C'est un moyen **simple** et **moderne** de laisser certains rôles de ton serveur en libre-service à tes membres.

## Comment les mettre en place ?

C'est ni très compliqué, ni très long, il te suffira de trois étapes :

* :bar\_chart: **Création du menu dans le Dashboard**
* :speech\_balloon: **Création du message de Sharles sur lequel installer le menu**
* :tools: **Installation du menu**

### 1. Création du menu de rôle dans le Dashboard

Première étape, se rendre sur le Dashboard. Comme la personnalisation est grande, impossible de faire ça avec des commandes. Donc direction le [**Dashboard**](https://sharles.herokuapp.com/), et dans la catégorie 🎭 **Menus de rôles**.

![](/files/-MiXpsPDfF8y1g0km_L4)

Le gros bouton vert, c'est sur lui que tu dois cliquer ! Cela te créera un nouveau menu tout neuf que tu pourras éditer et personnaliser à ta guise.

![](/files/-MiXqQ1-dLeYHkBeeRqM)

On va essayer de décortiquer tout ce qu'on voit ici :

**🎭 Nouveau menu de rôle**\
C'est l'émoji et le nom du menu. Ces derniers apparaîtront sur le bouton générateur du réel menu qui permettra de choisir ses rôles. Tu ne vois pas à quoi ça sert ? Pas grave, tu pourras le modifier après.

**Couleur du bouton**\
C'est la couleur que prendra le bouton générateur de menu de sélection des rôles. Ça aussi tu pourras toujours le changer plus tard.

**Type de menu**\
Là on est sur quelque chose de plus important. Pour donner accès aux rôles à tes membres deux solutions s'offrent à toi : \
`Un bouton :` En cliquant dessus le membre pourra obtenir un unique rôle ou se le retirer \
`Un menu déroulant :` En cliquant dessus le membre pourra accéder à une liste de rôles et choisir ceux qu'il veut parmi les siens\
Pour ce premier exemple on restera sur `un menu déroulant`, ce que tu utiliseras probablement le plus souvent.

**Nombre max de rôles possédés simultanément**\
Comme on va regarder comment faire avec un menu déroulant, plusieurs rôles seront mis au service pour un même menu. Ainsi il peut être intéressant pour toi de limiter le nombre de rôles qui pourront être pris par le membre. Par exemple si tu as un menu qui permet de s'assigner un genre. Tu ne voudras pas qu'un membre s'en assigne plusieurs, logique ;)

**Rôles disponibles**\
Ce sera la liste des options du menus de rôles, on va voir ça juste en dessous.

Encore un gros bouton vert ?! Tu sais quoi faire 😉 Ce bouton te permet d'ajouter des options à ton menu, c'est indispensable car c'est ici que tu vas spécifier quels rôles feront partie de ton menu. Clique !<br>

![](/files/-MiXuxe8mBHSXhu_lAkJ)

Et nous voilà avec un nouveau cadre à décortiquer !

**Nom de l'option**\
C'est assez clair, c'est ce sur quoi tes membres cliqueront pour sélectionner le rôle. Tu peux le laisser vide si tu veux qu'il y soit affiché automatiquement le nom du rôle que tu associeras à l'option. Juste à côté tu as un sélecteur d'émoji, tu peux donc sélectionner un émoji qui sera affiché à côté du nom de l'option, je te le conseille, c'est stylé de ouf.

**Description**\
Cette dernière sera située juste en dessous du nom de l'option, elle peut renseigner le membre en quelques mots.

**Le rôle**\
Bon pas très dur à deviner, c'est évidemment le rôle qui sera donné si l'option du menu est sélectionnée.

{% hint style="info" %}
Tu peux ajouter jusque **20 options** par menu. Comme tu peux créer jusque **10 menus**, cela te fais un total de **200 rôles** en libre service !&#x20;
{% endhint %}

![](/files/-MiY5yT1wpHnjbyjYa4N)

Et voilà ! J'ai personnalisé un peu mon menu, et j'ai laisser le nom de chaque option vide afin que l'option prenne le nom du rôle. J'ai aussi pensé à enregistrer, c'est toujours mieux ^^. Maintenant on passe à l'étape suivant, il faut un message où placer le menu !

### 2. Création du message de Sharles

Contrairement aux réaction-rôles, les menus de rôles doivent être installés **sur des message de Sharles**. Pas sur un message d'un autre utilisateur, et pas sur un webhook. C'est malheureusement impossible car Sharles doit pouvoir modifier son message afin d'installer le menu de rôle. Enfin bref, comment créer un message avec Sharles ?

Deux solutions !

* **Utiliser la commande `say` :**  Tu peux par exemple faire `/say Sélectionnez vos rôles` afin que Sharles envoie "Sélectionnez vos rôles" dans le salon de la commande.&#x20;
* **Utiliser le générateur de message du Dashboard :** Un poil plus long mais plus personnalisable, il existe le générateur de messages de Sharles. C'est un outil du Dashboard qui permet d'envoyer des messages et des embeds à travers Sharles. Si tu ne t'en ais jamais servi, utilise plutôt la commande `say` pour le moment, tu pourras modifier ton message plus tard. Sinon tu peux t'aider de [**l'article sur le générateur de message**](/fonctionnalites/generateur-de-message.md).

On va faire simple pour le tuto, on va utiliser `say`. Ce qui nous donnera le message ci-dessous, et ce qui amène à l'étape suivante !  L'installation du menu 😉

<div align="left"><img src="/files/-MiY0ble2iyfB6dqc7AT" alt=""></div>

### 3. Installation du menu

Pour installer le menu, pas besoin de commande, c'est encore plus simple  que ça  !

`Clique droit sur le message` → `Applications` → `Gérer menus de rôles`

<div align="left"><img src="/files/-MiY1zw3Y611QowNC3G2" alt=""></div>

{% hint style="info" %}
**Le bouton Applications n'apparait pas ?** \
Regarde ci-dessous comment résoudre le problème.
{% endhint %}

{% content-ref url="/pages/-MiY6bvUINKyQWqSGy8f" %}
[Pas de bouton Applications](/problemes-and-solutions/pas-de-bouton-applications.md)
{% endcontent-ref %}

<div align="left"><img src="/files/-MiYagTFEVmsW2lrmnXk" alt=""></div>

Un bouton ! **Clique !** \
Celui-ci ouvre un menu qui te demande de sélectionner le menu que tu souhaites ajouter au message de Sharles. Tu verras la liste de tes menus et leur date de création respective.

<div align="left"><img src="/files/-MiYcgGn1LAHheHhODOq" alt=""></div>

Une fois ton menu sélectionné, **il est ajouté ! Bravo !** 🥳🎉

<div align="left"><img src="/files/-MiYdENPycucIPZv2cpr" alt=""></div>

Comme tu peux le constater, **la couleur du bouton**, **son nom**, et **l'émoji associé** sont au rendez-vous ;)

<div align="left"><img src="/files/-MiYeJGiMX3iJPywrlpj" alt=""></div>

Et voilà le résultat ! On retrouve bien **l'émoji**, **le nom** et **la description** de chaque option de ton menu. Le message informe aussi du **nombre de rôle max** pour ce menu, qui, pour cet exemple n'est pas limité.

<div align="left"><img src="/files/-MiYezneq5yQfcRgFIyS" alt=""></div>

{% hint style="success" %}
**Et ton menu de rôle est prêt à être utilisé !** Tu veux plus d'informations sur les menus de rôles de type "Bouton" ? Tu peux continuer ta lecture 😜
{% endhint %}

## Autre type de menu (Les menus Bouton)

En plus des menus de rôles de type `Menu déroulant`, il existe les menus de type `Bouton`. Leur avantage ? Ils sont beaucoup **plus simples** à utiliser si tu ne veux mettre qu'**un seul rôle** à disposition.&#x20;

Tu te souviens du premier gros bouton vert ? Tu peux recliquer dessus afin d'ouvrir un nouveau menu. Une fois fait, il faut modifier le **type de menu**, il doit être sur `Bouton`.

![](/files/-MiYmOeUzqfMgP14urG0)

Tout de suite on voit de nouveaux paramètres :

**Action du menu**\
Peut être défini sur `Ajout` ou `Suppression` du rôle au premier clic. Cela définir l'action effectuée sur le membre quand ce dernier interagira avec le bouton du menu.

**Rôle à donner / retirer au clic sur le bouton**\
L'unique rôle qui sera donné ou retiré au membre suivant l'action du menu.

**Menu à double sens**\
Permettra ou non, au membre de réutiliser le bouton du menu pour se retirer le rôle si la première action était définie sur `Ajout`.

![](/files/-MiYo6Qye1XI6sdvhHH_)

Ici j'ai créé un menu de vérification, qui donnera le rôle **Membre** aux membres interagissant avec. Le menu à double sens étant désactivé **ils ne pourront pas se retirer le rôle** après se l'être attribué.

Maintenant on peut l'associer avec notre message créé précédemment. Tu remarqueras assez vite que des nouveaux boutons sont apparus. Ils permettent différents choses :

:eyes: **Mettre à jour les menus du message**\
Met à jour les couleurs, noms, et émojis des boutons générateurs de menus si jamais ils ont été modifiés.\
N'est pas nécessaire pour mettre à jour les options du menu ! Cela se fera tout seul si modifications il y a.

:wastebasket: **Retirer un menu du message**\
Après avoir cliqué sur ce bouton on te demandera simplement de choisir quel menu tu veux retirer du message. Après sélection, le menu sera supprimé du message, mais tu pourras toujours le réintégrer sur un autre message si tu le souhaites.

![](/files/-MiYpKGxf6GNzoE-qRj5)

En suivant la même méthode que pour le menu déroulant, tu peux ajouter le menu de vérification au message de Sharles.

<div align="left"><img src="/files/-MiYr8MUaTz4r295UE2I" alt=""></div>

**UN BOUTON VERT !!!** Bon j'arrête... Mais tu peux quand même cliquer dessus, au moins pour essayer ^^'

<div align="left"><img src="/files/-MiYrHONA2iat2-K4ItQ" alt=""></div>

Ce menu n'étant pas à double sens, il est normal, qu'en recliquant dessus, je ne puisse pas me retirer le rôle.

<div align="left"><img src="/files/-MiYrLhYkUOcPZT7Gww7" alt=""></div>

{% hint style="success" %}
**Fin ! 🎬** \
Tu sais à présent tout sur les menus de rôles, on pourrait même parler d'expert à ton niveau !\
Encore des doutes, un besoin d'aide, des questions ? Rejoins le [**serveur de support**](https://discord.gg/AFQvX6hXEN) !
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sharles.me/fonctionnalites/menus-de-roles.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
