select() déclare un menu déroulant, depuis n’importe quel fichier de src/ ; le nom de son export est son identifiant. Elle prend un objet, SelectConfig, et type values dans run d’après lui.
src/components/color.ts
Comment écrire un menu et l’afficher est dans le guide. Cette page liste ce qui existe. Ce qu’un menu partage avec un bouton (
data, where, who, l’endroit) est sur la page de button().select()
src/ : le nom de l’export est ce qui distingue le menu, donc vous n’écrivez jamais d’identifiant.
SelectDeclaration
Ce que renvoieselect() : une déclaration que le framework trouve dans les exports d’un fichier. Importez-le là où vous envoyez un message, et appelez-le avec les données qu’il transporte ; un menu sans données s’utilise tel quel, ou s’appelle avec ce qu’il faut afficher.
SelectConfig
Ce qu’un fichier de menu donne àselect() : un menu de textes, ou d’éléments du serveur.
Ce qu’il faut faire quand quelque chose est choisi. Omis pour un menu qui n’est qu’attendu (
message.waitForClick()).StringSelectConfig
Un menu de textes que vous déclarez.Les options (25 au plus) : une liste de textes, un objet de ce qui est affiché vers ce que reçoit votre code, ou une liste de
RichOption.EntitySelectConfig
Un menu d’utilisateurs, de rôles, d’utilisateurs et rôles, ou de salons du serveur.SelectType, EntitySelectType
SelectLook
L’apparence d’un menu déroulant.Le texte affiché quand rien n’est choisi (150 caractères au plus) : écrit tel quel, ou une fonction de
t et des données, lancée au moment de l’envoi du message. Voir DynamicText.SelectInstanceOptions
Ce qu’un message peut changer quand il affiche un menu : tout ce qu’aSelectLook, plus :
Ce qui est sélectionné quand le menu apparaît : les valeurs des options pour un menu de textes, les identifiants (ou les éléments eux-mêmes) pour les autres.
Les options
SelectOptions
RichOption pour des descriptions et des emojis. Le même type sert aux champs select, radio et checkboxes d’un formulaire.
RichOption
Une option d’un menu, avec tout ce que Discord en affiche.Ce que voit la personne (100 caractères au plus) : un texte, ou une fonction de
t et des données.Une seconde ligne sous l’étiquette (100 caractères au plus) : un texte, ou une fonction de
t et des données.OptionValue
run pour une option choisie, typé d’après la déclaration : l’union des textes d’une liste, des valeurs d’un objet, ou de la value de chaque RichOption.
Documentation de Discord
SelectContext
Ce que reçoitrun quand quelque chose est choisi : tout ce qu’a InteractiveContext, l’endroit tel que le donne PlaceOf avec une ComponentInteraction, et :
Le premier élément choisi ;
undefined quand rien ne l’a été (un menu avec min: 0).Picked est OptionValue<Options> pour un menu de textes, User pour 'user', Role pour 'role', User | Role pour 'mentionable' et Channel pour 'channel'.