Le reste

Erreurs

Ce que veut dire chaque erreur d'une Action, et comment la corriger.

Quand une Action échoue, elle prend son port échec et écrit error : error.code, l'un des codes ci-dessous, qu'une Condition peut tester ; error.message, le message ci-dessous dans la langue du serveur (français pour un serveur francophone, anglais sinon) ; et error.detail, ce que Discord a répondu, tel qu'il l'a écrit. Le journal des exécutions montre le message dans ta langue.

Les mots entre accolades, comme {parameter}, sont remplacés par les valeurs de l'échec.

Refusées par Discord

DISCORD_MISSING_PERMISSIONS

Il manque une permission au bot.

Discord a refusé parce qu'il manque une permission au bot, sur le serveur ou dans ce salon (celles d'un salon peuvent différer de celles du serveur). Vérifie les permissions de son rôle, et celles du salon visé. Un rôle ou un membre au-dessus du bot a son propre code : ROLE_ABOVE_BOT, MEMBER_ABOVE_BOT.

Code Discord : 50013

DISCORD_MISSING_ACCESS

Le bot ne voit pas ce salon.

Les permissions du salon le cachent au bot. Donne au rôle du bot la permission Voir le salon.

Code Discord : 50001

DISCORD_UNKNOWN_CHANNEL

Ce salon n'existe pas.

Il a été supprimé, ou l'identifiant est faux.

Code Discord : 10003

DISCORD_UNKNOWN_MESSAGE

Ce message n'existe pas.

Il a été supprimé, ou il se trouve dans un autre salon que celui indiqué.

Code Discord : 10008

DISCORD_UNKNOWN_MEMBER

Ce membre n'est pas sur le serveur.

Le membre est parti, ou l'identifiant est celui d'un utilisateur qui n'a jamais rejoint.

Code Discord : 10007

DISCORD_UNKNOWN_USER

Cet utilisateur n'existe pas.

L'identifiant est faux.

Code Discord : 10013

DISCORD_UNKNOWN_ROLE

Ce rôle n'existe pas.

Il a été supprimé, ou l'identifiant est faux.

Code Discord : 10011

DISCORD_UNKNOWN_EMOJI

Discord ne connaît pas cet emoji.

Un emoji personnalisé doit venir d'un serveur où se trouve le bot. Utilise un emoji standard, ou un emoji de ce serveur.

Code Discord : 10014

DISCORD_UNKNOWN_BAN

Cet utilisateur n'est pas banni.

Il n'y a aucun bannissement à lever pour cet utilisateur.

Code Discord : 10026

DISCORD_INTERACTION_EXPIRED

L'interaction a expiré.

Discord attend 3 secondes la première réponse à une commande, un bouton ou un menu. Réponds plus tôt dans le flux, avant les étapes lentes.

Code Discord : 10062

DISCORD_INTERACTION_ACKNOWLEDGED

Cette interaction a déjà reçu une réponse.

Une interaction n'a qu'une première réponse, et un modal ne peut être que cette première réponse. Ouvre le modal avant de répondre, ou modifie plutôt la réponse.

Code Discord : 40060

DISCORD_DM_CLOSED

Ce membre n'accepte pas les messages privés.

Le membre a fermé ses messages privés aux membres du serveur, ou a bloqué le bot. Rien à corriger de ton côté : prévois une solution de repli, comme un message dans un salon.

Code Discord : 50007

DISCORD_EMPTY_MESSAGE

Le message est vide.

Un message a besoin d'un texte, d'un embed ou d'un composant. Son texte est peut-être sorti vide : donne-lui une valeur de secours avec default(…).

Code Discord : 50006

DISCORD_INVALID_FORM

Discord a refusé une valeur.

Un champ contient quelque chose que Discord n'accepte pas (trop long, mauvais format, lien ou couleur invalide). Le détail indique lequel.

Code Discord : 50035

DISCORD_NOT_AUTHOR

Le bot ne peut modifier que ses propres messages.

Discord ne laisse un bot modifier que les messages qu'il a envoyés lui-même.

