Scoreboards Documentation

Everything you need to create and manage Discord leaderboards

  1. Ajoute le bot — Invite Scoreboards sur ton serveur Discord avec le lien d'invitation de la page d'accueil.
  2. Lance l'assistant — Utilise /leaderboard create : un formulaire rapide pour nommer le leaderboard, choisir un type et éventuellement un salon de logs — et il est posté directement dans le salon. Les boards Point, Highscore et Time démarrent avec quelques entrées d'exemple, histoire de voir le board tourner ; elles disparaissent dès le premier vrai score. Ensuite, appuie sur Plus d'options dans la réponse pour l'ordre de tri, les matchs par équipe ou le chacun pour soi.
  3. Attribue les rôles — Ouvre le dashboard pour définir le rôle bot permission (ceux qui peuvent gérer les leaderboards) et le rôle validator (ceux qui peuvent approuver les envois).
  4. Ajoute d'autres leaderboards — Relance /leaderboard create pour chacun. Plus d'options dans la réponse règle l'ordre de tri, les matchs par équipe ou le chacun pour soi ; tout le reste est sur le tableau de bord.
  5. Affiche-le — Utilise /leaderboard show dans un salon pour poster le leaderboard interactif, avec ses boutons d'envoi et de pagination.

Scoreboards n'a besoin que d'une poignée de permissions Discord, et un serveur aux réglages par défaut les accorde déjà. Celles qui comptent se règlent par salon — un bot peut être autorisé dans un salon et exclu du suivant —, donc quand un leaderboard cesse de se mettre à jour, c'est ici qu'il faut regarder d'abord.

Dans le salon du leaderboard

  • View Channel et Read Message History — pour retrouver son propre message de leaderboard et le modifier. Sans elles, le leaderboard ne se rafraîchit que lorsque quelqu'un lance /leaderboard show : une commande slash obtient une réponse même là où le bot ne peut pas lire, une modification non.
  • Send Messages — pour publier le leaderboard, et te prévenir quand quelque chose cloche.
  • Embed Links et Attach Files — le leaderboard est une image avec une légende dessous. Sans Attach Files, l'image disparaît ; sans Embed Links, la légende et le tableau de secours.
  • Create Public Threads et Send Messages in Threads — les fils de match des leaderboards ELO et League s'ouvrent ici.

Dans le salon de log

Le même ensemble. Les soumissions y sont publiées pour relecture et le bot les modifie quand elles sont approuvées ou rejetées ; les entrées image sont des pièces jointes. Si le salon du leaderboard ne peut pas accueillir un fil de match, il s'ouvre ici. Si le bot ne peut pas écrire dans le salon de logs, la demande de validation est publiée dans le salon du leaderboard, avec la permission manquante indiquée.

Sur tout le serveur

  • Manage Roles — pour les Tier Roles et les rôles vendus dans la boutique. Le rôle Scoreboards doit aussi se trouver au-dessus de tous les rôles qu'il attribue, dans Server Settings → Roles.
  • Change Nickname — seulement si tu renommes le bot dans Branding.
  • Manage Channels, Connect et Move Members — seulement pour les salons vocaux du matchmaking, et seulement dans la catégorie où se trouve le salon de log.

Le lien Add to Discord demande View Channel, Send Messages, Embed Links, Attach Files, Read Message History et Send Messages in Threads. Tout le reste vient des réglages @everyone par défaut de ton serveur ou des rôles que tu donnes au bot — un serveur qui a verrouillé @everyone doit donc accorder ces permissions au bot lui-même, par salon ou sur son rôle.

Quand une permission manque, le bot le dit au lieu d'échouer en silence : un message dans le salon du leaderboard pour Embed Links, Attach Files et un tier role qu'il ne peut pas attribuer, et un dans le salon de log quand il n'atteint pas le leaderboard du tout.

Au moment de créer un leaderboard avec /leaderboard create, tu choisis parmi sept types :

Classic

Ajoute ou retire des points d'un total qui court. Le format des jeux où les points s'accumulent.

Highscore

Ne garde que le record personnel de chaque joueur. Les scores plus faibles sont remplacés automatiquement.

Time (Speedrun)

Les temps s'envoient en 00:00:00 (centièmes) ou 00:00:000 (millisecondes) — le format d'affichage du board se règle dans le dashboard, et les nouveaux boards sont en millisecondes par défaut. Tri croissant si le plus rapide gagne, décroissant si c'est le plus long.

ELO - Ranked

Système de rating ELO compétitif, en 1v1 ou en équipes de 2v2 à 8v8. Tu envoies le résultat du match et le rating de chaque participant bouge tout seul.

Rating

Les membres envoient des images et la communauté les note en étoiles (1 à 10). La moyenne des votes fait le score. Parfait pour les concours d'art et les défis créatifs.

League

Classement aux points, match par match, pour le foot, le basket ou FIFA. Points par victoire/nul/défaite configurables (3/1/0 par défaut) et un score de match (3-1, par exemple).

Levels (BETA)

Classe les membres selon l'XP qu'ils gagnent en discutant et en passant du temps dans les salons vocaux. Niveaux, messages de passage de niveau et rôles par niveau sont inclus, et personne n'a rien à soumettre.

Gérer les leaderboards

