Quel bloc choisir ?
Quand plusieurs blocs se ressemblent : où ranger une valeur, quel bloc pour envoyer un message, tirer au hasard, attendre, gérer un rôle.
🧭 Quel bloc choisir ?
Certains blocs se ressemblent : ils ont l'air de faire la même chose, mais chacun répond à un besoin précis. Cette page dit lequel prendre. Dans l'éditeur, une phrase d'aide s'affiche aussi quand tu survoles un bloc de la palette, et sous son titre quand tu le sélectionnes.
🗄️ Où ranger une valeur ?
Trois vraies notions de stockage. Le bon dépend de combien de temps la valeur doit vivre.
| Endroit | Dure combien de temps ? | Pour quoi faire | Comment l'utiliser |
|---|---|---|---|
| Variable d'un flow | Le temps d'une exécution : chaque déclenchement repart de zéro | Calculer, transformer, passer une valeur d'un bloc au suivant — y compris un tableau (une variable à une ligne par élément) | Blocs Définir une variable, Transformer un texte ; se lit avec {nom} |
| Variable du serveur ou Mémoire | Conservée d'une exécution à l'autre | Une seule information (un compteur, une date, un état) — la mémoire sait compter et distinguer un membre d'un autre, la variable du serveur non | Le « + » gris sur une variable inconnue, ou blocs Écrire/Lire la mémoire |
| Liste | Conservée, avec plusieurs champs par élément | Des éléments nommés qui ont chacun des caractéristiques (les objets d'un jeu avec attaque, rareté, prix) | Onglet Listes de l'éditeur, blocs Lire / Tirer / Modifier / Afficher / Pour chaque élément d'une liste |
Il n'y a pas de 4ᵉ notion « tableau ». Un tableau, dans cet éditeur, c'est simplement une variable de flow à une ligne par élément — le même format qu'utilisent déjà « Choisir un texte au hasard » et « Aiguillage ». « Transformer un texte » sait le compter/l'indexer/le tester, et « Pour chaque ligne d'un texte » sait le parcourir (voir plus bas) — pas besoin d'inventer un nouveau mot ni une nouvelle catégorie pour ça.
En deux questions :
- La valeur doit-elle survivre au prochain déclenchement ? Non → variable d'un flow (au besoin, un tableau : une ligne par élément). Oui → question 2.
- C'est une seule information, ou un ensemble d'éléments qui ont chacun plusieurs champs ? Une information → mémoire (ou variable du serveur si c'est un réglage que tu modifies rarement). Un ensemble à champs → liste.
✉️ Quel bloc pour envoyer un message ?
| Bloc | Qui le voit ? | À utiliser pour |
|---|---|---|
| Envoyer un message | Tout le salon | Un texte, des fichiers, un bouton facultatif |
| Envoyer un embed | Tout le salon | Un message mis en forme : titre, couleur, image, champs |
| Envoyer un panel | Tout le salon | Publier un panel préparé dans le Panel Builder (ses boutons, ses menus) |
| Envoyer un message privé | Le membre seul, dans ses messages privés | Prévenir un membre en dehors du serveur. Peut échouer (messages privés fermés) : prévois la sortie échec |
| Répondre en privé | Le membre seul, dans le salon (message éphémère) | Confirmer une action sans encombrer le salon (« rôle ajouté »). Il faut une interaction : bouton, menu, formulaire |
Règle simple : si le membre vient de cliquer quelque part et que tu veux lui répondre discrètement, c'est Répondre en privé. Pour parler à tout le monde, Envoyer un message ou Envoyer un embed. Pour joindre quelqu'un qui n'est pas en train d'interagir, Envoyer un message privé.
🎲 Quel bloc pour tirer au hasard ?
| Bloc | Ce qu'il tire | Résultat |
|---|---|---|
| Tirage au sort | Un chemin | Le flow part vers la sortie A ou B, selon un pourcentage |
| Choisir un texte au hasard | Un texte parmi ceux que tu écris | Le texte, dans une variable |
| Tirer un élément d'une liste au hasard | Un élément d'une liste du serveur | Ses champs, en variables ; avec un poids et un filtre si tu veux |
Je veux une chance sur cinq de faire quelque chose → Tirage au sort. Je veux une phrase de bienvenue différente à chaque fois → Choisir un texte au hasard. Je veux un objet, avec ses caractéristiques, plus ou moins rare → Tirer un élément d'une liste.
🔁 Quel bloc pour parcourir plusieurs éléments ?
Trois boucles, une par type d'élément parcouru — pas un seul bloc à « source », parce que ce que chacune pose en variables est différent (un membre Discord, une simple ligne, ou un élément à plusieurs champs).
| Bloc | Parcourt | Variables dans le corps |
|---|---|---|
| Pour chaque membre ayant ce rôle | Des membres du serveur | {user}, {mention}… (comme n'importe quel membre du flow) |
| Pour chaque ligne d'un texte | Un tableau (texte, une ligne par élément) | {line} (ou le nom choisi) |
| Pour chaque élément d'une liste | Une liste du serveur | {item}, {item_name}, {item_champ}… (comme « Lire un élément d'une liste ») |
Les trois se règlent pareil (nombre maximum d'éléments, pause entre deux, actions sensibles à autoriser explicitement) : voir Boucle.
⏳ Quel bloc pour attendre ?
| Bloc | Attend | Attente maximale | Survit à un redémarrage du bot ? |
|---|---|---|---|
| Attendre | Simplement du temps | 5 minutes | Non |
| Attendre une réponse | Que le membre réponde (message ou réaction) | 15 minutes | Non |
| Continuer plus tard | Du temps, puis reprend la suite | 90 jours | Oui |
Pour « 3 jours après l'arrivée, envoyer un message de suivi », il n'y a qu'un bloc possible : Continuer plus tard. Pour annuler cette attente si la situation a changé, Annuler une attente.
👤 Quel bloc pour gérer un rôle ?
| Besoin | Bloc |
|---|---|
| Donner un rôle pour de bon | Ajouter un rôle |
| Retirer un rôle | Retirer un rôle |
| Bouton qui donne le rôle, ou le reprend s'il l'a déjà | Ajouter ou retirer un rôle |
| Un rôle qui s'efface tout seul après une durée | Donner un rôle temporaire |
| Retrouver ses rôles quand un membre revient | Mémoriser les rôles du membre au départ, puis Rendre les rôles mémorisés à l'arrivée |
🔀 Un chemin, plusieurs chemins, un message précis
| Besoin | Bloc |
|---|---|
| Deux issues, vrai ou faux | Condition |
| Plus de deux cas (8 au plus), un par valeur qui correspond exactement (ou contient/commence/finit par) | Aiguillage (plusieurs cas) |
| Plus de deux cas, mais le choix demande du jugement (pas une simple comparaison de texte) | Décider avec l'IA — coûte un appel IA, plafonné par serveur |
| Réagir à n'importe quel message selon sa nature (lien, pièce jointe, longueur…) | Déclencheur Message envoyé |
| Réagir à un message qui contient un mot ou une phrase | Déclencheur Message avec un mot-clé |