Le bot Ride Master est responsable du système de badges (achievements) du serveur Discord d'Avenir Motard. Cette page décrit la version stable 1.0.0; le bot est considéré comme terminé et ne doit plus être modifié sans décision explicite.
apps/bots/ride-master1.0.0>=20| Commande | Accès | Description |
|---|---|---|
/badge help |
Tous | Afficher l'aide du système de badges |
/badge level |
Tous | Afficher son niveau, sa progression et son activité |
/badge list |
Administrateurs | Lister les badges et le nombre de détenteurs |
/badge add |
Administrateurs | Attribuer un badge à 1 à 5 membres |
/badge remove |
Administrateurs | Retirer un badge à 1 à 5 membres |
/badge by-user |
Administrateurs | Afficher les badges d'un utilisateur |
/badge by-badge |
Administrateurs | Afficher les utilisateurs ayant un badge |
Les commandes d'administration utilisent une saisie de badge avec autocomplétion lorsque celle-ci est disponible. Les réponses d'administration sont éphémères ; le catalogue public des badges est publié dans le salon configuré.
Ride Master écoute le flux temps réel de l'API. Lorsqu'une statistique d'activité est créée ou mise à jour, il réévalue les règles de badges de l'utilisateur concerné. Une vérification automatique est également lancée au démarrage du bot et lors de l'utilisation de /badge level.
Les règles et les seuils des badges sont définis dans packages/shared/config/badges.json.
La configuration par environnement se trouve dans :
packages/shared/config/guild-config/avenir-motards/ride-master.xml pour la production ;packages/shared/config/guild-config/avenir-motards-test/ride-master.xml pour le test.Les paramètres principaux sont :
announcementRideMasterFeed : salon des annonces de badges ;badgeCatalogChannel : salon du catalogue des badges ;badgeCatalogMessageId : message réutilisé pour le catalogue, lorsqu'il existe ;publishBadgeAnnouncements : active ou désactive les annonces de badges sans désactiver leur attribution.Le bot nécessite les variables BOT_TOKEN, API_BASE_URL et API_SERVICE_TOKEN. Elles sont documentées dans apps/bots/ride-master/.env.example et sont fournies par les fichiers d'environnement de la stack Docker.
Depuis la racine du dépôt Efrei-back :
npm run build --workspace apps/bots/ride-master
npm run test --workspace apps/bots/ride-master
npm run lint --workspace apps/bots/ride-master
Le déploiement est défini dans docker-compose.test.yml et docker-compose.prod.yml. Toute évolution du bot doit être traitée comme une nouvelle version et validée avant de modifier la référence stable 1.0.0.