Passer au contenu principal
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()

Déclare un menu déroulant. Exportez le résultat depuis n’importe quel fichier de src/ : le nom de l’export est ce qui distingue le menu, donc vous n’écrivez jamais d’identifiant.

SelectDeclaration

Ce que renvoie select() : 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.
unknown
Ce que le fichier a donné à select(), pas encore vérifié.

SelectConfig

Ce qu’un fichier de menu donne à select() : un menu de textes, ou d’éléments du serveur.
Les deux ont chaque champ d’InteractiveConfig et de SelectLook, plus :
number
Combien d’éléments doivent être choisis au moins (0 à 25). 1 par défaut.
number
Combien d’éléments peuvent être choisis au plus (1 à 25). 1 par défaut.
(context: SelectContext<Picked, Data, Where>) => unknown
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.
'string'
La sorte de menu : des textes que vous déclarez, ce qui est la valeur par défaut.
SelectOptions
requis
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.
EntitySelectType
requis
La sorte de menu : ce que liste Discord.
readonly ChannelType[]
Pour un menu de salons : les sortes de salons listées. Toutes par défaut.

SelectType, EntitySelectType

Les sortes de menus : des textes que vous déclarez, ou des éléments du serveur. Documentation de Discord

SelectLook

L’apparence d’un menu déroulant.
DynamicText<Data>
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.
boolean
Affiche le menu grisé, impossible à utiliser.

SelectInstanceOptions

Ce qu’un message peut changer quand il affiche un menu : tout ce qu’a SelectLook, plus :
readonly (string | { id: Snowflake })[]
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

Les options d’un menu : une liste de textes (chacun affiché et reçu tel quel), un objet dont les clés sont ce qui est affiché et les valeurs ce que reçoit votre code, ou une liste de 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.
DynamicText<Data>
requis
Ce que voit la personne (100 caractères au plus) : un texte, ou une fonction de t et des données.
string
requis
Ce que reçoit votre code (100 caractères au plus).
DynamicText<Data>
Une seconde ligne sous l’étiquette (100 caractères au plus) : un texte, ou une fonction de t et des données.
EmojiInput
Un emoji avant l’étiquette.
boolean
Affiche l’option comme choisie quand le menu apparaît.

OptionValue

Ce que reçoit 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çoit run quand quelque chose est choisi : tout ce qu’a InteractiveContext, l’endroit tel que le donne PlaceOf avec une ComponentInteraction, et :
Picked[]
requis
Ce qui a été choisi, dans l’ordre du menu.
Picked | undefined
requis
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'.