CommandeDescriptionPermission
/leaderboard createCrée un leaderboard en un seul formulaire — nom, type et salon de logs facultatif — et publie-le dans le salon ; Plus d'options règle ensuite l'ordre de tri et le format de matchAdmin / Bot Permission
/leaderboard showAffiche le leaderboard dans le salon courant, avec ses boutons interactifsAdmin / Bot Permission
/leaderboard settingsOuvre le dashboard pour régler ce scoreboard (tri, visibilité, en-têtes, mode d'affichage, config ELO, etc.)Admin / Bot Permission
/leaderboard deleteSupprime définitivement un leaderboard et toutes ses données (confirmation requise)Admin / Bot Permission

Envoyer scores et matchs

CommandeDescriptionPermission
/scoreDéfinir ou ajuster le score, l'ELO ou le temps d'un joueur. Choisissez le classement, puis Définir ou Ajuster dans le formulaire. Les classements de notation d'images ne sont pas concernés. Un Commentaire facultatif explique pourquoi, et s'affiche sur la mise à jour dans ton salon de log. Choisis un rôle pour appliquer la même modification à chaque membre qui l'a. Pour tout le serveur, tape @everyone dans Joueurs hors du serveur.Admin / Bot Permission

Configuration

CommandeDescriptionPermission
/helpOuvre l'aide interactive, avec tous les sujets disponiblesTout le monde
/feedbackEnvoie-nous ton avis avec tes propres mots : idées, problèmes, n'importe quoiTout le monde
/delete_my_dataSupprime définitivement tes leaderboards personnels et tes scores, ainsi que tes données de monnaie sur tous les serveurs (demande une confirmation)Tout le monde
/uninstallRetire le bot du serveur. Un formulaire demande pourquoi ça n'a pas marché (facultatif) ; ensuite tous les classements et scores du serveur sont supprimésAdmin

Monnaie (bêta)

L'économie n'a aucune commande slash. Les membres appuient sur le bouton Shop sous un leaderboard, ou ouvrent la page boutique du serveur, pour voir leur solde, acheter des rôles, des emojis de leaderboard et des couleurs de nom, et déplier n'importe quel gain pour voir exactement comment il a été calculé. Les admins la configurent, remplissent la boutique et donnent ou reprennent de la monnaie dans le tableau de bord, sous Monnaie.

Il y a deux chemins :

  • Dans Discord, clique sur le bouton d'envoi du message du leaderboard — il s'appelle Submit score sur Classic/Highscore/Time, Submit result sur ELO et League, Submit image sur Rating. Le bot ouvre le flux qui correspond au type : une saisie de score, un sélecteur joueurs + vainqueur, un sélecteur joueurs + score, ou un nom accompagné de l'image elle-même. Sur un leaderboard en équipes, il te demande la composition complète de chaque camp au lieu d'un seul joueur, et un leaderboard free-for-all porte un bouton Report result à la place.
  • Ou ouvre le leaderboard sur le site et clique sur Submit — exactement le même flux, et le seul chemin qui accepte un nom libre, pour les joueurs qui ne sont pas sur ton Discord.

La validation

  1. L'envoi est posté dans le salon de logs, si tu en as défini un.
  2. Un validateur ou un admin clique sur Approve ou Reject. Sur un match ELO ou League, les joueurs qui y ont participé peuvent valider aussi — il suffit que l'adversaire confirme le résultat, un serveur n'a donc besoin d'aucun rôle de validateur pour faire avancer ses matchs. Celui qui a signalé le match ne peut pas valider son propre signalement, et lui seul peut le rejeter. Si un leaderboard n'a pas de salon de logs, les envois sont validés immédiatement ; configure un salon de logs pour les valider d'abord.
  3. En cas de refus, l'auteur reçoit un DM avec le motif.
  4. En cas d'approbation, le leaderboard se met à jour immédiatement.

Validation automatique

Chaque leaderboard peut approuver les envois tout seul après un certain délai : Off, Instant, 1 hour, 3 hours, 24 hours, 3 days ou 7 days. Les leaderboards ELO sont sur 24 heures par défaut.

Annuler un score

Admins et validateurs peuvent revenir sur un score déjà approuvé : clic droit sur le message de l'envoi, puis "Cancel Review". Le score est rétabli comme avant et un motif d'annulation est demandé.

Le type de leaderboard ELO - Ranked classe les joueurs selon un rating ELO, en 1v1 ou en équipes allant jusqu'à huit joueurs par camp.

Comment ça marche

  • Tout le monde démarre au même ELO de départ, que tu choisis (1200 par défaut).
  • Un match se solde par une victoire, une défaite ou un nul.
  • Les ratings sont calculés avec un facteur K de 32.
  • Le rating de tous les participants bouge en même temps, dès que le match est approuvé.

Matchs en équipe (2v2 – 8v8)

Les leaderboards ELO et League peuvent être verrouillés sur une taille d'équipe fixe — choisis-la à la création, ou change-la plus tard sous Match format dans le dashboard. Sur un leaderboard 3v3, chaque match oppose alors trois joueurs par camp, et le classement reste individuel.

En ELO, le résultat attendu d'une équipe se calcule sur son rating moyen, et l'écart obtenu s'applique à chacun de ses membres — battre plus fort que soi rapporte donc autant à tous les vainqueurs. En League, tous les joueurs du camp gagnant touchent les points de la victoire, et toute l'équipe perdante ceux de la défaite.

Queue de matchmaking (bêta)

Si le bouton queue est activé sur le leaderboard, les joueurs s'y mettent en file d'un clic. Le système regroupe les joueurs de rating proche en élargissant petit à petit la fenêtre de recherche. Quand un match se forme, un fil est créé avec les boutons de vote de la communauté. Sans match trouvé au bout de 5 minutes, la place en queue expire.

Sur un leaderboard en équipes, la queue attend d'avoir de quoi remplir les deux camps — six joueurs pour un 3v3 — puis les répartit en deux équipes aux ratings moyens les plus proches possible, de sorte que les plus forts et les plus faibles se retrouvent face à face. Tout le monde doit cliquer sur Ready ; si quelqu'un ne le fait pas, il saute et les autres retournent en queue en gardant leur place.

Chaque équipe a son propre salon vocal, pour parler tactique sans que l'adversaire écoute — tu ne vois et ne rejoins que celui de ton équipe. Les deux salons disparaissent une fois le match finalisé. Un résultat n'est acté qu'à la majorité dans chaque équipe (deux sur trois en 3v3) : une équipe ne peut donc jamais s'auto-proclamer vainqueur. Tout le reste part en litige, qu'un validateur tranche.

La queue n'est plus réservée à ELO : un classement League peut aussi l'activer. Comme les points de League sont un cumul et non une estimation de niveau, les boards League apparient sur les points par match — jouer davantage ne suffit donc pas à vous faire monter dans la queue.

Équipes fixes

Un leaderboard ELO ou League avec taille d'équipe peut aussi tourner en mode fixed teams (à activer dans le dashboard, juste à côté de Match format). Des équipes nommées s'inscrivent une bonne fois via le bouton Team sign-up du leaderboard — un nom, puis l'effectif, qui peut compter jusqu'à deux remplaçants en plus de la taille d'équipe. Ce sont alors les équipes elles-mêmes qui sont classées : sur un board ELO, chacune a son rating et battre plus fort que soi rapporte davantage ; sur un board League, le tableau les classe aux points, exactement comme une vraie ligue. En League, les équipes fixes enregistrent leurs matchs avec le bouton Submit result du leaderboard.

Dès qu'un seul membre clique sur Queue, c'est toute l'équipe qui part en file, et chacun reçoit un DM. Le matchmaking oppose les équipes selon leur rating, et le ready-check sert en même temps de composition : les premiers de chaque effectif à cliquer sur Ready entrent sur le terrain jusqu'à remplir l'équipe, les autres sont sur le banc pour ce match. Le résultat est voté par ceux qui ont joué, avec la même règle de majorité dans chaque camp. L'effectif de chaque équipe est visible sur la page du leaderboard, sur le site : le nombre de membres figure à côté du nom de l'équipe, le survoler affiche les noms, et ouvrir l'équipe montre l'effectif complet avec le capitaine indiqué.

Le type de leaderboard League classe les joueurs aux points accumulés au fil des matchs. C'est le format du foot, du basket, du futsal, du hockey et de toute compétition, en 1v1 ou par équipes, où c'est le tableau qui fait foi.

Comment ça marche

  • Enregistre un match avec le bouton Submit result du leaderboard — le bot demande les deux camps et un score pour chacun (3 et 1, par exemple).
  • Le score le plus élevé l'emporte ; à égalité, c'est un nul.
  • Le camp vainqueur reçoit points_win, le perdant points_loss, et en cas de nul tout le monde touche points_draw. Dans une ligue par équipes, chaque joueur récupère les points de son camp.
  • Le leaderboard classe aux points totaux, et compte les victoires, nuls et défaites à côté.

Points par défaut

Les nouvelles ligues démarrent en 3 / 1 / 0 (la norme FIFA depuis 1994). Les trois valeurs se règlent leaderboard par leaderboard depuis le dashboard. Passe en 2 / 1 / 0 pour le hockey, 4 / 2 / 0 pour le rugby, ou invente le barème qui colle à ton sport.

Enregistrer un match

Sur le site, ouvre le leaderboard et clique sur Submit — saisis les deux camps et le score du match. Dans Discord, le bouton Submit result du leaderboard ouvre exactement la même chose. Les matchs où le même joueur figure des deux côtés et les scores négatifs sont refusés d'emblée.

Ligues par équipes

Un leaderboard League peut être verrouillé sur une taille d'équipe fixe, de 2v2 à 8v8, à la création ou plus tard sous Match format dans le dashboard. Le tableau continue de classer les joueurs un par un : tout le camp gagnant touche les points de la victoire, tout le camp perdant ceux de la défaite, et le score du match compte comme buts marqués et encaissés pour chacun d'eux.

Tu préfères un vrai tableau de ligue, où ce sont les équipes qui occupent les lignes ? Active Fixed teams à côté de Match format : des équipes nommées s'inscrivent via le bouton Team sign-up du leaderboard (jusqu'à deux remplaçants par effectif), les matchs s'enregistrent équipe contre équipe avec un score, et le tableau classe les équipes aux points. L'effectif de chaque équipe est visible sur la page du leaderboard, sur le site : le nombre de membres figure à côté du nom de l'équipe, le survoler affiche les noms, et ouvrir l'équipe montre l'effectif complet avec le capitaine indiqué.

