Tout peut lancer un flow
Chaque flow commence par un déclencheur, et le catalogue en compte 96. Le flow Question du jour démarre à l'horloge, à 09:00, sans que personne ne tape rien. Le même éditeur lance un flow depuis une commande, un bouton, un nouveau membre ou un message.
Question du jour
ActifEnregistrerDéclencheur
ModifierPlanification, tous les jours à 09:00
Lire une valeur de stockage(get-storage-value)
Lire le catalogue de questions dans{questions}
Choisir l'entrée suivante(array-at)
Celle qui suit celle d'hier
Envoyer un message(send-message)
Publier la question sous forme d'embed dans#général
Créer un fil(start-thread-from-message)
Ouvrir un fil sur ce message
Incrémenter une valeur de stockage(increment-storage-value)
Compter la question comme posée dans{asked}
Illustration uniquement : l'interface réelle peut différer
Les commandes slash ne sont qu'un déclencheur parmi d'autres
Le catalogue propose 96 déclencheurs. Un flow peut démarrer depuis une commande, depuis une action d'un membre, depuis un changement dans ton serveur, ou depuis l'horloge. Tu choisis d'abord le déclencheur, et l'éditeur te montre les valeurs qu'il transmet à ton flow.
Commandes slash et menus contextuels
Commande slash, Menu contextuel de message utilisé, Autocomplétion demandée.
Boutons, menus de sélection et formulaires
Bouton cliqué, Menu de sélection de texte envoyé, Formulaire envoyé.
Messages, réactions et sondages
Message créé, Réaction ajoutée, plus les modifications, suppressions et événements de sondage.
Membres, bannissements et boosts
Membre arrivé, Membre parti, Membre a boosté le serveur, bannissements et débannissements.
Salons, rôles et fils
Créé, modifié et supprimé, pour les trois.
Salons vocaux et de conférence
État vocal mis à jour, plus les événements d'instance de conférence.
AutoMod
Action AutoMod exécutée, et trois autres déclencheurs AutoMod.
Invitations, emojis et stickers
Une invitation créée, un emoji renommé, un sticker ajouté.
Les événements programmés de Discord
De la création au démarrage, pour l'onglet des événements de ton serveur.
Paramètres du serveur, journal d'audit et webhooks
Un paramètre modifié, une entrée du journal d'audit écrite, un webhook mis à jour.
Planifications, exécutions manuelles et événements personnalisés
Planification, Exécution planifiée, Déclenchement manuel, Événement personnalisé reçu.
Ton bot lui-même
Dix déclencheurs liés à l'utilisateur du bot, pour les flows qui surveillent le bot plutôt qu'un membre.
Les commandes slash disposent d'un générateur d'options dans le tableau de bord : nom, description, type et indicateur obligatoire pour chaque option, valeur minimale et maximale, longueur minimale et maximale, types de salons autorisés, et soit des choix fixes, soit l'autocomplétion. Un flow d'autocomplétion répond pendant que le membre tape, et ne peut utiliser que des actions qui ne modifient rien.
Certains flows doivent tourner quand personne ne regarde
Une planification est un déclencheur comme un autre. Le flow Question du jour n'a ni commande ni membre derrière lui : l'horloge sonne, le flow lit le catalogue et publie. Au lieu d'une zone de texte cron, le tableau de bord te donne un sélecteur avec des préréglages, tu choisis le rythme et tu passes à autre chose.
Des préréglages au lieu de la syntaxe cron
Choisis un préréglage quotidien, hebdomadaire ou par intervalle, règle l'heure, c'est fini.
Personne n'a besoin d'être là
Le déclencheur part à l'horloge, le flow s'exécute, le message est publié.
Les flows peuvent planifier leurs propres exécutions
Planifier l'exécution d'un flow réserve une exécution ultérieure depuis un flow, et des actions permettent d'annuler et de lister ce qui est en attente.
Le même flow, et la pastille de déclencheur qui le lance
Question du jour
ActifEnregistrerDéclencheur
ModifierPlanification, tous les jours à 09:00
Lire une valeur de stockage(get-storage-value)
Lire le catalogue de questions dans{questions}
Choisir l'entrée suivante(array-at)
Celle qui suit celle d'hier
Envoyer un message(send-message)
Publier la question sous forme d'embed dans#général
Créer un fil(start-thread-from-message)
Ouvrir un fil sur ce message
Incrémenter une valeur de stockage(increment-storage-value)
Compter la question comme posée dans{asked}
Illustration uniquement : l'interface réelle peut différer
Boutons, menus de sélection et formulaires
Un bouton est un déclencheur. Publie un message avec des boutons ou un menu de sélection, et chaque composant lance son propre flow. Ce message peut rester des mois dans ton serveur : un bouton inactif ne coûte rien et n'expire jamais. Discuter dans le fil sous la question du jour est un flow, et la commande /suggest qui ouvre un formulaire en est un autre.
Boutons
Bouton cliqué lance un flow. Le bouton vit sur le message, la logique vit dans le flow.
Menus de sélection
Les cinq types, y compris Menu de sélection de texte envoyé.
Formulaires
Affiche un formulaire, puis continue quand il revient sous forme de Formulaire envoyé.
La question du jour, et une suggestion un peu plus tard dans la matinée
Illustration uniquement : l'interface et le comportement réels peuvent différer
Délais de récupération et intents privilégiés
Les déclencheurs qui peuvent partir souvent ont besoin d'une limite. Chaque flow peut avoir un délai de récupération sur son déclencheur, et une exécution bloquée par ce délai est inscrite dans l'historique comme ignorée, donc un flow silencieux n'est jamais un mystère.
Un délai de récupération par flow
Activé ou non, avec une portée utilisateur, salon ou serveur, et une durée que tu fixes toi-même.
Les exécutions bloquées restent visibles
L'historique indique que l'exécution a été ignorée et en donne la raison.
Certains déclencheurs demandent un intent privilégié
Discord ne transmet les événements de messages, de membres et de présence qu'une fois que tu as activé l'intent correspondant pour ta propre application de bot dans le portail développeur Discord. L'éditeur signale ces déclencheurs et renvoie vers la documentation de Discord, et ton bot doit ensuite être redémarré une fois avant qu'un tel flow puisse se déclencher.
Série de réponses
ActifEnregistrerDéclencheur
ModifierMessage créé, avec un délai de récupération par membre
Incrémenter une valeur de stockage(increment-storage-value)
Compter la réponse de ce membre dans{answers}
Si(if)
Le membre a répondu dix jours de suite
Ajouter un rôle au membre(add-role-to-member)
Lui donner le rôle Habitué
Illustration uniquement : l'interface réelle peut différer
Questions sur les déclencheurs
Oui. Message créé est un déclencheur à part entière, et il y a neuf déclencheurs de messages au total, plus des déclencheurs de réactions comme Réaction ajoutée. Un flow lancé ainsi reçoit le message et peut le compter, le vérifier, y répondre ou stocker quelque chose à son sujet.
En savoir plus sur Custom Commands V3
Tu veux faire entrer ton serveur dans la bêta ?
La V3 est un gros système qui évolue encore vite, donc les serveurs entrent un par un plutôt que tous d'un coup. Chaque candidature est lue par une personne, et tu as une réponse sous quelques jours.
Les serveurs déjà dans la bêta décident d'une bonne partie de ce que nous construisons ensuite. Ce que tu construis t'appartient : les flows et les modules restent à la fin de la bêta.