Conditions
Un node Condition vérifie une ou plusieurs conditions, puis suit sa sortie Oui ou Non. Pour plus de deux cas, enchaîne plusieurs Conditions.
Une condition
Dans le panneau de propriétés, une condition se lit comme une phrase : la valeur vérifiée, la condition, puis ce qu'elle demande.
| Pour une valeur de type | Conditions proposées |
|---|---|
| Nombre | est égal à, n'est pas égal à, est supérieur à, est au moins, est inférieur à, est au plus, est l'un de |
| Texte | est égal à, contient, commence par, se termine par, correspond au motif, est l'un de… |
| Date | est avant, est après, remonte à plus de, remonte à moins de (minutes, heures, jours, semaines, mois, années) |
| Liste | contient, ne contient pas |
| Membre | a le rôle, n'a pas le rôle, a la permission, n'a pas la permission |
| Toutes | est vide, n'est pas vide |
Le menu ne propose que ce qui a un sens pour la valeur choisie. Pour une valeur dont le type n'est connu qu'à l'exécution (une Variable), il propose tout.
Une valeur écrite telle quelle prend le type de ce qu'on compare : 18 à côté d'un nombre est un nombre, true à côté de vrai ou faux est un booléen. Une valeur insérée garde son type : un nombre n'est jamais égal à un texte, même 21 et "21". Voir Expressions.
Vérifier un membre
« A le rôle » et « a la permission » vérifient un membre venu de Discord : celui qui a déclenché l'Event (proposé par défaut), la cible d'un menu contextuel, une option « utilisateur » d'une commande. Jamais un texte, même un identifiant : n'importe qui pourrait écrire celui d'un administrateur dans un modal. Un administrateur a toutes les permissions.
Formule
L'onglet Formule remplace la condition par une formule qui donne vrai ou faux, avec and, or, not et les comparaisons : {{ niveau >= 5 and not banni }}, ou {{ random(1, 100) <= 30 }} pour une chance sur trois.
Plusieurs conditions
Ajouter une condition crée un groupe « Toutes ces conditions » et ouvre le canvas des conditions. Un groupe est vrai quand toutes ses conditions sont vraies, ou au moins une. Il peut contenir d'autres groupes, et s'inverser en entier : « aucune de ces conditions », « pas toutes ». Dans le panneau, le groupe se lit en phrases. Dans la fenêtre des conditions, clique sur une condition ou un groupe du canvas pour le régler à droite ; Annuler remet les conditions comme à l'ouverture.
Quand une condition ne peut pas être vérifiée
L'éditeur signale avant le test ou le déploiement une condition qui ne peut pas marcher : un texte comparé à un nombre, un motif invalide, un membre qui ne vient pas de Discord. Si une condition ne peut quand même pas être vérifiée à l'exécution (une Variable qui contient du texte là où il faut un nombre), l'exécution s'arrête en erreur, avec son message dans les Exécutions, plutôt que de suivre « Non » en silence.
Suivre « Non » n'est pas un échec : l'exécution compte comme réussie, et son détail dit en une phrase comment la Condition a répondu, avec les valeurs comparées (« « reset » n'est pas égal à « gagner » »).
Un motif suit la syntaxe RE2, 500 caractères au plus : les assertions comme (?=…) et les références arrière comme \1 ne sont pas prises en charge.