Créer des select-menus sur son bot Discord avec Sheweny

Nous allons voir comment créer un bot discord avec Discord.js v13 et Sheweny

Niveau Intermédiaire
11 minutes de lecture
Créer un bot discord avec DiscordJS et Sheweny

Bienvenue dans ce nouveau chapitre sur la création et l'utilisation de select-menus. Ce chapitre fait partie d'une série de tutoriels. Bien qu'il soit possible de la suivre sans avoir lu les chapitres précédents, il est conseillé de les lire avant de commencer ce chapitre.

Introduction aux select-menus

Depuis l'année derrière, les select-menus ont été introduits par discord. Ils permettent d'intéragir avec nos utilisateurs de façon conviviale grâce à leur simplicité et leur aspect graphique. Les select-menus peuvent êtres envoyés sous n'importe quel message du bot sauf les messages éphémères (ephemeral).

Modification de notre client

Comme pour les événements, l'utilisation des select-menus nécéssite l'ajout d'un manager Sheweny pour charger nos différents select-menus. Si ce n'est pas déjà fait, vous pouvez créer un dossier select-menus dans la structure de votre bot et modifier le client comme suit :

Envoi d'un select-menu dans un message

Pour envoyer un select-menu dans un message il est nécéssaire de le construire (comme un message embed).
Cependant, il est nécéssaire de comprendre comment les select-menus et les composants d'une manière générale sont construits sur discord : Il est possible d'ajouter des lignes d'actions à nos messages, jusqu'à 5 lignes d'actions par message. Ensuite sur chaque ligne d'action, il est possible d'ajouter des composants.
Les composants sont des boutons, des inputs, des select-menus etc. Chaque composant prend une place définie :

  • Les boutons prennent une place de 1
  • Les select-menus prennent une place de 5
  • Les inputs prennent une place de 5 Il est possible d'ajouter jusqu'à 5 places de composants par lignes d'actions.
    Vous suivez ?
    En clair vous pouvez ajouter jusqu'à 25 boutons par message (5 lignes de 5 select-menus), 5 select-menus (5 lignes de 1 select-menu) et 5 inputs (5 lignes de 1 input).

Construction sur discord

Nous allons créer une commande pour illustrer cette construction.

On voit que dans un premier temps on crée un select-menu, on lui donne un identifiant puis des options (des valeurs possibles) et enfin on lui donne un placeholder (un texte grisé).
Ensuite on crée une nouvelle ligne d'action et on ajoute le select-menu à cette ligne d'action.
Enfin on envoie le message avec le select-menu.
Vous pouvez en savoir plus en lisant le guide de discord.js qui est très bien fait : discordjs.guide/interactions/select-menus

Recevoir un select-menu

Nous allons maintenant voir comment recevoir un select-menu. Si vous vous souvenez du chapitre précédent sur les événements ou les boutons, vous verrez que c'est quasiment le même processus. Dans notre dossier /selectmenus nous allons créer un fichier pour recevoir notre select-menu :

Note: Pour une utilisation plus avancée il est possible d'utiliser des expressions régulières et même des cooldowns, voyons un exemple ensemble :

Conclusion

Dans ce chapitre nous avons appris à utiliser des select-menus avec Sheweny. Après ce chapitre vous êtes maintenant capables :

  • De créer des select-menus et les envoyer dans des messages
  • De recevoir des select-menus
  • D'utiliser des expressions régulières pour recevoir des select-menus et d'ajouter des cooldowns

Rejoindre la communauté de développeurs

Rejoins notre communauté de développeurs pour progresser et t'améliorer

Passer au chapitre suivant :