Code Discord : 50005

DISCORD_SYSTEM_MESSAGE

C'est un message système.

Les messages de Discord lui-même (un membre arrivé, un épinglage…) ne se modifient pas ainsi.

Code Discord : 50021

DISCORD_WRONG_CHANNEL_TYPE

Impossible dans ce type de salon.

Le salon ne prend pas en charge cette action, comme un fil dans un salon vocal.

Code Discord : 50024

DISCORD_MESSAGE_TOO_OLD

Certains messages ont plus de 14 jours.

Discord ne supprime en masse que les messages des 14 derniers jours.

Code Discord : 50034

DISCORD_THREAD_ARCHIVED

Le fil est archivé.

Un fil archivé ne peut pas être modifié. Désarchive-le d'abord.

Code Discord : 50083

DISCORD_TOO_MANY_PINS

Le salon a déjà 50 messages épinglés.

Désépingle d'anciens messages pour faire de la place.

Code Discord : 30003

DISCORD_TOO_MANY_REACTIONS

Le message a déjà 20 réactions différentes.

Discord autorise 20 emojis différents sur un message.

Code Discord : 30010

DISCORD_TOO_MANY_CHANNELS

Le serveur a déjà 500 salons.

Supprime des salons inutilisés, catégories comprises.

Code Discord : 30013

DISCORD_TOO_MANY_ROLES

Le serveur a déjà 250 rôles.

Supprime des rôles inutilisés.

Code Discord : 30005

DISCORD_REACTION_BLOCKED

La réaction a été bloquée.

Le membre qui a écrit le message a bloqué le bot.

Code Discord : 90001

DISCORD_FORUM_TAG_REQUIRED

Ce forum exige un tag pour chaque post.

Le forum est réglé pour qu'un post ait au moins un tag. Choisis-en un dans le champ Tags du node, parmi ceux du forum.

Code Discord : 40067

DISCORD_ERROR

Discord a refusé l'action.

Discord a donné une raison que Tsuaa ne traduit pas encore ; le détail l'affiche telle que Discord l'a écrite.

DISCORD_UNAVAILABLE

Discord n'a pas répondu.

Discord était indisponible ou lent à ce moment. Rien à corriger : la prochaine exécution fonctionnera sans doute.

Détectées par l'Action

NO_INTERACTION

Il n'y a aucune interaction à laquelle répondre.

Cette Action répond à une commande, un bouton, un menu ou un modal, et le Blueprint a été lancé par un autre type d'Event (un membre qui arrive, un message…). Utilise plutôt Envoyer un message.

NO_COMPONENT_INTERACTION

Il n'y a aucun message de bouton ou de menu à modifier.

Cette Action modifie le message dont le bouton ou le menu a été utilisé : elle ne marche qu'après un Event de bouton ou de menu.

NO_MODAL_INTERACTION

Impossible d'ouvrir un modal ici.

Un modal ne s'ouvre qu'en première réponse à une commande, un bouton ou un menu, et jamais après un autre modal. Place Afficher un modal juste après cet Event, avant toute réponse.

NO_REPLY_TO_EDIT

Il n'y a encore aucune réponse à modifier.

Modifier la réponse ne modifie qu'une réponse déjà envoyée. Place Répondre à l'interaction avant.

CHANNEL_NOT_FOUND

Le salon {channel} n'existe pas.

Le salon a été supprimé, ou l'identifiant vient d'un autre serveur. Vérifie le champ, ou le node d'où vient son identifiant.

CHANNEL_NOT_SENDABLE

Impossible d'envoyer des messages dans le salon {channel}.

Le salon est une catégorie, un forum ou un salon vocal sans discussion écrite. Choisis un salon textuel ou un fil.

CHANNEL_NO_THREADS

Le salon {channel} ne peut pas avoir de fils.

Les fils n'existent que dans les salons textuels, d'annonces, forums et médias.

CHANNEL_NO_BULK_DELETE

Impossible de supprimer des messages en masse dans le salon {channel}.

