Les modificateurs ne sont pas cumulables sur une même variable.
Variables
Le système de variables permet d'insérer dynamiquement des informations contextuelles dans vos messages. Ces variables suivent un format spécifique et peuvent être enrichies avec des paramètres et modificateurs pour personnaliser l'affichage.
Syntaxe générale
{variable}: Variable simple{variable:paramètres}: Variable avec paramètres{variable?modifieur}: Variable avec modificateur{variable:paramètres?modifieur}: Variable avec paramètres et modificateur
Paramètres
Les paramètres permettent d'affiner le comportement d'une variable en lui transmettant des informations complémentaires. Ils s'ajoutent après le nom de la variable, chacun étant précédé du symbole deux-points :.
Chaque paramètre suit la structure nom=valeur. Lorsque vous souhaitez utiliser plusieurs paramètres simultanément, ajoutez simplement un nouveau : suivi du paramètre suivant.
Exemple :
{level.rank:user_id=123456789012345678}{user.created_at:user_id=123456789012345678:format=DD MMMM YYYY}
Modificateurs
Les modificateurs permettent de transformer l'affichage des variables. Ils s'ajoutent après le nom de la variable ou après le ou les paramètres, précédés du symbole point d'interrogation ?.
| Modificateur | Description | Exemple |
|---|---|---|
uppercase | Texte en majuscules | {user.username?uppercase} → DRAFTBOT |
lowercase | Texte en minuscules | {server.name?lowercase} → draftbot support |
capitalize | Première lettre majuscule | {user.username?capitalize} → Draftbot |
ordinal | Nombre ordinal | {level.rank?ordinal} → 3ème |
maxLength=N | Limitation de longueur | {suggest.title?maxLength=50} |
formatNumber | Format de nombre localisé | {money?formatNumber} → 1 234 |
Variables de base
Utilisateur
| Variable | Description | Exemple |
|---|---|---|
{user} | Mention de l'utilisateur | @draftbot |
{user.id} | Identifiant de l'utilisateur | 318312854816161792 |
{user.username} | Pseudo du compte | draftbot |
{user.globalname} | Nom affiché global | DraftBot |
{user.nickname} | Surnom sur le serveur | DraftBot |
{user.tag} | Tag (déprécié) | draftbot#0535 |
{user.rolecount} | Nombre de rôles | 2 |
{user.created_at} | Date de création du compte | 28/05/2017 |
{user.joined_at} | Date d'arrivée sur le serveur | 11/03/2018 |
Paramètres :
user_id: Identifiant d'un utilisateur.format: Format d'affichage de la date (par défaut :L). Accepterelativepour un affichage relatif (ex : "il y a 2 heures") ou un format personnalisé commeDD/MM/YYYY.
Serveur
| Variable | Description | Exemple |
|---|---|---|
{server} | Nom du serveur | DraftBot Support |
{server.id} | Identifiant du serveur | 422112414964908042 |
{server.name} | Nom du serveur | DraftBot Support |
{server.description} | Description du serveur | Serveur officiel et Support de DraftBot |
{server.membercount} | Nombre total de membres | 65536 |
{server.humancount} | Nombre de membres humains | 65535 |
{server.botcount} | Nombre de bots | 1 |
{server.rolecount} | Nombre de rôles | 69 |
{server.channelcount} | Nombre de salons | 20 |
{server.boosts.level} | Niveau de boosts du serveur | 2 |
{server.boosts.count} | Nombre de boosts du serveur | 27 |
{server.created_at} | Date de création du serveur | 10/03/2018 |
Paramètres :
format: Format d'affichage de la date (par défaut :L). Accepterelativepour un affichage relatif (ex : "il y a 2 heures") ou un format personnalisé commeDD/MM/YYYY.
Salon
| Variable | Description | Exemple |
|---|---|---|
{channel} | Mention du salon | #bavardage![]() ![]() |
{channel.id} | Identifiant du salon | 700375095297835096 |
{channel.name} | Nom du salon | bavardage![]() ![]() |
{channel.created_at} | Date de création | 16/04/2020 |
{channel.parent} | Mention du salon parent | #▬▬▬ Communauté ▬▬▬ |
{channel.parent.id} | ID du salon parent | 700370977019658332 |
{channel.parent.name} | Nom du salon parent | ▬▬▬ Communauté ▬▬▬ |
{channel.parent.created_at} | Date de création parent | 16/04/2020 |
Paramètres :
channel_id: Identifiant d'un salon.format: Format d'affichage de la date (par défaut :L). Accepterelativepour un affichage relatif (ex : "il y a 2 heures") ou un format personnalisé commeDD/MM/YYYY.
Rôle
| Variable | Description | Exemple |
|---|---|---|
{role} | Mention du rôle | @Equipe |
{role.id} | ID du rôle | 698990778084491314 |
{role.name} | Nom du rôle | Equipe |
{role.color} | Couleur hexadécimale | #FD9A60 |
{role.position} | Position du rôle | 5 |
{role.membercount} | Nombre de membres | 13 |
{role.created_at} | Date de création | 12/04/2020 |
Paramètres :
role_id: Identifiant d'un rôle.format: Format d'affichage de la date (par défaut :L). Accepterelativepour un affichage relatif (ex : "il y a 2 heures") ou un format personnalisé commeDD/MM/YYYY.
Le paramètre role_id est obligatoire.
Temporalité
| Variable | Description | Exemple |
|---|---|---|
{date} | Date actuelle | 28/05/2017 |
{time} | Heure actuelle | 11:01 |
{timestamp} | Timestamp Discord | 1495962098 |
Paramètres (date et time) :
format: Format d'affichage de la date ou de l'heure (par défaut :LouLT). Accepterelativepour un affichage relatif (ex : "il y a 2 heures") ou un format personnalisé commeDD/MM/YYYYouhh:mm a. La liste des différents formats est disponible sur la documentation de la bibliothèque dayjs.
Paramètres (timestamp) :
style: Style d'affichage du timestamp. Vous pouvez retrouver la liste complète sur la documentation de Discord.
Variables par modules
Économie
| Variable | Description | Exemple |
|---|---|---|
{money} | Argent | 1 234 |
{money.record} | Record d'argent | 5 678 |
{money.currency_icon} | Icône de la devise | ![]() |
{money.rank} | Position dans le classement | 3 |
{money.next_user} | Membre précédent dans le classement | @DraftBot |
{money.next_user.id} | Identifiant du membre précédent dans le classement | 318312854816161792 |
{money.next_user.money} | Quantité d'argent du membre précédent dans le classement | 2 500 |
{money.next_user.money_diff} | Différence d'argent avec le membre précédent dans le classement | 2 500 |
{money.to_position:position=N} | Argent nécessaire pour atteindre la position N dans le classement | 1 200 |
Paramètres :
user_id: Identifiant d'un utilisateur.
Niveaux
| Variable | Description | Exemple |
|---|---|---|
{level} | Niveau | 25 |
{level.rank} | Position dans le classement | 5 |
{xp} | Expérience totale | 12 500 |
{xp.current_level} | Expérience du niveau actuel | 250 |
{xp.next_level} | Expérience nécessaire pour atteindre le niveau suivant | 750 |
{xp.to_level:level=N} | Expérience nécessaire pour atteindre le niveau N | 15 000 |
{xp.next_user} | Membre précédent dans le classement | @DraftBot |
{xp.next_user.id} | Identifiant du membre précédent dans le classement | 318312854816161792 |
{xp.next_user.xp} | Quantité d'expériene du membre précédent dans le classement | 2 500 |
{xp.next_user.xp_diff} | Différence d'expérience avec le membre précédent dans le classement | 15 389 |
{xp.next_user.level} | Niveau du membre précédent dans le classement | 2 500 |
{xp.next_user.level_diff} | Différence de niveaux avec le membre précédent dans le classement | 2 |
{xp.to_position:position=N} | Expérience nécessaire pour atteindre la position N dans le classement | 5,000 |
Paramètres :
user_id: Identifiant d'un utilisateur.
Récompenses de niveaux
| Variable | Description | Exemple |
|---|---|---|
{level.reward} | Récompense reçue | Rôle VIP |
{level.reward.next_level} | Niveaux avant la prochaine récompense | 5 |
{level.reward.next_xp} | Expérience avant la prochaine récompense | 2 500 |
Les variables de niveaux sont aussi disponibles dans les messages de récompenses de niveaux.
Tickets
| Variable | Description | Exemple |
|---|---|---|
{ticket.number} | Numéro de ticket | 42 |
Suggestions
| Variable | Description | Exemple |
|---|---|---|
{suggest.title} | Titre de la suggestion | Système de questionnaire |
{suggest.count} | Nombre de suggestions en cours | 3 |
{suggest.max} | Nombre maximum de suggestions | 5 |
Récompenses de suggestions
| Variable | Description | Exemple |
|---|---|---|
{suggest.reward} | Récompense reçue | 100 ![]() |
{suggest.target.type} | Type de statut | acceptées |
{suggest.target.count} | Nombre de suggestions | 10 |
Commandes personnalisées
| Variable | Description | Exemple |
|---|---|---|
{birthday.date} | Date de naissance | 15 mars |
{birthday.next} | Prochain anniversaire | Dans 2 mois |
{age} | Âge de l'utilisateur | 25 ans |
Paramètres :
user_id: Identifiant d'un utilisateur.
Starboards
| Variable | Description | Exemple |
|---|---|---|
{starboard.emoji} | Emoji du starboard | ![]() |
{starboard.emoji.count} | Nombre de réactions | 15 |
{starboard.message.url} | Lien du message | https://discord.com/... |
Signalements
| Variable | Description | Exemple |
|---|---|---|
{report.target} | Membre signalé | @draftman |
{report.target_message.url} | Lien du message signalé | https://discord.com/... |
{report.reason} | Motif du signalement | Spam |
Anniversaire
| Variable | Description | Exemple |
|---|---|---|
{birthday.user} | Membre(s) fêtant leur anniversaire | @John, @Jane |
{birthday.role} | Rôle temporaire d'anniversaire | @Anniversaire |
{birthday.gifts} | Récompenses données | 500 , Rôle VIP |
Statistiques
| Variable | Description | Exemple |
|---|---|---|
{stats.count} | Statistique du salon | 1 250 |
Cette variable doit obligatoirement être présente dans le format du salon de statistiques.
Salons vocaux temporaires
| Variable | Description | Exemple |
|---|---|---|
{privateroom.index} | Numérotation du salon | 5 |
{privateroom.random_word} | Mot aléatoire prédéfini | trampoline |
{privateroom.custom_word} | Mot aléatoire personnalisé | licorne |
Route de l'infini
| Variable | Description | Exemple |
|---|---|---|
{infinite_road.number} | Nombre indiqué | 4956 |
{infinite_road.discussion} | Discussion du membre (s'il y en a une) | bientôt les 5k |
Récompenses route de l'infini
| Variable | Description | Exemple |
|---|---|---|
{infinite_road.number} | Nombre indiqué | 4956 |
{infinite_road.reward} | Récompense gagnée lors du passage d'un palier | 5 000 ![]() |
Calendrier de l'avent
| Variable | Description | Exemple |
|---|---|---|
{calendar.day} | Numéro du jour de la case ouverte | 15 |
Ouvertures consécutives du calendrier
| Variable | Description | Exemple |
|---|---|---|
{calendar.day} | Numéro du jour de la case ouverte | 15 |
{calendar.streak.count} | Nombre d'ouvertures consécutives actuelles | 7 |
{calendar.streak.record} | Record d'ouvertures consécutives du membre | 15 |
{calendar.streak.reward} | Nom de la récompense obtenue | Rôle "Fidèle" |
Variables de notifications sociales
YouTube
| Variable | Description | Exemple |
|---|---|---|
{video.author} | Nom de la chaîne | DraftBot |
{video.title} | Titre de la vidéo | Comment utiliser DraftBot |
{video.url} | Lien de la vidéo | https://youtube.com/... |
Twitch
| Variable | Description | Exemple |
|---|---|---|
{stream.author} | Nom de la chaîne | StreamerName |
{stream.title} | Titre du live | Live de développement |
{stream.game} | Jeu en live | Just Chatting |
{stream.url} | Lien du live | https://twitch.tv/... |
{stream.start_at} | Date de début | il y a 2 heures |
{stream.tags} | Tags du live | français, développement |
Paramètres (start_at) :
format: Format d'affichage de la date ou de l'heure (par défaut :relative). Accepterelativepour un affichage relatif (ex : "il y a 2 heures") ou un format personnalisé commeDD/MM/YYYYouhh:mm a. La liste des différents formats est disponible sur la documentation de la bibliothèque dayjs.
Paramètres (tags) :
separator: Caractères de séparation des différents tags du stream (par défaut :,)
| Variable | Description | Exemple |
|---|---|---|
{post.subreddit} | Nom du subreddit | r/discord |
{post.title} | Titre du post | Question sur DraftBot |
{post.description} | Description du post | Comment configurer... |
{post.url} | Lien du post | https://reddit.com/... |
Flux RSS
| Variable | Description | Exemple |
|---|---|---|
{feed.name} | Nom du flux | Blog DraftBot |
{feed.url} | Lien du flux | https://draftbot.fr/... |
DraftBot



