Accueil et vérification des nouveaux membres
À chaque arrivée sur le serveur, le bot publie un message de bienvenue personnalisé dans le salon choisi par l'administrateur.
Un second mécanisme, optionnel, ajoute une épreuve à l'arrivée : le nouveau membre doit réagir avec un emoji précis, tiré au hasard par le bot, pour obtenir le rôle d'accès. Réagir avec le mauvais emoji entraîne son expulsion du serveur.
Le message de bienvenue
Le salon de destination se choisit dans le tableau de bord, module Accueil. Le message est envoyé dès que Discord signale l'arrivée du membre. Les comptes de bots ajoutés au serveur sont ignorés.
La vérification par réaction
Lorsque la vérification est activée, l'arrivée d'un membre déclenche la publication d'une demande dans le salon de vérification, adressée nommément à l'arrivant. Le bot y annonce l'emoji avec lequel réagir, puis ajoute lui-même cet emoji d'acceptation et un emoji de refus.
L'emoji d'acceptation est tiré au hasard à chaque arrivée parmi plusieurs, et c'est là que réside le filtre : un script qui réagit à tout, ou qui a appris un emoji fixe, tombe sur celui de refus.
Seule la personne visée peut déclencher l'action — le bot compare l'auteur de la réaction à celui de la demande et ignore toute autre. Bonne réaction : le rôle d'accès est attribué et la demande supprimée. Mauvaise réaction : le membre est expulsé du serveur.
Tant que la vérification n'a pas eu lieu, le membre reste sans rôle et ne voit que les salons ouverts à tous. La configuration des permissions du serveur reste ce qui détermine réellement ce qu'il peut voir.
Mettre en place le filtre correctement
- Retirer au rôle @everyone l'accès en lecture aux salons du serveur, à la seule exception du salon de vérification.
- Laisser ce salon de vérification visible de tous, arrivants compris : c'est là qu'ils doivent réagir, et le rendre privé rendrait le module inopérant.
- Créer un rôle d'accès disposant des permissions de lecture et d'écriture normales, et le désigner dans le tableau de bord.
- Placer le rôle du bot au-dessus du rôle d'accès dans la hiérarchie, faute de quoi Discord lui refusera l'attribution.
- Donner au bot la permission d'expulser des membres : un échec de vérification se solde par une expulsion.