Validation et annulation

Les matchs League passent par la même file de validation que les matchs ELO : un validateur approuve ou refuse chaque envoi, les points s'appliquent à l'approbation, et un match approuvé peut être annulé ensuite — ce qui retire exactement les points qui avaient été donnés.

Les leaderboards ELO et League n'ont pas besoin de deux camps. Dans un match chacun pour soi, tout le monde joue pour soi — de 3 à 8 joueurs — et le résultat est la place de chacun. Active-le avec l'option ffa_players à la création du leaderboard, ou plus tard dans Match format du dashboard. Il remplace les matchs en équipe : un leaderboard chacun pour soi ne peut pas avoir en plus une taille d'équipe ou des équipes fixes, et l'activer ne vaut que pour les nouveaux matchs — tout ce qui est déjà enregistré reste exactement en l'état.

Les types de résultat

RésultatELOLeague
Ordre d'arrivée complet — du 1er au dernier✓ Oui✓ Oui
Match nul pour tout le monde✓ Oui✓ Oui
Un vainqueur, tous les autres non classés— Non proposé✓ Oui

Le vainqueur seul est un mode League. Là, il ne demande rien de plus que ce qu'il dit : le vainqueur prend les points de victoire et le reste ceux de défaite. Un classement ne peut pas être aussi souple — si les perdants restent non classés, la seule chose qu'il puisse honnêtement dire d'eux, c'est qu'ils ont tous fait match nul, et alors un joueur mal classé gagne des points sur un match que son bilan compte comme une défaite. C'est pourquoi un chacun pour soi ELO demande l'ordre complet, ou un match nul général qui a vraiment eu lieu.