La suppression de plusieurs messages d'un coup ne marche que dans les salons textuels et les fils.

CATEGORY_NOT_FOUND

La catégorie {category} n'existe pas.

La catégorie a été supprimée, ou l'identifiant vient d'un autre serveur.

NOT_A_CATEGORY

Le salon {channel} n'est pas une catégorie.

Cette Action n'agit que sur les catégories, pour ne jamais modifier un autre salon par erreur. Choisis une catégorie.

THREAD_NOT_FOUND

Le fil {thread} n'existe pas.

Le fil a été supprimé, ou l'identifiant n'est pas celui d'un fil.

FORUM_POST_NEEDS_CONTENT

Un post de forum a besoin d'un premier message.

Dans un forum ou un salon de médias, un nouveau post commence par un message. Remplis son contenu.

FORUM_TAG_NOT_FOUND

Le forum n'a pas de tag « {tag} ».

Un tag de post doit exister dans les réglages du forum. Vérifie son nom, ou ajoute-le au forum.

COMPONENT_NOT_FOUND

Le composant visé par « {parameter} » n'existe pas.

L'embed, la rangée ou le modal auquel il renvoie a été supprimé du Blueprint. Choisis-en un autre dans le builder.

MEMBER_NOT_FOUND

Membre introuvable.

Le membre a quitté le serveur, ou aucun membre n'a déclenché l'Event. Vérifie le champ Membre.

MEMBER_NOT_IN_VOICE

Le membre n'est pas connecté en vocal.

On ne peut déplacer qu'un membre connecté à un salon vocal. Vérifie son salon (Lire un membre ▸ salon vocal) avant l'Action. Déconnecter un membre qui n'est pas en vocal réussit sans rien faire.

ROLE_NOT_FOUND

Rôle introuvable.

Le rôle a été supprimé du serveur.

ROLE_ABOVE_BOT

Le rôle {role} est au-dessus de celui du bot.

Discord interdit au bot de gérer un rôle placé à la même hauteur que le sien ou au-dessus. Dans les paramètres du serveur Discord, fais monter le rôle du bot au-dessus de celui-ci.

ROLE_COLOR_INVALID

« {color} » n'est pas une couleur.

Une couleur s'écrit en hexadécimal, sur six caractères : #5865f2.

MEMBER_IS_OWNER

Le bot ne peut pas agir sur le propriétaire du serveur.

Discord interdit à un bot d'expulser, bannir, exclure, renommer ou changer les rôles du propriétaire du serveur. Vérifie le membre visé avant l'Action.

MEMBER_ABOVE_BOT

{member} est au-dessus du rôle du bot.

Le rôle le plus haut de ce membre ({role}) est à la même hauteur que celui du bot ou au-dessus : Discord interdit au bot d'agir sur lui. Dans les paramètres du serveur Discord, fais monter le rôle du bot au-dessus de ses rôles.

MEMBER_IS_ADMIN

{member} est administrateur : on ne peut pas l'exclure temporairement.

Discord n'applique jamais d'exclusion temporaire à un membre qui a la permission Administrateur, quels que soient les rôles du bot. Vérifie le membre visé avant l'Action, ou retire-lui Administrateur.

TIMEOUT_TOO_LONG

Une exclusion dure {max} jours au plus.

Discord limite une exclusion temporaire à 28 jours. Réduis la durée ou choisis une autre unité.

FILE_DOWNLOAD_FAILED

Impossible de récupérer le fichier {url}.

L'adresse ne répond pas, renvoie une erreur, ou ne mène pas à une adresse publique. Vérifie-la dans un navigateur.

FILE_TOO_LARGE

Un fichier dépasse {max} Mo.

Discord refuse les fichiers trop lourds pour un bot. Utilise un fichier plus léger, ou un lien dans le texte.

WAIT_TOO_LONG

Une attente dure {max} jours au plus.

Pour un délai plus long, utilise un Event planifié (Cron) qui vérifie ce qui arrive à échéance.

WAIT_LIMIT_REACHED

Ce serveur a déjà {max} exécutions en attente.

