Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
146 changes: 125 additions & 21 deletions docs/3.autres/6.variables.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,19 @@ updatedAt: '2025-10-23'

## Syntaxe générale

Les variables s'utilisent toujours entre accolades `{}` et suivent l'une des structures suivantes :

- `{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

**Exemple :**

- `{user.username}`
- `{user.created_at:format=DD/MM/YYYY}`
- `{level.rank?ordinal}`

## 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 `:`.
Expand All @@ -24,6 +32,75 @@ Chaque paramètre suit la structure `nom=valeur`. Lorsque vous souhaitez utilise
- `{level.rank:user_id=123456789012345678}`
- `{user.created_at:user_id=123456789012345678:format=DD MMMM YYYY}`

## Paramètres communs

Cette section regroupe les paramètres utilisés par plusieurs variables. Lorsqu'un paramètre est mentionné plus loin sans explication détaillée, référez-vous à cette section.

### user_id

Identifiant Discord d'un utilisateur ciblé par la variable.

- **Type :** ID Discord
- **Obligatoire :** Selon la variable

### role_id

Identifiant Discord d'un rôle.

- **Type :** ID Discord
- **Obligatoire :** Pour les variables liées aux rôles

::hint{ type="warning" }
Ce paramètre est obligatoire pour toutes les variables de rôle.
::

### channel_id

Identifiant Discord d'un salon.

- **Type :** ID Discord
- **Obligatoire :** selon la variable

### format

Définit le format d'affichage des dates et heures.

- **Valeur par défaut :** `L` (date) ou `LT` (heure)

- **Valeurs acceptées :**

- `relative` → affichage relatif (ex : il y a 2 heures)

- format personnalisé (ex : DD/MM/YYYY, HH:mm)

::hint{ type="info" }
La liste des différents formats est disponible sur la [documentation](https://day.js.org/docs/en/display/format) de la bibliothèque **dayjs**.
::

| Variable | Exemple format | Exemple réponse |
|----------|----------------|-----------------|
| stream.start_at | Le stream débutera le `{stream.start_at:format=DD/MM/YYYY}`. | Le stream débutera le 31/12/2025.
| date | Il est `{date:format=DD/MM/YYYY,HH:mm}`. | Il est . |

### separator

Caractère(s) utilisés pour séparer plusieurs valeurs.

- **Valeur par défaut :** `, `

### style

::card
---
title: Timestamps
icon: material-symbols:schedule
to: /docs/autres/timestamps#paramètre-style
target: _blank
color: '#D1D5DB'
---
Découvrez les différents paramètres de styles
::

## 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 `?`.
Expand Down Expand Up @@ -58,8 +135,12 @@ Les modificateurs permettent de transformer l'affichage des variables. Ils s'ajo
| `{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`). Accepte `relative` pour un affichage relatif (ex : "il y a 2 heures") ou un format personnalisé comme `DD/MM/YYYY`.
- `user_id`
- `format`

::hint{ type="info" }
Pour le détail des paramètres, [`cliquez ici`](#paramètres-communs).
::

### Serveur

Expand All @@ -79,7 +160,11 @@ Les modificateurs permettent de transformer l'affichage des variables. Ils s'ajo
| `{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`). Accepte `relative` pour un affichage relatif (ex : "il y a 2 heures") ou un format personnalisé comme `DD/MM/YYYY`.
- `format`

::hint{ type="info" }
Pour le détail des paramètres, [`cliquez ici`](#paramètres-communs).
::

### Salon

Expand All @@ -95,8 +180,12 @@ Les modificateurs permettent de transformer l'affichage des variables. Ils s'ajo
| `{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`). Accepte `relative` pour un affichage relatif (ex : "il y a 2 heures") ou un format personnalisé comme `DD/MM/YYYY`.
- `channel_id`
- `format`

::hint{ type="info" }
Pour le détail des paramètres, [`cliquez ici`](#paramètres-communs).
::

### Rôle

Expand All @@ -111,11 +200,11 @@ Les modificateurs permettent de transformer l'affichage des variables. Ils s'ajo
| `{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`). Accepte `relative` pour un affichage relatif (ex : "il y a 2 heures") ou un format personnalisé comme `DD/MM/YYYY`.
- `role_id`
- `format`

::hint{ type="warning" }
Le paramètre `role_id` est obligatoire.
::hint{ type="info" }
Pour le détail des paramètres, [`cliquez ici`](#paramètres-communs).
::

### Temporalité
Expand All @@ -126,11 +215,13 @@ Les modificateurs permettent de transformer l'affichage des variables. Ils s'ajo
| `{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 : `L` ou `LT`). Accepte `relative` pour un affichage relatif (ex : "il y a 2 heures") ou un format personnalisé comme `DD/MM/YYYY` ou `hh:mm a`. La liste des différents formats est disponible sur la [documentation](https://day.js.org/docs/en/display/format) de la bibliothèque **dayjs**.
**Paramètres :**
- `format` (date et time)
- `style` (timestamp)

**Paramètres (timestamp) :**
- `style` : Style d'affichage du timestamp. Vous pouvez retrouver la liste complète sur la [documentation](https://discord.com/developers/docs/reference#message-formatting-timestamp-styles) de Discord.
::hint{ type="info" }
Pour le détail des paramètres, [`cliquez ici`](#paramètres-communs).
::

## Variables par modules

Expand All @@ -149,7 +240,11 @@ Les modificateurs permettent de transformer l'affichage des variables. Ils s'ajo
| `{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.
- `user_id`

::hint{ type="info" }
Pour le détail des paramètres, [`cliquez ici`](#paramètres-communs).
::

### Niveaux

Expand All @@ -171,7 +266,11 @@ Les modificateurs permettent de transformer l'affichage des variables. Ils s'ajo
| `{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.
- `user_id`

::hint{ type="info" }
Pour le détail des paramètres, [`cliquez ici`](#paramètres-communs).
::

### Récompenses de niveaux

Expand Down Expand Up @@ -217,7 +316,11 @@ Les modificateurs permettent de transformer l'affichage des variables. Ils s'ajo
| `{age}` | Âge de l'utilisateur | 25 ans |

**Paramètres :**
- `user_id` : Identifiant d'un utilisateur.
- `user_id`

::hint{ type="info" }
Pour le détail des paramètres, [`cliquez ici`](#paramètres-communs).
::

::hint{ type="info" }
Les variables d'[économie](#economie) et de [niveaux](#niveaux) sont aussi disponibles dans les commandes personnalisées.
Expand Down Expand Up @@ -318,12 +421,13 @@ Les modificateurs permettent de transformer l'affichage des variables. Ils s'ajo
| `{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`). Accepte `relative` pour un affichage relatif (ex : "il y a 2 heures") ou un format personnalisé comme `DD/MM/YYYY` ou `hh:mm a`. La liste des différents formats est disponible sur la [documentation](https://day.js.org/docs/en/display/format) de la bibliothèque **dayjs**.

**Paramètres (tags) :**
**Paramètres :**
- `format`
- `separator`

- `separator` : Caractères de séparation des différents tags du stream (par défaut : `, `)
::hint{ type="info" }
Pour le détail des paramètres, [`cliquez ici`](#paramètres-communs).
::

### Reddit

Expand Down