Signaler un résultat

Les leaderboards chacun pour soi portent un bouton Report result à la place de Submit result. Choisis d'abord tous ceux qui ont joué — exactement autant que la taille du lobby du leaderboard, donc un leaderboard à 6 joueurs en prend 6 et le formulaire refuse de partir avec 5. Le même formulaire peut porter le résultat : désigne le vainqueur et le match est signalé aussitôt ; sur un leaderboard avec un barème de places, ce champ s'élargit à tout l'ordre d'arrivée — la 1re place d'abord, puis la 2e, etc. Laisse-le vide et tu obtiens l'étape du résultat. Définis ensuite le résultat : un leaderboard League demande qui a gagné, avec Match nul pour tout le monde dans le même menu et Définir l'ordre complet si tu préfères classer tout le plateau ; un leaderboard ELO demande directement l'ordre, une place par clic, avec Annuler le dernier en cas de faux pas et un bouton Match nul pour tout le monde à côté. Envoyer reste grisé tant que le résultat n'est pas un résultat que le leaderboard sait noter. Ce bouton est le seul moyen de signaler un résultat chacun pour soi dans Discord : si ton leaderboard ne l'affiche pas, active-le dans le dashboard sous Affichage Discord → Bouton Submit, ou enregistre le match depuis la page du leaderboard sur le site.

Ensuite, un chacun pour soi est une soumission tout à fait ordinaire. Elle arrive dans la file de validation, un validateur l'approuve ou la refuse (ou l'approbation automatique s'en charge après le délai configuré), les classements et les points bougent à l'approbation, et annuler un match approuvé rend à chaque joueur exactement ce qu'il lui avait donné.

Comment le classement est calculé

Un chacun pour soi ELO est noté comme l'ensemble de ses confrontations directes d'un seul coup. Chaque paire de joueurs est comparée — la meilleure place bat la moins bonne, une place identique est un nul entre eux — et chacun de ces mini-résultats est calculé avec la même formule de score attendu qu'un 1v1. Finir devant des joueurs classés bien au-dessus de toi rapporte donc beaucoup plus que finir devant le bas du plateau. Le facteur K est ensuite divisé par le nombre d'adversaires, et c'est ce qui maintient un chacun pour soi à environ un match de mouvement de classement plutôt qu'aux sept duels que tu as techniquement joués.

L'ensemble est à somme nulle exacte : ce que le plateau perd est ce que les autres gagnent, au point près. Six joueurs de même niveau à K=32 repartent avec +16, +10, +3, −3, −10, −16. Le bilan suit la place — la première, même partagée, compte comme une victoire, tout ce qui est en dessous comme une défaite, et le match nul général comme un nul pour tout le plateau.

Points de place sur les leaderboards League

Un chacun pour soi League peut récompenser tout le plateau avec une table de points de place, façon F1 : tant de points pour le premier, tant pour le deuxième, et ainsi de suite jusqu'au bas du lobby. Tu l'édites dans le dashboard, sous les points de victoire, de nul et de défaite, sur tout leaderboard League qui joue en chacun pour soi. Les joueurs à égalité prennent chacun les points de la place qu'ils partagent, et ceux qui finissent au-delà de la fin de la table continuent de marquer sa dernière valeur.