Chaque attente garde sa branche jusqu'à son heure. Raccourcis les attentes, ou annule celles en attente depuis la section Exécutions.

INTERACTION_EXPIRED

Discord n'accepte plus de réponse à cette interaction.

Une réponse peut suivre l'interaction pendant 15 minutes. Après une attente plus longue, envoie plutôt un message dans le salon.

VARIABLE_NOT_FOUND

La Variable {key} n'est pas déclarée dans ce Blueprint.

Un node nomme une Variable que le Blueprint ne déclare pas. La validation le signale avant un test ou un déploiement : corrige le node, puis déploie à nouveau.

VARIABLE_KEY_INVALID

« {key} » ne peut pas nommer une Variable.

La partie calculée d'un nom de Variable ne peut contenir que des lettres, des chiffres, _, : et -, 100 caractères au plus.

VARIABLE_TYPE_MISMATCH

La Variable {key} contient une valeur de type {actual}, pas {expected}.

Un autre Blueprint enregistre sous le même nom une valeur d'un autre type. Donne le même type à la Variable dans les deux, ou renomme-la.

VARIABLE_TOO_LARGE

La valeur de {key} est trop grande.

Une valeur fait 64 Ko au plus. Enregistre moins, par exemple un identifiant plutôt qu'un message entier.

VARIABLE_STORAGE_FULL

Plus de place pour enregistrer {key}.

Les Variables du serveur ont rempli leur stockage (50 Mo). Efface des valeurs qui ne servent plus depuis la page Variables.

INTERNAL_ERROR

Tsuaa a rencontré un problème inattendu.

Ce n'est pas dû à ton Blueprint. Si cela se répète, préviens-nous en indiquant l'heure.

Paramètres

PARAMETER_REQUIRED

« {parameter} » est vide.

Un champ obligatoire, ou un champ à modifier d'une Action qui modifie, est vide ou son expression n'a rien donné (une valeur absente lors de cette exécution). Remplis le champ, ou entoure l'expression de default(…) pour lui donner une valeur de secours. Pour laisser le champ tel quel ou le vider, choisis Ne pas modifier ou Effacer.

PARAMETER_TYPE

« {parameter} » attend une valeur de type {expected}, pas {actual}.

L'expression du champ a donné une valeur d'un autre type, comme du texte là où il faut un nombre. Convertis-la avec number(…) ou text(…), ou choisis une autre valeur.

PARAMETER_OUT_OF_RANGE

« {parameter} » doit être compris entre {min} et {max} (ici : {value}).

Discord n'accepte que des valeurs dans ces limites. Garde la valeur à l'intérieur, par exemple avec clamp(…).

PARAMETER_INVALID_CHOICE

« {parameter} » ne peut pas valoir {value} : il prend {choices}.

Le champ ne prend qu'une liste fixe de valeurs, et son expression en a donné une autre. Faites-lui donner l'une des valeurs listées.

PARAMETER_TOO_LONG

« {parameter} » dépasse {max} caractères.

Discord limite la longueur de ce champ. Raccourcis le texte, ou coupe-le avec truncate(…).

PARAMETER_INVALID_URL

« {value} » n'est pas une adresse https.

Un fichier joint se donne par une adresse https publique, ou une référence à une pièce jointe.

PARAMETER_TOO_MANY

Trop de valeurs : {max} au plus.

Discord limite le nombre d'éléments de ce champ. Retires-en.

Expressions

TEMPLATE_TYPE_ERROR

Une valeur de type {actual} est utilisée là où il faut {expected}.

Les calculs prennent des nombres et la logique vrai ou faux. Convertis avec number(…) ou text(…), ou donne une valeur de secours à une valeur vide avec default(…).

TEMPLATE_DIVISION_BY_ZERO

Une expression divise par zéro.

Vérifie d'abord le diviseur, par exemple avec if(x == 0, …, …).

TEMPLATE_NUMBER_NOT_FINITE

Un calcul a donné un nombre trop grand.

Le résultat n'est pas un nombre fini. Garde-le dans des limites avec min(…) ou clamp(…).

