Retour au blog
Levels16 octobre 20266 min de lecture

Bot de niveaux Discord : XP, niveaux et rôles (bêta)

Levels (BETA) fait de Scoreboards un bot de niveaux pour Discord. Les membres gagnent de l'XP en écrivant et en parlant dans les salons vocaux, leur niveau découle de cette XP, et le leaderboard classe ton serveur selon elle. Personne n'envoie rien : le bot compte tout seul.

C'est le type de leaderboard le plus récent, donc il reste en bêta le temps de se stabiliser. La page du bot de niveaux Discord montre à quoi il ressemble ; ce guide couvre la configuration et les chiffres derrière.

Ce que fait Levels (BETA)

Un leaderboard Levels (BETA) est un classement d'XP en direct de ton serveur, publié dans un salon comme n'importe quel autre leaderboard Scoreboards.

  • Mon rank, le bouton sous le leaderboard, montre à un membre son niveau, son XP et ce qu'il lui manque pour le niveau suivant.
  • Le site affiche le niveau, l'XP et la barre de progression de chaque membre, et un leaderboard public peut être intégré sur ton propre site.
  • Un récap hebdomadaire paraît chaque lundi avec le top 3, la plus belle progression et le nombre de membres qui ont gagné de l'XP, les semaines où ils sont au moins trois.

Un serveur a un seul leaderboard Levels (BETA) à la fois, à côté de tous ses autres leaderboards. C'est toujours un leaderboard de serveur, jamais un leaderboard perso, parce que l'XP vient du chat d'un serveur.

La configuration en trois étapes

  1. Crée le leaderboard. Invite Scoreboards, lance /leaderboard create, choisis LEVELS (BETA) comme type et donne-lui un nom, par exemple "Server Levels". Il est publié et commence à compter l'XP.
  2. Règle les chiffres. Ouvre le dashboard, choisis le leaderboard et va dans Levels (BETA) : XP par message, cooldown, XP vocale, courbe de niveaux, salons et rôles sans XP, et message de passage de niveau. Les valeurs par défaut sont un bon départ, tu peux donc sauter cette étape.
  3. Ajoute des rôles en récompense. Dans Rôles de tier, choisis le mode Niveau et attribue un rôle à chaque palier : un dès le niveau 5, un autre dès le niveau 10, et ainsi de suite.

Comment les membres gagnent de l'XP

Chaque message rapporte au hasard de 15 à 25 XP, mais un seul message par membre toutes les 60 secondes compte. Dix messages rapides d'affilée rapportent autant qu'un seul, donc le spam ne paie pas. Avec les réglages par défaut, le niveau 10 demande environ 234 messages qui rapportent de l'XP.

Les bots, les webhooks et les messages système de Discord (arrivées, boosts, épinglages) ne rapportent jamais d'XP. Pas plus que les salons sans XP, fils compris, ni les membres qui ont un rôle sans XP, comme un rôle de mute. Tu peux changer tous les chiffres, et un cooldown de 0 récompense chaque message.

Le bot ne lit jamais ce que les membres écrivent. Il n'utilise pas le Message Content intent de Discord, et ne lit ni ne stocke jamais le texte d'un message. Pour chaque membre, il garde son identifiant Discord et son pseudo affiché, l'XP totale, le nombre de messages et de minutes en vocal qui ont rapporté de l'XP et la date du dernier gain, plus un instantané nocturne de son rang pour le graphique d'historique. Si l'économie de ton serveur paie de la monnaie pour les niveaux, chaque niveau atteint ajoute aussi une entrée au journal de monnaie.

XP vocale

Les membres gagnent 10 XP par minute dans un salon vocal tant qu'ils ne sont ni en sourdine ni en mode casque coupé, qu'ils sont hors du salon AFK du serveur et qu'au moins une autre personne, pas un bot, est avec eux. Un membre seul avec un bot de musique ne parle à personne. Une heure de discussion en vocal vaut 600 XP. Règle l'XP vocale entre 0 (désactivée) et 100 XP par minute.

La courbe de niveaux

La courbe par défaut est la même que celle de MEE6 : passer du niveau L au suivant coûte 5L² + 50L + 100 XP. L'XP totale pour atteindre un niveau :

  • Niveau 1 : 100 XP
  • Niveau 5 : 1 150 XP
  • Niveau 10 : 4 675 XP
  • Niveau 20 : 23 850 XP
  • Niveau 50 : 268 375 XP
  • Niveau 100 : 1 899 250 XP

L'autre option est une courbe linéaire à 100L + 75 XP par niveau. Elle démarre un peu plus raide (le niveau 10 demande 5 250 XP), mais atteint les hauts niveaux bien plus vite (le niveau 50 demande 126 250 XP). Changer de courbe garde l'XP de tout le monde ; seul le niveau qui en découle change.

Des rôles en récompense des niveaux

Les rôles en récompense sont des rôles de tier en mode Niveau : un rôle dès le niveau 5, un autre dès le niveau 10, encore un dès le niveau 25, autant de tiers que nécessaire. Avec Garder les rôles de tier inférieurs activé, les membres gardent tous les rôles atteints ; désactivé, seulement le plus haut. Le rôle de Scoreboards doit être placé au-dessus de chaque rôle qu'il distribue, dans Paramètres du serveur → Rôles.

