diff --git a/docs/2.modules/11.anniversaires.md b/docs/2.modules/11.anniversaires.md index 484d87955..f6ff59dde 100644 --- a/docs/2.modules/11.anniversaires.md +++ b/docs/2.modules/11.anniversaires.md @@ -2,7 +2,7 @@ title: Anniversaires description: Avec DraftBot, vous pouvez renseigner votre date d'anniversaire et offrir des récompenses aux membres de votre serveur qui fêtent leur anniversaire ! navigation.icon: 'twemoji:birthday-cake' -contributors: ['kazotka', 'titoto289', 'theorik'] +contributors: ['kazotka', 'titoto289', 'theorik', 'elbaguetto'] updatedAt: '2025-04-07' --- @@ -74,10 +74,6 @@ Vous devez paramétrer les informations suivantes : - **Rôles autorisés / interdits :** Vous pouvez déterminer quels sont les rôles qui peuvent déclencher l'annonce - **Message personnalisé :** Vous pouvez écrire un message personnalisé pour l'annonce. -::hint{ type="info" } - Vous pouvez utiliser des variables dans votre message pour plus de personnalisation -:: - ::tabs ::tab{ label="Depuis le panel" } ![Configurez l'ensemble de ces éléments sur le panel en activant le message d'annonce](../assets/anniversaires/config_annonce_panel.png) @@ -88,6 +84,16 @@ Vous devez paramétrer les informations suivantes : :: :: +Vous pouvez personnaliser votre message avec différentes variables : + +| 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 | + +*En plus des [autres variables](docs/annexes/variables) déjà disponibles globalement !* + #### Message d'annonce personnalisé <:icon_premium:1096140508625125417> Vous pouvez également paramétrer pour certains rôles ou membre un message plus personnel. diff --git a/docs/2.modules/12.commandes-personnalisees.md b/docs/2.modules/12.commandes-personnalisees.md index 7a60b2087..17b2c1db6 100644 --- a/docs/2.modules/12.commandes-personnalisees.md +++ b/docs/2.modules/12.commandes-personnalisees.md @@ -2,7 +2,7 @@ title: Commandes personnalisées description: Avec DraftBot, vous avez la possibilité de créer vos propres commandes ! navigation.icon: 'twemoji:magic-wand' -contributors: ['hugo-broc', 'clement669', 'theorik'] +contributors: ['hugo-broc', 'clement669', 'theorik', 'elbaguetto'] updatedAt: '2025-03-02' --- @@ -300,50 +300,34 @@ Voici les différentes variables d'arguments possibles avec **DraftBot** : ### Les variables -Les commandes personnalisées vous offrent également la possibilité d'ajouter des variables dans vos messages. - -Ouvrez le menu déroulant pour voir les différentes variables : - -::collapse{ label="Variables disponibles" } - **Membre** : - > `{user}` ➜ Mention du membre - > - > `{user.id}` ➜ Identifiant du membre - > - > `{user.username}` ➜ Pseudo du membre - > - > `{user.nickname}` ➜ Surnom ou pseudo du membre - - **Niveaux** : - > `{level}` ➜ Niveau du membre (si le système de [niveaux](/docs/modules/niveaux) est activé) - > - > `{level.rank}` ➜ Place du membre (dans le classement des niveaux) - > - > `{money}` ➜ Argent du membre (si le système d'[économie](/docs/modules/economie) est activé) - > - > `{money.rank}` ➜ Place du membre (dans le classement de l'économie) - > - > `{birthday}` ➜ Date d'anniversaire du membre (si ce [système](/docs/modules/anniversaires) est activé) - - **Serveur** : - > `{server}` ou `{server.name}` ➜ Nom du serveur - > - > `{server.id}` ➜ Identifiant du serveur - > - > `{server.membercount}` ➜ Nombre de membres sur le serveur - - **Salon** : - > `{channel}` ➜ Mention du <#salon> - > - > `{channel.id}` ➜ Identifiant du salon - > - > `{channel.name}` ➜ Nom du salon - - **Temps** : - > `{date}` ➜ Date actuelle (JJ/MM/AAAA) - > - > `{time}` ➜ Heure actuelle (HH:MM) - > - > `{timestamp}` ➜ Timestamp actuel en secondes -:: - +Vous pouvez personnaliser vos actions de type message avec des variables : + +| 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 | +| `{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 | +| `{birthday.date}` | Date de naissance | 15 mars | +| `{birthday.next}` | Prochain anniversaire | Dans 2 mois | +| `{age}` | Âge de l'utilisateur | 25 ans | + +*En plus des [autres variables](docs/annexes/variables) déjà disponibles globalement !* \ No newline at end of file diff --git a/docs/2.modules/22.signalements.md b/docs/2.modules/22.signalements.md index 03dbb0f8b..05abab750 100644 --- a/docs/2.modules/22.signalements.md +++ b/docs/2.modules/22.signalements.md @@ -2,7 +2,7 @@ title: Signalements description: Un utilisateur remarque des agissements inappropriés sur votre serveur ? Permettez-lui de vous les signaler avec le système de signalement de DraftBot ! navigation.icon: 'twemoji:police-car-light' -contributors: ['rababio4579', 'ls62', 'elvhira', 'draftproducts'] +contributors: ['rababio4579', 'ls62', 'elvhira', 'draftproducts', 'elbaguetto'] updatedAt: '2025-05-18' --- @@ -208,40 +208,15 @@ Vous pouvez personnaliser le message de confirmation pour informer vos utilisate :: :: -::hint{ type="info" } - Vous avez la possibilité d'insérer des variables. -:: - -::collapse{ label="Listes des variables" } - - `{user}` ➜ Mention du membre - - `{user.id}` ➜ Identifiant du membre - - `{user.username}` ➜ Pseudo du membre - - `{user.nickname}` ➜ Surnom ou pseudo du membre - - `{server}` ➜ Nom du serveur +Vous pouvez personnaliser votre message avec différentes variables : - `{server.id}` ➜ Identifiant du serveur +| 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 | - `{server.name}` ➜ Nom du serveur - - `{server.membercount}` ➜ Nombre de membres sur le serveur - - `{channel}` ➜ Mention du salon - - `{channel.id}` ➜ Identifiant du salon - - `{channel.name}` ➜ Nom du salon - - `{date}` ➜ Date actuelle (JJ/MM/AAAA) - - `{time}` ➜ Heure actuelle (HH:MM) - - `{timestamp}` ➜ Timestamp actuel en secondes -:: +*En plus des [autres variables](docs/annexes/variables) déjà disponibles globalement !* ### Fil de tri diff --git a/docs/2.modules/24.salons-vocaux-temporaires.md b/docs/2.modules/24.salons-vocaux-temporaires.md index c1427f89a..ae0a2324f 100644 --- a/docs/2.modules/24.salons-vocaux-temporaires.md +++ b/docs/2.modules/24.salons-vocaux-temporaires.md @@ -2,7 +2,7 @@ title: Salons vocaux temporaires description: Les salons vocaux temporaires offrent la possibilité à vos membres de créer des salons qu'ils pourront personnaliser et configurer selon leurs goûts. navigation.icon: 'twemoji:speaker-high-volume' -contributors: ['tellvex', 'kazotka', 'theorik', 'thecreatorn3ant'] +contributors: ['tellvex', 'kazotka', 'theorik', 'elbaguetto', 'thecreatorn3ant'] updatedAt: '2025-02-22' --- @@ -291,23 +291,22 @@ Lorsque vous créez un salon vocal, un embed apparaît dans le **salon textuel d ## Personnaliser le format du nom du salon -Pour définir les noms de salons, vous devez remplacer le nom existant par celui que vous souhaitez. -Afin d'éviter des salons dits doublons, il est conseillé d'indiquer au moins une variable. +Par défaut le nom du salon est `Salon de {user}`, mais vous avez la possibilité de le personnaliser -::collapse{ label="Liste des variables" } +::hint{ type="info" } + Afin d'éviter des salons dits doublons, il est conseillé d'indiquer au moins une variable. +:: - Vous pouvez utiliser les variables suivantes pour nommer un salon vocal lors de sa création : +Pour ce faire, vous pouvez utiliser différentes variables : - ![Comment utiliser les variables](../assets/salons-vocaux-temporaires/view_rename_panel.png) +| 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 | - - `{user}` pour afficher le pseudonyme du membre sur le serveur. - - `{user.username}` pour afficher le nom Discord du membre. - - `{user.tag}` pour afficher le pseudonyme avec le tag du membre (Pseudo#0000). - - `{index}` pour numéroter le salon. - - `{random-word}` pour attribuer un mot aléatoire parmi une liste de mots de **DraftBot**. - - `{custom-word}` pour attribuer un mot aléatoire parmi une liste personnalisable. -:: +*En plus des [autres variables](docs/annexes/variables) déjà disponibles globalement !* ::hint{ type="info" } Cette option est réservée aux serveurs [premium](/premium) <:icon_premium_:1096140508625125417>. -:: \ No newline at end of file +:: diff --git a/docs/2.modules/26.starboards.md b/docs/2.modules/26.starboards.md index bf58ef63c..3cb371edb 100644 --- a/docs/2.modules/26.starboards.md +++ b/docs/2.modules/26.starboards.md @@ -2,7 +2,7 @@ title: Starboards description: Mettez en avant les meilleurs messages de votre serveur dans un salon dédié en interagissant avec une réaction. navigation.icon: 'twemoji:star' -contributors: ['rababio4579', 'wapiti13', 'kazotka', 'imroxxor', 'thecreatorn3ant'] +contributors: ['rababio4579', 'wapiti13', 'kazotka', 'imroxxor', 'elbaguetto', 'thecreatorn3ant'] updatedAt: '2024-09-30' --- @@ -79,17 +79,15 @@ Le système de starboard met en avant les messages recevant un certain nombre de - Si l'embed est activé, il sera possible de changer sa couleur. [(premium <:icon_premium:1096140508625125417>)](/premium) -::collapse{ label="Variables disponibles" } +Vous pouvez personnaliser le message qui sera envoyé dans le salon configuré avec différentes variables : - - `{user}` ➜ Surnom du membre sur le serveur. - - `{user.username}` ➜ Pseudo du compte du membre. - - `{user.globalname}` ➜ Nom affiché du compte du membre. - - `{emoji}` ➜ Emoji du starboard. - - `{emoji.count}` ➜ Nombre de réactions. - - `{message.url}` ➜ Lien vers le message. +| 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/... | - ![Message par défaut](../assets/starboards/starboards-content.png) -:: +*En plus des [autres variables](docs/annexes/variables) déjà disponibles globalement !* ## Les différents formats diff --git a/docs/2.modules/7.suggestions.md b/docs/2.modules/7.suggestions.md index a4abf6292..d35852a73 100644 --- a/docs/2.modules/7.suggestions.md +++ b/docs/2.modules/7.suggestions.md @@ -2,7 +2,7 @@ title: Suggestions description: Récoltez simplement les suggestions et avis de vos membres avec DraftBot ! navigation.icon: 'twemoji:light-bulb' -contributors: ['bariboo','clement669','rababio'] +contributors: ['bariboo', 'clement669', 'rababio', 'elbaguetto'] updated_at: '2025-04-18' --- @@ -425,6 +425,16 @@ La commande \ vous permet de rechercher des suggestions :: :: +Vous pouvez personnaliser votre message avec différentes variables : + +| 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 | + +*En plus des [autres variables](docs/annexes/variables) déjà disponibles globalement !* + ### Modération ::tabs @@ -525,25 +535,15 @@ La commande \ vous permet de rechercher des suggestions - Activer / désactiver cette fonctionnalité, - Personnaliser la façon dont les fils seront nommés. - ::hint{ type="success" } - Vous pouvez personnaliser la nomenclature des fils en utilisant une des nombreuses variables à votre disposition : - - ::collapse{ label="Afficher les variables disponibles" } - Les variables sont des bouts de texte qui évoluent suivant la personne, le serveur, le salon ou encore le temps. Voici celles utilisables dans le nom des fils automatiquement ouverts par DraftBot. - - - `{user}` ➜ Mention du membre - - `{user.id}` ➜ Identifiant du membre - - `{user.username}` ➜ Pseudo du membre - - `{user.nickname}` ➜ Surnom ou pseudo du membre - - `{server}` ➜ Nom du serveur - - `{server.id}` ➜ Identifiant du serveur - - `{server.name}` ➜ Nom du serveur - - `{server.membercount}` ➜ Nombre de membres sur le serveur - - `{date}` ➜ Date actuelle (JJ/MM/AAAA) - - `{time}` ➜ Heure actuelle (HH:MM) - - `{timestamp}` ➜ Timestamp actuel en secondes - :: - :: + Vous pouvez personnaliser le nom de votre fil avec différentes variables : + + | 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 | + + *En plus des [autres variables](docs/annexes/variables) déjà disponibles globalement !* ![Menu "Fils de discussions automatiques", via la commande/config](../assets/suggestions/commande_config_fils_auto.png) :: diff --git a/docs/2.modules/8.notifications-sociales.md b/docs/2.modules/8.notifications-sociales.md index faae5ff22..2462e3e88 100644 --- a/docs/2.modules/8.notifications-sociales.md +++ b/docs/2.modules/8.notifications-sociales.md @@ -2,7 +2,7 @@ title: Notifications sociales description: Rendez publique votre activité sur les autres réseaux sociaux ! navigation.icon: 'twemoji:inbox-tray' -contributors: ['tellvex', 'kicoulapic314', 'theorik', 'erwangit', 'ls62', 'thecreatorn3ant'] +contributors: ['tellvex', 'kicoulapic314', 'theorik', 'erwangit', 'ls62', 'thecreatorn3ant', 'elbaguetto'] updatedAt: '2025-07-31' --- @@ -22,6 +22,16 @@ Vous avez la possibilité de sélectionner les **types de vidéos** qui seront p ![Éléments autorisés](../assets/notifications-sociales/youtube_allowed.png) +Vous pouvez personnaliser le message d'annonce avec différentes variables : + +| 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/... | + +*En plus des [autres variables](docs/annexes/variables) déjà disponibles globalement !* + ### Twitch ::hint{ type="warning" } @@ -36,6 +46,19 @@ Vous avez la possibilité de sélectionner les **types de vidéos** qui seront p Afin d'éviter un spam d'embed, un délai de 30 minutes a été mis en place entre deux annonces de la même personne. :: +Vous pouvez personnaliser le message d'annonce avec différentes variables : + +| 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 | + +*En plus des [autres variables](docs/annexes/variables) déjà disponibles globalement !* + ### Reddit Ce module permet d'afficher une notification lors d'une publication dans un **subreddit**. Comme pour les autres modules de notifications sociales, le message envoyé est entièrement customisable : il pourra donc être envoyé sous forme de **message classique ou sous forme d'embed.** @@ -50,6 +73,17 @@ Voici un exemple de message de notification : Dans le but de rendre opérationnelle l'option **Upvotes minimum** pour l'ensemble des serveurs, un délai minimal de **15** minutes entre la publication sur Reddit et l'annonce par DraftBot a été instauré. :: +Vous pouvez personnaliser le message d'annonce avec différentes variables : + +| 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/... | + +*En plus des [autres variables](docs/annexes/variables) déjà disponibles globalement !* + ### Epic Games Ce module permet d'envoyer une annonce lorsqu'un jeu gratuit est disponible sur l'[Epic Games Store](https://store.epicgames.com/fr/). @@ -110,29 +144,38 @@ Les liens RSS les plus courants sont les suivants : Afin d'éviter les spams, un délai de 10 minutes a été mis en place par annonce. :: +Vous pouvez personnaliser le message d'annonce avec différentes variables : + +| Variable | Description | Exemple | +|----------|-------------|---------| +| `{feed.name}` | Nom du flux | Blog DraftBot | +| `{feed.url}` | Lien du flux | https://draftbot.fr/... | + +*En plus des [autres variables](docs/annexes/variables) déjà disponibles globalement !* + ## Configuration Vous pouvez activer séparément tous les types de notifications sociales. - ::tabs - ::tab{ label="Configuration via le /config" } - Pour ajouter une annonce lors d'un évènement (publication de vidéo, post, notification de stream, etc...), il vous suffit d'effectuer la commande . Vous aurez alors accès à l'onglet ci-dessous. +::tabs + ::tab{ label="Configuration via le /config" } + Pour ajouter une annonce lors d'un évènement (publication de vidéo, post, notification de stream, etc...), il vous suffit d'effectuer la commande . Vous aurez alors accès à l'onglet ci-dessous. - ![/config > Notifications Sociales](../assets/notifications-sociales/view_socialnotifs_config.png) + ![/config > Notifications Sociales](../assets/notifications-sociales/view_socialnotifs_config.png) - Sélectionnez la plateforme de votre choix et configurez-la à partir de la sélection guidée. - :: + Sélectionnez la plateforme de votre choix et configurez-la à partir de la sélection guidée. + :: - ::tab{ label="Configuration via le panel" } - [⫸ Accéder au panel de **DraftBot**](/dashboard/first/social-notifs) + ::tab{ label="Configuration via le panel" } + [⫸ Accéder au panel de **DraftBot**](/dashboard/first/social-notifs) - Dans cette page, vous pouvez activer et désactiver à votre guise les notifications sociales. Il existe deux types de notifications sociales : - - Les onglets, qui peuvent être configurés pour plusieurs chaines/forums. - - Les modules, qui vous permettent d'activer des notifications qui nécessitent peu de configuration. + Dans cette page, vous pouvez activer et désactiver à votre guise les notifications sociales. Il existe deux types de notifications sociales : + - Les onglets, qui peuvent être configurés pour plusieurs chaines/forums. + - Les modules, qui vous permettent d'activer des notifications qui nécessitent peu de configuration. - ![Configuration via le panel](../assets/notifications-sociales/view_panelconfig.png) - :: - :: + ![Configuration via le panel](../assets/notifications-sociales/view_panelconfig.png) + :: +:: ## Informations Complémentaires diff --git a/docs/3.autres/6.variables.md b/docs/3.autres/6.variables.md new file mode 100644 index 000000000..f9fe9515c --- /dev/null +++ b/docs/3.autres/6.variables.md @@ -0,0 +1,322 @@ +--- +title: Variables +description: 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. +navigation.icon: 'twemoji:dna' +contributors: ['elbaguetto'] +updatedAt: '2025-10-23' +--- + +## 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 `?`. + +::hint{ type="warning" } + Les modificateurs ne sont pas cumulables sur une même variable. +:: + +| 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`). Accepte `relative` pour un affichage relatif (ex : "il y a 2 heures") ou un format personnalisé comme `DD/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`). Accepte `relative` pour un affichage relatif (ex : "il y a 2 heures") ou un format personnalisé comme `DD/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`). Accepte `relative` pour un affichage relatif (ex : "il y a 2 heures") ou un format personnalisé comme `DD/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`). Accepte `relative` pour un affichage relatif (ex : "il y a 2 heures") ou un format personnalisé comme `DD/MM/YYYY`. + +::hint{ type="warning" } + 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 : `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 (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. + +## 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 | + +::hint{ type="info" } + Les variables de [niveaux](#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. + +::hint{ type="info" } + Les variables d'[économie](#economie) et de [niveaux](#niveaux) sont aussi disponibles dans les commandes personnalisées. +:: + +### 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 | + +::hint{ type="warning" } + 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.reward}` | Récompense gagnée lors du passage d'un palier | 5 000 💰 | + +## 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`). 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) :** + +- `separator` : Caractères de séparation des différents tags du stream (par défaut : `, `) + +### Reddit + +| 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/... | +