TEMPLATE_INVALID_NUMBER

{value} n'est pas un nombre.

number(…) ne convertit qu'un texte qui contient un nombre.

TEMPLATE_INVALID_DATE

{value} n'est pas une date.

Une date vient d'un champ de date, d'un texte ISO (2026-01-15T14:30:00Z) ou d'un timestamp.

TEMPLATE_INVALID_ARGUMENT

{function}() n'accepte pas {value}.

La référence des fonctions indique les valeurs qu'elle accepte.

TEMPLATE_INVALID_REGEX

Le motif n'est pas une expression régulière valide.

matches(…) utilise la syntaxe RE2, sans assertions ni références arrière, 500 caractères au plus.

TEMPLATE_RESULT_TOO_LARGE

Un texte dépasse {max} caractères.

Raccourcis-le, par exemple avec truncate(…).

TEMPLATE_LIST_TOO_LARGE

Une liste dépasse {max} éléments.

Travaille sur moins d'éléments, par exemple avec slice(…).

TEMPLATE_OBJECT_IN_TEXT

Une fiche entière ne s'affiche pas en texte.

Choisis l'un de ses champs, comme le nom d'un membre plutôt que le membre.

TEMPLATE_UNKNOWN_FUNCTION

Aucune fonction ne s'appelle {function}().

La référence des fonctions en donne la liste.

TEMPLATE_ARGUMENT_COUNT

{function}() ne prend pas {actual} valeurs.

La référence des fonctions indique ses valeurs.

TEMPLATE_SYNTAX_ERROR

Une expression est illisible.

L'éditeur montre le problème ; corrige-le avant de tester ou de déployer.

L'exécution entière

Ces codes ne viennent pas d'une Action : ils arrêtent ou marquent l'exécution entière, et s'affichent dans son résumé, dans le journal des exécutions.

SELF_TRIGGER_LIMIT_REACHED

Boucle probable arrêtée : ce Blueprint se redéclenchait lui-même par ses propres actions.

Une Action crée, modifie ou supprime ce qui redéclenche le même Blueprint, encore et encore. Les déclenchements suivants sont ignorés un moment (pour le reste de la session, en test). Ajoute une Condition qui arrête la chaîne, par exemple en ignorant ce que le bot a fait lui-même.

EXECUTION_INTERRUPTED

Interrompue : le bot s'est arrêté pendant cette exécution.

Le bot a redémarré ou s'est arrêté avant la fin. La trace s'arrête au dernier node enregistré ; ce qui suit n'a pas tourné. Relance l'action sur Discord si besoin.

INTERACTION_NOT_CLEARED

Le message « réfléchit… » de cette commande n'a pas pu être retiré.

Discord a refusé plusieurs fois de retirer ou de remplacer le message d'attente. Le membre le voit peut-être encore : tu peux le supprimer à la main.

EXECUTION_TIMED_OUT

Arrêtée : l'exécution a duré plus de 30 secondes.

Une exécution a 30 secondes pour aller au bout ; ce qui restait n'a pas tourné. Cherche dans la trace le node le plus lent. Pour patienter longtemps, utilise Attendre : l'attente ne compte pas dans ce délai.

EXECUTION_DEPTH_EXCEEDED

Arrêtée : l'exécution a fait tourner trop de nodes.

Une exécution s'arrête après un nombre maximal de nodes, toutes branches comptées, pour qu'une boucle ne tourne pas sans fin. Vérifie qu'un lien ne ramène pas en arrière sans fin, ou découpe le travail.

TEST_SESSION_ENDED

Arrêtée : la session de test s'est terminée pendant cette exécution.

Les exécutions d'un test s'arrêtent avec lui, au node suivant. Ce qui restait n'a pas tourné.

EXECUTION_INTERNAL_ERROR

Arrêtée par une erreur de Tsuaa.

Un problème de notre côté a arrêté l'exécution ; ton Blueprint n'y est pour rien. Si ça se répète, signale-le avec l'heure de l'exécution.