modal() déclare un formulaire, depuis n’importe quel fichier de src/ ; le nom de son export est son identifiant. Elle prend un objet, ModalConfig, et type fields dans run d’après lui.
src/components/feedback.ts
Comment écrire un formulaire, l’ouvrir et lire ce qui a été rempli est dans le guide. Cette page liste ce qui existe. L’endroit (
where, PlaceOf…) est sur la page de button().modal()
src/ : le nom de l’export est ce qui distingue le formulaire, donc vous n’écrivez jamais d’identifiant.
ModalDeclaration
Ce que renvoiemodal() : une déclaration que le framework trouve dans les exports d’un fichier. Importez-le là où quelqu’un utilise une commande ou un composant, et ouvrez-le : interaction.showModal(report({ userId })), ou interaction.showModal(feedback) pour un formulaire sans données.
ModalInstanceOptions
Ce avec quoi un formulaire est ouvert : ses données, et ce que contiennent certains champs.ModalPrefill
Ce qu’un formulaire peut contenir quand il s’ouvre : une valeur pour certains de ses champs. Unstring pour un text, une liste de valeurs pour un select ou des checkboxes, une valeur pour un radio, un boolean pour une checkbox. Les autres sortes de champs ne peuvent pas être pré-remplies.
ModalConfig
Ce qu’un fichier de formulaire donne àmodal().
Le titre du formulaire (45 caractères au plus) : écrit tel quel, ou une fonction de
t et des données, lancée à l’ouverture du formulaire. Voir DynamicText.Ce qu’il faut faire quand quelqu’un envoie le formulaire.
Ce que le formulaire transporte depuis le code qui l’ouvre jusqu’au code qui tourne à l’envoi : un nom et une sorte pour chaque valeur. Donné à l’ouverture du formulaire, reçu typé dans
run.D’où le formulaire peut être envoyé :
'guild' (serveurs, par défaut), 'dm' (messages privés avec le bot) ou 'both'. Ce que reçoit run suit.Rendre les réponses du formulaire visibles seulement par qui l’a envoyé. Quand un composant d’un message que seule la personne voit l’a ouvert, elles le sont déjà.
Les champs
ModalFields
fields.reason) : lettres, chiffres et _.
ModalField
Le nom du champ, au-dessus de lui (45 caractères au plus) : écrit tel quel, ou une fonction de
t et des données, lancée à l’ouverture du formulaire.Un texte d’aide sous l’étiquette (100 caractères au plus) : un texte, ou une fonction de
t et des données.TextField
Un texte que la personne tape.Le texte affiché tant que le champ est vide (100 caractères au plus) : un texte, ou une fonction de
t et des données.SelectField
Un menu de textes que vous déclarez.Les options (25 au plus), écrites comme les options d’un menu déroulant.
Le texte affiché quand rien n’est choisi (150 caractères au plus) : un texte, ou une fonction de
t et des données.EntityField
Un menu d’utilisateurs, de rôles, d’utilisateurs et rôles, ou de salons du serveur.Le texte affiché quand rien n’est choisi (150 caractères au plus) : un texte, ou une fonction de
t et des données.FilesField
Des fichiers que la personne téléverse.Les sortes de fichiers acceptées :
'image', 'video', 'audio', ou des extensions comme '.pdf' (10 au plus).RadioField
Un choix parmi quelques-uns, affiché sous forme de boutons radio. Documentation de DiscordCheckboxesField
Plusieurs choix parmi quelques-uns, affichés sous forme de cases à cocher. Documentation de DiscordCheckboxField
Une case à cocher : oui ou non. Documentation de DiscordNoteField
Un texte affiché dans le formulaire, que personne ne remplit. Documentation de DiscordCe que reçoit run
ModalContext
Ce que reçoitrun quand le formulaire est envoyé : l’endroit tel que le donne PlaceOf avec une ModalInteraction, et :
Le message dont le bouton ou le menu a ouvert le formulaire ;
null quand c’est une commande.FieldValuesOf
FieldValue
Ce que reçoitrun pour un champ, d’après sa déclaration :
Documentation de Discord