La table ne s'applique qu'à un classement complet. S'il reste quelqu'un sans place — un signalement vainqueur seul, ou un ordre que tu as laissé à moitié — elle ne s'applique pas du tout : la première place prend les points de victoire du leaderboard et tous les autres ceux de défaite. C'est aussi ce que tu obtiens sans aucune table configurée, la table est donc optionnelle. Un match nul général verse les points de nul à tout le monde, quoi que dise la table.

Le chacun pour soi dans la file de matchmaking

Avec le bouton de file activé, un leaderboard chacun pour soi met des joueurs seuls en attente et se déclenche dès qu'il a exactement la taille du lobby — six joueurs sur un leaderboard à 6, jamais cinq ni sept. Il n'y a pas de camps à équilibrer, donc le plateau est simplement le groupe aux classements les plus proches que la file peut réunir. Tout le monde doit quand même cliquer sur Ready, et le match reçoit un seul salon vocal partagé : dans un chacun pour soi, il n'y a pas de coéquipiers à qui cacher quoi que ce soit.

Le résultat est signalé plutôt que voté — trois boutons de vote ne peuvent pas exprimer un ordre d'arrivée à huit joueurs. N'importe quel joueur du plateau définit le résultat sur le message du match et les autres cliquent sur Confirmer ; c'est acté dès qu'une majorité du plateau est d'accord (deux sur trois, cinq sur huit), celui qui a signalé comptant comme le premier d'entre eux. Contester confie le match à un validateur, qui définit le bon résultat et le confirme lui-même. Un match de la file se règle dans son propre fil, il ne passe donc pas par la file de validation.

Le type de leaderboard Rating laisse les membres envoyer des images et donner des étoiles à celles des autres.

Comment ça marche

  • On envoie une image avec le bouton Submit image du leaderboard — le formulaire demande un nom, une description facultative et l'image elle-même.
  • Les envois atterrissent dans le salon de logs, avec un menu de notation.
  • N'importe qui peut donner de 1 à 10 étoiles. Les votes deviennent une moyenne. Note sous chaque participation, ou appuie sur Rate entries sous le leaderboard pour passer en revue, une par une, toutes celles que tu n'as pas encore notées.
  • Chacun peut changer son vote quand il veut — mais un seul vote par personne et par envoi.
  • Le leaderboard classe les envois à la note moyenne.

Noter depuis le site

Sur le site, les envois se trouvent dans l'onglet Entries. Clique sur l'un d'eux pour voir l'image en grand et mettre tes étoiles directement. Tes votes sont retenus d'une visite à l'autre.

Un leaderboard Levels (BETA) classe les membres de ton serveur selon leur XP. Personne ne soumet rien : les membres gagnent de l'XP en écrivant et en parlant dans les salons vocaux, le bot compte tout seul, et le niveau de chaque membre découle de son XP. Un serveur a un seul leaderboard Levels (BETA) à la fois, et c'est toujours un leaderboard de serveur — un leaderboard personnel ne peut pas en être un.

Comment on gagne de l'XP

  • Messages — 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.
  • Vocal — 10 XP par minute passée dans un salon vocal, tant que le membre n'est ni muet ni en sourdine, n'est pas dans le salon AFK du serveur et qu'il y a au moins une autre personne (pas un bot) dans le salon.
  • Les bots, les webhooks et les messages système de Discord (arrivées, boosts, messages épinglés) ne rapportent jamais d'XP, et les messages ne comptent que dans les salons que le bot peut voir.