Si ton serveur utilise l'économie de Scoreboards, tu peux aussi verser de la monnaie pour chaque nouveau niveau, une fois par niveau et dans la limite du plafond quotidien de l'économie.

Messages de passage de niveau

Quand un membre atteint un nouveau niveau, le bot publie un message qui le mentionne : dans le salon où il a écrit en dernier (par défaut), dans un salon fixe comme #level-ups, ou nulle part.

Tu peux écrire ton propre texte, jusqu'à 200 caractères, où {user}, {level} et {board} sont remplis, par exemple GG {user}, tu as atteint le niveau {level} ! Il ne mentionne que le membre qui a monté de niveau, même si le texte dit @everyone, et quand plus de trois membres montent de niveau dans le même salon en même temps, ils partagent un seul message.

Saisons et nouveau départ

Terminer une saison gèle le leaderboard : l'XP ne compte plus et le classement reste tel qu'il a fini. Dégèle-le et tout le monde reprend avec la même XP. Pour repartir de zéro, crée un nouveau leaderboard Levels (BETA) et laisse le leaderboard gelé comme archive. Un leaderboard gelé ne compte pas dans la limite d'un par serveur.

Passer de MEE6 ou d'un autre bot de niveaux

Scoreboards ne peut pas importer tes niveaux depuis MEE6 automatiquement. Les conditions d'utilisation de MEE6 n'autorisent pas l'accès automatisé à leur service par des robots, des spiders ou d'autres outils automatiques, donc on ne le construit pas. Tu peux en revanche rapatrier les chiffres toi-même. Ce sont les données de ton propre serveur, et ça ne se fait qu'une fois :

  1. Crée ton leaderboard Levels (BETA), pour avoir de quoi importer dedans.
  2. Copie l'XP totale de chaque membre depuis le leaderboard de ton serveur sur MEE6, ou sur le bot que tu utilisais. Copie l'XP, pas le niveau. Si MEE6 affiche un chiffre arrondi comme 12.5k, écris le nombre complet (12500) ; l'XP peut alors être légèrement décalée.
  3. Copie l'identifiant Discord de chaque membre. Active le mode développeur dans Discord (Paramètres → Avancés), puis fais un clic droit sur un membre et choisis Copier l'identifiant de l'utilisateur.
  4. Écris un fichier CSV, un name,xp par ligne, avec l'identifiant comme nom : 123456789012345678,4675. Écris l'XP avec des chiffres seulement : 12500, pas 12.500 ni 12,500. Une ligne écrite ainsi est ignorée et signalée avec son numéro, pour que tu puisses la corriger et réimporter.
  5. Importe-le. Sur le dashboard, ouvre le leaderboard et utilise Importer depuis un CSV dans Général.

C'est l'identifiant qui relie une ligne à un membre : un nom de 17 à 20 chiffres est lu comme un identifiant, et l'XP que ce membre gagne ensuite s'y ajoute. Tout autre nom, comme un pseudo, devient une entrée libre qui n'est reliée à personne et ne grandit jamais.

Chaque ligne remplace l'XP du membre au lieu de s'y ajouter, donc importe avant que les membres aient beaucoup gagné ici. Tu peux réimporter un fichier corrigé à tout moment, et un fichier contient jusqu'à 500 lignes, donc découpe un gros serveur en plusieurs fichiers.

Comme la courbe par défaut est celle de MEE6, la même XP donne le même niveau : 4 675 XP, c'est le niveau 10 des deux côtés. L'import ne publie aucun message de passage de niveau et ne verse aucune récompense de niveau, donc personne n'est mentionné cinquante fois. Les rôles en récompense ne suivent pas : reconfigure-les comme rôles de tier en mode Niveau, et les membres reçoivent leurs rôles au prochain redessin du leaderboard. Désactive ensuite les niveaux dans l'ancien bot, pour que personne ne reçoive deux mentions de passage de niveau.

FAQ

Les membres gardent-ils leurs niveaux MEE6 ? Oui, si tu importes leur XP. La courbe par défaut est celle de MEE6, donc la même XP correspond au même niveau.

Puis-je donner ou retirer de l'XP à la main ? Oui. Utilise /score dans Discord, ou Set XP et Adjust XP dans le menu d'un joueur sur le site. Les changements faits à la main ne publient aucun message de passage de niveau et ne versent aucune récompense de niveau.

Les membres peuvent-ils envoyer de l'XP ? Non. Un leaderboard Levels (BETA) n'a pas de bouton d'envoi. L'XP vient du chat, du vocal et des changements faits par les admins.

Un serveur peut-il avoir deux leaderboards Levels (BETA) ? Pas en même temps. Pour lancer une nouvelle saison, gèle l'ancien et crée-en un nouveau.

Ajoute-le à ton serveur

Invite Scoreboards, lance /leaderboard create et choisis LEVELS (BETA). Chaque réglage est décrit dans la section Levels & XP (BETA) de la doc.

Envie d'un classement compétitif à côté ? Le guide ELO couvre les matchs classés, en 1v1 comme en équipe.