Événements et variables
Les bots Bot Creator réagissent aux événements Discord (messages, arrivées de membres, clics sur des boutons) et résolvent des valeurs dynamiques grâce au système de modèles ((...)).
Workflows pilotés par les événements
Les commandes ne sont pas le seul point d’entrée. Vous pouvez associer de la logique à des événements Discord tels que :
| Famille d’événements | Usage typique |
|---|---|
messageCreate |
Modération automatique, déclencheurs par mot-clé |
guildMemberAdd |
Messages de bienvenue, rôles automatiques |
interactionCreate |
Boutons, menus de sélection, modals, commandes slash |
voiceStateUpdate |
Journalisation des salons vocaux |
Chaque workflow d’événement s’exécute avec les variables de son propre événement (par exemple, les événements d’interaction définissent interaction.kind et interaction.customId).
Variables ((...))
Les variables insèrent des valeurs d’exécution dans les messages de réponse, les embeds, les composants et les entrées de workflow des blocs et des réponses visuelles. Elles sont résolues lorsque le bot s’exécute, et non au moment de la conception.
Welcome ((user.username))! You joined ((guild.name)).
Le texte BDScript n’est pas résolu. Le résolveur
((...))n’est pas appliqué au texte d’un script BDFD natif (vérification :Hi ((date))est renvoyé inchangé). Dans un script BDFD, utilisez les$functions, par exemple$usernameet$serverName.
Principales familles de variables
| Préfixe | Exemples |
|---|---|
((user.*)) |
((user.id)), ((user.username)), ((user.avatar)) |
((member.*)) |
((member.nick)), ((member.joinedAt)), ((member.roles)) |
((guild.*)) |
((guild.name)), ((guild.memberCount)) |
((channel.*)) |
((channel.id)), ((channel.name)) |
((message.*)) |
((message.content)), ((message.id)) |
((interaction.*)) |
((interaction.customId)), ((interaction.kind)) |
((opts.*)) |
((opts.reason)), ((opts.target.id)) (options de commande slash : pour les options de type utilisateur, salon, rôle et mentionnable, l’ID est opts.<name>.id ; les champs de modal sont aussi stockés sous opts.<key>) |
Variables d’interaction
Lorsqu’un utilisateur clique sur un bouton ou envoie un modal, les variables d’interaction sont renseignées automatiquement.
BDScript (BDFD) lit l’ID personnalisé avec $customID (valide dans une interaction de composant ou de modal) :
$ephemeral
Clicked: $customID
Blocs :
{
"type": "respondWithMessage",
"payload": {
"content": "Clicked: ((interaction.customId))",
"ephemeral": true
}
}
Consultez Interactions overview (en anglais) pour les schémas propres à chaque composant.
Référence complète
| Ressource | Portée |
|---|---|
| Template system | Syntaxe complète de ((...)), valeurs de repli, JSONPath, fonctions en ligne |
| Exhaustive event variables guide | Toutes les variables pour chaque type d’événement |
| JavaScript placeholders | Utilisation des schémas ((...)) en BDJS |
BDScript et JavaScript
- BDScript : utilisez les
$functions; le texte((...))à l’intérieur d’un script BDFD est laissé tel qu’il a été saisi. - JavaScript : consultez variables et placeholders.
Étapes suivantes
- Variables persistantes (
$getUserVar,$setUserVar) : consultez le Database variables guide. - Créez votre premier workflow d’événement avec Create Your First Command.