Chacun de ces nombres est un réglage dans les paramètres Levels (BETA) du leaderboard, sur le dashboard : la fourchette d'XP par message, le délai entre deux messages et l'XP par minute en vocal (0 coupe l'XP vocale).

De l'XP au niveau

Le niveau d'un membre est calculé à partir de son XP à chaque affichage, il n'est donc jamais stocké. La courbe standard est celle qu'utilisent la plupart des bots de niveaux sur Discord : passer du niveau L au suivant coûte 5L² + 50L + 100 XP. La courbe linéaire coûte 100L + 75 XP par niveau : elle démarre un peu plus raide et atteint les hauts niveaux bien plus tôt. L'XP totale nécessaire pour atteindre un niveau :

NiveauStandardLinéaire
51 1501 375
104 6755 250
2023 85020 500
50268 375126 250
1001 899 250502 500

Changer de courbe garde l'XP de tout le monde et ne change que le niveau qui en découle.

Salons et rôles sans XP

Choisis des salons où les messages et le temps en vocal ne rapportent rien — les fils comptent comme faisant partie de leur salon — et des rôles dont les membres ne gagnent jamais d'XP, par exemple un rôle pour les membres réduits au silence.

Messages de passage de niveau

Quand un membre atteint un nouveau niveau, le bot publie un message qui le mentionne. Par défaut, il va dans le salon où le membre vient d'écrire ; tu peux l'envoyer plutôt dans un salon fixe, ou le désactiver. Tu peux écrire ton propre texte, jusqu'à 200 caractères, où {user}, {level} et {board} sont remplis. Le message ne mentionne que le membre qui a atteint le niveau, même si le texte contient @everyone, et quand plus de trois membres atteignent un nouveau niveau dans le même salon au même moment, ils partagent un seul message. Le bot doit avoir le droit d'envoyer des messages dans ce salon.

Rôles par niveau

Sur un leaderboard Levels (BETA), les rôles de tier ont un quatrième mode, niveau : un rôle dès le niveau 5, un autre dès le niveau 10, et ainsi de suite. Avec Garder les rôles de tier inférieurs activé, les membres gardent tous les rôles atteints ; désactive-le et ils ne gardent que le plus haut. Les rôles changent peu après qu'un membre a atteint un nouveau niveau.

Monnaie par niveau

Si ton serveur utilise l'économie, tu peux payer de la monnaie pour les niveaux : un montant fixe chaque fois qu'un membre atteint un nouveau niveau, versé une seule fois par niveau. Il compte dans le même plafond quotidien que tous les autres gains, et la même règle d'ancienneté du compte s'applique. Les messages et les minutes en vocal ne rapportent pas de monnaie à eux seuls.

Seasons

À la fin d'une season, le leaderboard gèle : l'XP ne compte plus et le classement reste tel qu'il a fini. Le dégeler 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.

Importer et fixer l'XP

Tu viens d'un autre bot de niveaux ? Importe l'XP depuis un fichier CSV, un name,xp par ligne, avec Importer depuis un CSV sur le dashboard, comme expliqué dans Import et migration. Utilise l'identifiant Discord de chaque membre comme nom : la ligne est alors rattachée au membre, et l'XP qu'il gagne ensuite s'y ajoute. Une ligne avec un autre nom devient une entrée libre, à laquelle l'activité de personne ne s'ajoute.

Pour fixer l'XP à la main, utilise /score sur Discord, ou Set XP et Adjust XP dans le menu d'un joueur sur le site. Un import ou une modification à la main ne publie aucun message de passage de niveau et ne verse aucune récompense de niveau ; les rôles de tier suivent au prochain redessin du leaderboard.

Passer de MEE6 ou d'un autre bot de niveaux

Scoreboards n'importe pas automatiquement depuis MEE6 : les conditions d'utilisation de MEE6 n'autorisent pas l'accès automatisé à leur service, donc le bot ne lit jamais le leaderboard d'un autre bot à ta place. Tu peux en revanche rapatrier toi-même l'XP de tes membres — ce sont les données de ton propre serveur — avec un fichier CSV :

  1. Copie l'XP totale de chaque membre depuis le leaderboard de ton serveur sur MEE6 ou sur l'autre bot. Copie l'XP, pas le niveau : le niveau découle de l'XP. 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.
  2. Copie l'identifiant Discord de chaque membre : active Developer Mode dans Discord (Settings → Advanced), puis fais un clic droit sur le membre et choisis Copy User ID.
  3. Écris un name,xp par ligne, avec l'identifiant comme nom et l'XP en 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.
  4. Sur le dashboard, ouvre le leaderboard Levels (BETA) et utilise Importer depuis un CSV. 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.
name,xp
123456789012345678,4675
234567890123456789,23850

Seul un identifiant relie une ligne à un membre : un nom de 17 à 20 chiffres est lu comme un identifiant Discord, et l'XP que ce membre gagne ensuite s'y ajoute. Un pseudo ou tout autre nom n'est rattaché à personne ; il devient une entrée libre, à laquelle l'activité de personne ne s'ajoute.

La courbe standard est celle de MEE6, donc 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. Les rôles en récompense ne suivent pas : reconfigure-les comme rôles de tier en mode niveau, et les membres les reçoivent au prochain redessin du leaderboard. Désactive ensuite les niveaux dans l'autre bot, pour que personne ne reçoive deux messages de passage de niveau.

À quelle fréquence le leaderboard se met à jour

Le message du leaderboard sur Discord est redessiné quand quelqu'un atteint un nouveau niveau ou que l'ordre des places affichées change — au plus une fois par minute — et sinon environ toutes les 15 minutes tant que des membres gagnent de l'XP. Un leaderboard où personne n'est actif n'est pas redessiné. La ligne Dernière mise à jour en dessous indique quand il a été dessiné. Mon rank et le leaderboard sur le site affichent l'XP en quelques secondes.

Confidentialité

Le bot ne lit jamais ce que les membres écrivent. Il n'utilise pas l'intent Message Content de Discord, et ne lit ni ne stocke jamais le texte d'un message. Pour chaque membre qui gagne de l'XP, il stocke son identifiant Discord et son pseudo affiché, l'XP totale, combien de ses messages ont rapporté de l'XP, combien de minutes en vocal en ont rapporté et le moment où de l'XP a été gagnée pour la dernière fois, plus un instantané nocturne de son rang pour le graphique d'historique des rangs. Rien n'est stocké par message. Les données sont supprimées avec le leaderboard, et avec le reste des données du serveur quand le bot est retiré. Si l'économie du serveur paie de la monnaie pour les niveaux, chaque niveau atteint ajoute aussi une entrée au journal de monnaie du membre, conservée avec le reste de ses données de monnaie. La Politique de confidentialité donne les détails.

Tu décides qui voit tes leaderboards sur le site Scoreboards :

Public

Visible par tout le monde sur le site.

Caché

Visible uniquement par les membres de ton serveur Discord (connexion requise), et seuls les admins du serveur le voient dans la liste des leaderboards.

Privé

Visible uniquement par les membres qui ont un rôle Discord précis et par les admins du serveur.

Désactivé

N'apparaît pas du tout sur le site.

Attribue automatiquement des rôles Discord aux joueurs selon leur place au classement. Tu peux par exemple donner un rôle « Champion » au top 3, un rôle « Vétéran » aux rangs 4 à 10, et ainsi de suite.

  • Les tiers se configurent depuis le dashboard web, dans les réglages de chaque leaderboard.
  • Choisis comment un tier se définit : par rank (les rangs 1 à 3), par percentile (les 10 % du haut) ou par score (tous ceux à 2000 points et plus). Un leaderboard Levels (BETA) peut aussi utiliser le niveau (tous ceux au niveau 10 ou plus). Tous les tiers d'un même leaderboard partagent le même mode.
  • Associe à chaque tier n'importe quel rôle Discord existant.
  • Les rôles sont donnés et retirés automatiquement à mesure que le classement bouge.
  • Le rôle Scoreboards doit se trouver au-dessus de tous les rôles qu'il attribue, dans Server Settings → Roles. Discord interdit aux bots de gérer les rôles situés à leur niveau ou plus haut, et le bot postera un avertissement dans le salon du leaderboard s'il tombe dessus.

Tu fais déjà tourner une compétition ailleurs ? Un fichier CSV peut remplir tout un leaderboard d'un coup, pour t'éviter de tout retaper.

Ouvre le dashboard, sélectionne un leaderboard et utilise Importer depuis un CSV. C'est le même chemin pour un leaderboard de serveur et pour un leaderboard personnel, qui ne dépend d'aucun serveur Discord. Le fichier, lui, est le même dans les deux cas — un name,score par ligne :

name,score
Alex,120
"Cooney, EM",95
Sam,88
  • Une ligne d'en-tête est repérée et ignorée automatiquement.
  • Virgule, point-virgule et tabulation font tous office de séparateur — prends ce que ton tableur exporte.
  • Les noms qui contiennent une virgule passent s'ils sont entre guillemets, comme "Cooney, EM".
  • Si le nom est un identifiant Discord, la ligne est rattachée au membre et affiche son pseudo. Tout le reste devient une entrée libre.
  • Le même nom deux fois garde la dernière valeur : tu peux réimporter un fichier corrigé par-dessus.
  • Les lignes illisibles sont sautées et listées avec leur numéro — le reste passe quand même, tu corriges deux ou trois lignes et tu relances.

Les temps acceptent mm:ss, hh:mm:ss et éventuellement une fraction : 1:30, 1:12:44.081. Un nombre seul est lu comme des millisecondes. Attention : trois nombres séparés par des deux-points valent heures:minutes:secondes, donc la précision sous la seconde s'écrit après un point.

Les leaderboards Levels (BETA) prennent name,xp avec l'identifiant Discord de chaque membre comme nom — un pseudo devient une entrée à part qui ne gagne jamais d'XP. Le nombre est l'XP totale du membre, et il remplace l'XP qu'il avait. Un import ne publie aucun message de passage de niveau et ne verse aucune récompense de niveau.

Limites : 500 lignes et 100 Ko par fichier — découpe les exports plus gros et importe-les en plusieurs fois. Les leaderboards Image Rating ne s'importent pas : leurs entrées sont des images envoyées, pas des scores.

Les seasons permettent de clore une compétition sans rien perdre. Programme une fin (ou termine depuis le dashboard) et le board gèle : un podium est publié et le classement reste exactement tel quel.

  • Rien n'est réinitialisé ni supprimé — le board gelé est l'archive permanente de la season, visible par tous.
  • Un board gelé n'accepte plus d'envois, de matchs ni de votes ; un admin peut le dégeler à tout moment.
  • Tous les types de board peuvent avoir des seasons — y compris Rating, où geler un board à vote à l'aveugle révèle aussi les résultats.
  • Envie d'une nouvelle season ? Crée un nouveau board et laisse le board gelé comme archive.

Les récaps hebdomadaires postent chaque lundi un petit bilan dans le salon du leaderboard : le top 3, la plus grosse progression de la semaine, et le volume de parties. Seuls les boards avec au moins trois scores dans la semaine en reçoivent un — un leaderboard calme a le droit de rester calme. Tu peux couper les récaps leaderboard par leaderboard depuis le dashboard du site.

Une économie transforme les résultats en une monnaie que les membres dépensent dans la boutique du serveur. C'est une bêta, et elle reste désactivée tant qu'un admin ne l'a pas configurée et lancée depuis le dashboard, sous Monnaie — ensuite, chaque résultat validé par ton serveur paie les joueurs. Un gain, c'est un socle fixe plus une part d'une cagnotte variable : une partie de la cagnotte suit le résultat, l'autre la surprise, donc battre quelqu'un bien mieux classé vaut plus que battre quelqu'un en dessous. Sur un board Classic, Highscore ou Time, il n'y a pas d'adversaire : c'est ta place au classement qui joue ce rôle. C'est un solde par membre pour tout le serveur, partagé par tous ses leaderboards.

  • Une série de victoires ajoute 2 % par victoire, jusqu'au plafond que tu fixes.
  • Affronter le même adversaire encore et encore rapporte moins sur une semaine glissante : les deux premiers matchs sont payés plein pot, puis chaque match suivant rapporte moins, jusqu'à un dixième.
  • Un plafond quotidien limite ce qu'un membre emporte en une journée, et par défaut un compte Discord doit avoir 7 jours avant de gagner quoi que ce soit.
  • Annuler, modifier ou supprimer un résultat reprend le gain, exactement tel qu'il a été versé — si la monnaie a déjà été dépensée, le solde peut passer en négatif. Chaque ligne est visible sur la page boutique du serveur.
  • Les boards Image Rating ne paient rien — il n'y a pas de résultat à tarifer.
  • Les leaderboards Levels (BETA) paient plutôt par niveau : un montant fixe chaque fois qu'un membre atteint un nouveau niveau, réglé dans les paramètres Levels (BETA) du leaderboard et compté dans le plafond quotidien.

Les membres la dépensent sur la page boutique du serveur. Cette page est réservée aux membres du serveur : ils se connectent avec Discord pour voir leur solde, acheter, choisir ce qu'ils portent et déplier n'importe quel gain pour voir exactement comment il a été calculé. Le bouton Shop sous un leaderboard dans Discord les y emmène directement. Le lancement de l'économie peut l'ajouter sous tous les leaderboards d'un coup, et chaque leaderboard a son propre interrupteur dans Discord → Branding & personnalisation.

Cette page se trouve sur scoreboards.dev/shop/ton-serveur, une par serveur, et les pages de leaderboards du serveur y renvoient aussi. Elle vend trois sortes de produits. Les rôles Discord sont attribués dès l'achat, pour toujours ou, avec les locations activées, pour une durée déterminée, après quoi le rôle est retiré et le membre peut le racheter. Scoreboards doit se trouver au-dessus de chaque rôle qu'il vend dans Paramètres du serveur → Rôles, et le dashboard grise un rôle qu'il ne peut pas attribuer en expliquant pourquoi. Les emojis de leaderboard s'affichent à côté du nom de l'acheteur sur les leaderboards du serveur, sur le site comme dans Discord. Un emoji acheté prend la place d'une médaille, top 3 compris, et si les médailles d'un board sont désactivées, il reste affiché tant que l'économie est activée. Les noms eux-mêmes sont débarrassés de leurs emojis sur les boards, donc un emoji acheté ne peut pas être imité en se renommant. Les couleurs de nom colorent le nom de l'acheteur sur le site et sur les leaderboards en image dans Discord, mais pas sur les boards publiés en embed texte. Dès que quelqu'un achète ou équipe quelque chose, les leaderboards Discord où il figure sont redessinés pour l'afficher.

Un serveur peut avoir des saisons de monnaie, distinctes de ses saisons de leaderboards. Quand une se termine — selon la durée fixée dans le dashboard, ou quand un admin la termine là-bas — la suivante commence aussitôt, et avec la division par deux activée, chaque solde de 2 ou plus est d'abord divisé par deux. Les rôles et objets achetés sont conservés. Les membres voient la date de fin à l'avance sur la page de la boutique, et la fin est publiée dans le salon de logs.

Avec le prestige activé, un membre dont le solde atteint le seuil fixé par l'admin peut le brûler entièrement sur la page de la boutique pour le niveau de prestige suivant. Le niveau de prestige s'affiche sous forme d'étoile et de chiffre à côté de son nom sur le leaderboard du site et la carte Discord, survit à chaque fin de saison et est annoncé dans le salon de logs.

Avec le stock tournant activé, chaque objet de la boutique peut avoir une date de début et de fin, fixées quand tu ajoutes ou modifies le produit. Avant le début, la page de la boutique l'affiche comme à venir ; à la fin, il quitte le rayon et ne peut plus être acheté.

Avec les enchères activées, un admin met un rôle ou un cosmétique aux enchères depuis le dashboard et les membres enchérissent sur la page de la boutique. Une offre est débitée quand elle est faite et rendue dès que quelqu'un enchérit plus haut, et une offre dans les cinq dernières minutes repousse la clôture. À la clôture, l'offre gagnante est détruite, le lot remis et le résultat publié dans le salon de logs.

La configuration se fait en quatre étapes sur le dashboard, sous Monnaie, en mode Simple : nomme la monnaie ; choisis comment les membres gagnent parmi trois rythmes, chacun indiquant à peu près ce qu'un membre actif gagne en une semaine ; remplis la boutique, avec un pack de départ en un clic de six couleurs de nom et six emojis de leaderboard au prix adapté à ce rythme (cette étape peut être passée) ; et lance, en cochant la case bêta, avec un bouton Shop sous chaque leaderboard coché par défaut. Les produits s'ajoutent et se modifient dans Monnaie → Boutique, en trois courtes étapes avec des prix suggérés et un aperçu. Le mode Avancé ajoute les montants des gains, qui peut gagner, le salon de logs, les saisons, les locations, le prestige, le stock tournant et les enchères. Les admins donnent de la monnaie et la reprennent depuis le site — via le menu contextuel d'un joueur sur un leaderboard, ou dans Monnaie → Membres pour un membre qui n'est sur aucun board ; les deux sont annoncés dans le salon de logs que tu choisis, pour que personne n'ait à croire un modérateur sur parole. Cette monnaie n'est pas de l'argent : elle n'a aucune valeur réelle, elle ne quitte pas le serveur où elle a été gagnée, et elle peut être remise à zéro à tout moment.