Repository navigation
V9.4
Notes de version : Kotbo v9.4
Version : v9.4
Statut : Feature Release
Périmètre : Bot, Dashboard, API, MCP, Schéma Prisma & Infrastructure
Résumé
Kotbo v9.4 est la mise à jour la plus dense depuis la v9.0. Le RPG accueille la Tour, un mode roguelite de fin de jeu entièrement réglable depuis le dashboard, accompagné d'une Tour de clan hebdomadaire. La page Analytics est refaite de fond en comble, avec temps réel, alertes sur seuil et rapports planifiés. Les giveaways gagnent un formulaire unique, une galerie de modèles et un aperçu fidèle à Discord, tandis que les workflows reçoivent plus d'une vingtaine de nouveaux déclencheurs et actions.
Côté staff, l'accueil du dashboard affiche désormais ce qui attend d'être traité, les droits par rôle sont appliqués de bout en bout et toute l'interface a été homogénéisée. La version embarque enfin un large chantier de performances, de fiabilité et de sécurité.
Points clés
- La Tour : mode roguelite à étages rendu en image, défi du jour avec podium, boutique d'éclats, Tour de clan hebdomadaire et éditeur d'étages dans le dashboard.
- Analytics nouvelle génération : une quinzaine de vues (engagement, cohortes, temps de réponse, santé des salons, réseau de conversation, mots en hausse), temps réel, alertes, rapports planifiés et vues enregistrées.
- RPG étoffé : arbre de compétences, arène PvP classée, village de guilde, campagne en cinq chapitres, donjons, traque, titres, carnet de pêche et hôtel des ventes repensé.
- Giveaways refondus : un seul formulaire, modèles réutilisables, aperçu en direct, lots RPG, validation par le staff.
- Workflows enrichis : nouveaux déclencheurs (modération, tickets, vocal, concours, formulaires, mini-jeux) et limites de fréquence par membre.
- Dashboard plus clair : bloc « À traiter », « Mon espace », guidage vers les réglages, interface unifiée et mode démonstration.
- Sécurité et anti-raid : ancienneté minimale des comptes, lockdown de salons, droits du dashboard vérifiés côté API.
- Performances : démarrage du bot accéléré, dashboard plus réactif, écritures d'analytics groupées.
Nouveautés et évolutions détaillées
RPG : la Tour
- Un mode roguelite de fin de jeu (
/tour) :- Ascension étage par étage sur une carte rendue en image, avec brouillard, traces de passage, gardien d'étage et record personnel affichés sur la carte.
- Tours pouvant atteindre 300 étages, des cartes de 20x20 et 300 salles.
- Grande variété de salles : boss, champions, épreuves, sanctuaires, marchands, feux de camp, péages, portails, mimiques, pièges, mercenaires, prisonnier, oracle, monstres errants et embuscades impossibles à fuir.
- Ambiances d'étage avec décor propre et météo qui change en cours d'étage, variantes d'étage tirées au sort.
- Combat automatique avec lancement des compétences offensives, simulateur, carte des morts, mentor et niveaux de « Chaleur » pour corser la difficulté.
- Guide des salles directement dans
/tour, avec légende en image.
- Défi du jour : une ascension commune à tout le serveur, renouvelée à minuit dans le fuseau du serveur, avec podium.
- Boutique de la Tour : les éclats gagnés s'échangent contre des statistiques, de l'énergie max, des bons de reconversion (changement de classe gratuit) ou le porte-bonheur. Les achats peuvent être limités et remis à zéro chaque jour ou chaque semaine.
- Tour de clan hebdomadaire : les clans du serveur conquièrent des salles ensemble et débloquent des paliers collectifs.
- Entièrement réglable depuis le dashboard : éditeur d'étages (dessin des salles, pipette, annulation, import, choix du décor), puissance par salle, récompenses, saisons et page Tour refaite.
- Mise en avant : le meilleur étage atteint apparaît dans les classements RPG et sur la page publique.
RPG : progression, combats et économie
- Personnage :
- Arbre de compétences à trois branches par classe.
- Trois emplacements d'accessoire débloqués au fil des niveaux, désormais forgeables et enchantables.
- Carte de personnage générée en image, un bouton « + » par caractéristique.
- Titres configurables, portés sur la carte du personnage, obtenus en récompense et changeables depuis l'inventaire.
- Contenu :
- Campagne en cinq chapitres.
- Arène PvP asynchrone avec classement Elo.
- Village de guilde avec cinq bâtiments, annuaire des guildes et fiche publique.
- Donjons configurables : enchaînement de boss sans récupération de PV, avec récompenses et premiers vainqueurs.
- Traque d'une créature choisie depuis le bestiaire.
- Prime, annonce et rôle offert au premier vainqueur de chaque créature.
- Carnet de pêche avec récompenses de complétion, poissons personnalisables et bonus de première victoire du jour.
- Confort de jeu :
- Inventaire repensé (statistiques, niveau requis, revente, favoris) et comparaison avec l'équipement porté.
- Bestiaire repensé avec carnet de chasse, catalogue de tous les objets du jeu.
- Revente du butin en fin de combat, démantèlement des objets avec indication d'où trouver les matériaux manquants.
- Potions utilisables depuis le hub, travail et quêtes accessibles depuis le hub.
- Boutique plus lisible, avec niveau requis et remise de guilde.
- Économie :
- Hôtel des ventes en panneau unique, vente des objets forgés, taxe réglable depuis le dashboard.
- Série du daily : la récompense augmente jour après jour.
- Quêtes de discussion versées automatiquement, la commande
/quests claimdisparaît. - Salon dédié relayant le flux des points de clan, rééquilibrage des membres vers les nouveaux clans.
- Jeux d'argent activables d'un clic. Le gain de
/dicesur une somme de 8 ou plus passe de 1,5x à 1,4x la mise.
- Réglages serveur : salons autorisés pour
/rpg,/raidet/market(fils compris), rythme des combats, parchemins d'enchantement créés depuis le dashboard, combats PvE rééquilibrés.
Analytics
- Une page refaite : barre latérale repliable, courbes pilotées par des tuiles de chiffres clés, pas horaire, lissage, tendance, prévision, annotations et repères d'anomalies.
- Nouvelles vues :
- Messages et Vocal, avec classements Top N filtrables et exportables.
- Engagement (DAU, WAU, MAU), cohortes d'activité, entonnoir d'arrivée et cycle de vie avec les membres à relancer.
- Temps de réponse, concentration de l'activité, santé des salons avec score et suggestion, réseau de conversation (groupes, ponts, paires, isolés).
- Croissance (arrivées par source, départs selon l'ancienneté), modération (tendances, récidive, délai de sanction), réactivité du staff et tickets.
- Contenu : mots en hausse, nouveaux et en baisse, provenance des emojis.
- Temps réel : activité des 30 dernières minutes en tête de la vue d'ensemble et dans son propre onglet.
- Alertes et rapports : alertes sur seuil rédigées comme une phrase, avec historique, et rapports planifiés hebdomadaires ou mensuels envoyés dans un salon ou en message privé au staff.
- Vues enregistrées privées ou partagées, et onglet de comparaison.
Giveaways
- Un seul formulaire pour lancer un concours ou enregistrer un modèle, avec aperçu de l'annonce pendant la saisie, aux couleurs de Discord et dans la langue du serveur.
- Galerie de modèles montrant chaque modèle tel qu'il sortira sur Discord, et configurations enregistrées sous un nom sans écraser les précédentes.
- Lots RPG : XP, pièces ou objet choisi dans une liste, nommé jusque sur la page publique.
- Règles de participation : une entrée par personne, rôles avantagés, bonus de clan, validation du tirage par le staff.
- Confort : salon par défaut, date de fin au choix, clôture protégée, concours traduits.
Workflows et automatisations
- Nouveaux déclencheurs : sanctions, tickets (fermeture, avis), membres, messages et vocal, modération et structure du serveur, concours, formulaires, suggestions, rôles-réactions, partenariats et victoire à un mini-jeu.
- Sept nouvelles actions de récompense, de suivi et de réponse.
- Garde-fous : limite par membre, par jour ou par heure, filtre de salons et de rôles sur les déclencheurs fréquents.
- Journal des exécutions filtrable et plus lisible.
Dashboard et expérience staff
- Accueil : bloc « À traiter » listant ce qui attend le staff, avec préférences par utilisateur, et « Mon espace » pour les membres sans rôle de staff.
- Prise en main : configurations rapides réunies au même endroit, bouton « Me guider » qui amène jusqu'au réglage concerné et le met en évidence.
- Droits par rôle : les droits du centre de gestion (voir, configurer, supprimer) sont appliqués côté API, la palette de commandes et le profil ne montrent que ce que le rôle ouvre.
- Interface homogénéisée : onglets, boutons et filtres communs, icônes à la place des emojis, tableaux défilables sur mobile, tutoiement, Jeu RPG séparé de l'Économie.
- Connexion : nouvelle page de connexion, contrastes conformes AA.
- Mode démonstration : dashboard autonome avec données simulées et visite guidée.
Communauté et serveur
- Carte de rang : succès, badges, titres, cadres, motifs et fonds exclusifs, modifiables depuis
/rank. Des succès peuvent être attribués à la main par le staff. - Reaction roles : mode et couleur réglables bouton par bouton, panneau modifiable après son déploiement.
- Vocaux temporaires : panneau refondu qui indique l'état du salon, reste à jour après un redémarrage et répond sans attente. Permissions des salons créés réglables, chat du salon ouvert aux membres connectés.
- Réseaux sociaux : suivi des dépôts GitHub et du Hub Hugging Face.
- Mini-jeux : éditeur de rébus emoji dans le dashboard.
- Tickets : suivi de la première réponse, transcription consultable après fermeture.
- Partenariats (aperçu) : fiches partenaires, accords, candidatures, mesure des retombées, annuaire inter-serveurs et commande
/partenariat. Le module est encore en cours de finalisation.
Modération et sécurité
- Anti-raid : ancienneté minimale du compte Discord à l'arrivée, lockdown de salons avec retour aux permissions d'origine, rôles rendus aux membres qui reviennent.
- Doubles comptes : la détection apprend des décisions du staff, avec filtres et tris dans l'onglet Détections.
- Sanctions : salon des alertes de sanction réglable.
- Cloisonnement : les routes du dashboard vérifient le serveur de l'élément visé, le contenu des tickets n'est plus diffusé en temps réel à l'ensemble du dashboard.
- Vie privée : les icônes de serveurs sont relayées par l'API de Kotbo, et l'identifiant de visite anonyme n'est jamais relié à un compte.
- Bots personnalisés : accès réservé à l'offre CUSTOM, secrets chiffrés.
MCP
- Outils de la Tour et de la Tour de clan, administration complète du RPG (monstres, donjons, titres, poissons, quêtes, recettes, guildes, inventaires).
- Lecture et configuration du centre de gestion, salon du flux des points de clan.
- La modification des droits est réservée aux clés dont le propriétaire est administrateur du dashboard.
- Autorisation OAuth compatible avec les clients en ligne de commande et les éditeurs.
Performances et fiabilité
- Démarrage du bot nettement plus rapide et arrêt propre des shards.
- Dashboard plus réactif : réponses non modifiées servies depuis le cache, recherches paginées, requêtes regroupées, nouveaux index.
- Statistiques écrites par lots toutes les 60 secondes.
- Pannes d'infrastructure distinguées des erreurs applicatives, fin des notifications en double.
Correctifs
- Vocaux temporaires : le propriétaire ne devient plus muet après « Verrouiller », le chat du salon n'est plus réservé au créateur.
- Tickets : un salon supprimé depuis Discord ferme bien son ticket, les rappels d'inactivité refusés ne sont plus comptés comme délivrés.
- Logs : plus de logs perdus après un premier envoi, heure des faits respectée, départs vocaux correctement attribués.
- Statistiques : minutes vocales plus comptées en double, bots exclus, tops calculés sur la période demandée.
- RPG : PV entièrement rendus au passage de niveau, inventaire fiable face aux clics rapides, cooldown appliqué aux boss, armes uniques conservées au catalogue.
- Communauté : limites de vote de réputation fiables et classements sans ping, comptage sans faux reset, emojis du serveur acceptés par Starlight, tag officiel détecté par les auto-rôles.
- Dashboard : graphiques qui s'affichaient en noir, guillemets précédés d'un backslash, sélecteur d'emoji hors écran, onglets aux libellés accentués.
- Modération : kick et ban lancés depuis le casier ou le MCP réellement exécutés.
Instances auto-hébergées
- Le démarrage ne lance plus
migrate:deployni la porte de qualité : les migrations sont à appliquer lors du déploiement. - L'image du bot expose le port
8787de l'API et compile les traductions à la construction. - Nouvelles variables documentées dans
.env.example:DATABASE_POOL_SIZE,DATABASE_READ_REPLICA_URL,DATABASE_READ_POOL_SIZE, réglagesANALYTICS_*,GITHUB_TOKEN,HF_TOKEN,CUSTOM_BOT_ENCRYPTION_KEY. - Page d'administration des instances self-host, avec ban et déban.
What's Changed
- Fix/quetes rpg personnelles automatiques by @Intercalaire in #400
- refactor(dashboard): renomme la page publique des clans en /clan-rpg by @Intercalaire in #401
- Recette by @Klaynight-dev in #402
- Add repair for instance stats identity by @Klaynight-dev in #403
- Add missing bump_states DB migration by @Klaynight-dev in #404
- feat(drops): suppression automatique du message d'un drop terminé by @Intercalaire in #405
- refactor(dash): remplace les emoji des derniers paris par des icônes by @Intercalaire in #406
- Recette by @Klaynight-dev in #407
- Fix/dash acces roles by @Intercalaire in #408
- Fix/dash acces roles by @Intercalaire in #409
- Fix/logs details html brut by @Intercalaire in #410
- fix(dash): repare le dossier membre de la gestion staff by @Intercalaire in #411
- Fix/mcp droits matrice acces by @Intercalaire in #412
- Fix/emoji picker hors ecran by @Intercalaire in #414
- Fix/garde sections selecteurs staff by @Intercalaire in #415
- fix(dash): coupe les dernieres lectures qui traversaient une autre section by @Intercalaire in #416
- Fix/dash emoji papicons details by @Intercalaire in #417
- feat(giveaway) : implementation de plusieurs module afin de dinamiser la section des giveaway by @Intercalaire in #418
- feat(giveaway): reprend le bonus de clan et rend les gabarits utilisables by @Intercalaire in #419
- feat(giveaway) by @Intercalaire in #420
- feat(giveaway) by @Intercalaire in #421
- fix(giveaway): repare l'annonce et fusionne lancement et modeles by @Intercalaire in #422
- Fix/giveaway formulaire unique by @Intercalaire in #423
- Fix/giveaway formulaire unique by @Intercalaire in #424
- Fix/giveaway formulaire unique by @Intercalaire in #425
- Fix/giveaway formulaire unique by @Intercalaire in #426
- Fix/giveaway formulaire unique by @Intercalaire in #427
- Fix/giveaway formulaire unique by @Intercalaire in #428
- Feat/reaction roles mode bouton by @Intercalaire in #429
- Fix/centre gestion modules manquants by @Intercalaire in #430
- feat(giveaways): enregistre la configuration sous un nom, sans ecraser les precedentes by @Intercalaire in #431
- Feat/giveaway config presets by @Intercalaire in #432
- Feat/giveaway config presets by @Intercalaire in #433
- fix(giveaways): remet le formulaire devant l'envoi direct dans la liste des modeles by @Intercalaire in #434
- Feat/giveaway config presets by @Intercalaire in #435
- Chore/giveaways nettoyage by @Intercalaire in #436
- Chore/giveaways nettoyage by @Intercalaire in #437
- feat(reaction-roles): permet de choisir la couleur de chaque bouton by @Intercalaire in #438
- Fix/profil droits by @Intercalaire in #439
- fix(dashboard): la palette respecte les droits et suit les acces par role by @Intercalaire in #440
- fix(quetes): paie les quetes de discussion toutes seules et retire /quests claim by @Intercalaire in #442
- Feat/rank card succes by @Intercalaire in #443
- Feat/rank card succes by @Intercalaire in #444
- Feat/rank card succes by @Intercalaire in #445
- Fix/raid boss selection et emojis by @Intercalaire in #446
- fix(rank): carte localisee et succes evalues hors du dashboard by @Intercalaire in #447
- feat(rank): succes attribues a la main depuis le panel admin by @Intercalaire in #448
- feat(anti-raid): anciennete minimale du compte Discord a l'arrivee by @Intercalaire in #449
- fix(fun): rebus visible, emojis acceptes et comptage sans faux reset by @Intercalaire in #450
- Feat/emoji riddle editor by @Intercalaire in #451
- feat(workflows): sept actions de recompense, de suivi et de reponse by @Intercalaire in #452
- Salons fun, automatisations et Custom Bot : rébus, actions, déclencheurs et sécurité by @Intercalaire in #454
- Feat/workflows custom bot by @Intercalaire in #453
- Fix/workflows journal roles by @Intercalaire in #455
- Fix/workflows journal roles by @Intercalaire in #456
- feat(workflows): declencheurs ticket ferme et avis sur un ticket by @Intercalaire in #457
- Fix/workflows sanctions et bans by @Intercalaire in #458
- fix(dashboard): guillemets affiches avec un backslash dans les traductions by @Intercalaire in #459
- Feat/workflows declencheurs by @Intercalaire in #460
- feat(vocaux-temporaires): regler les permissions des salons crees depuis la page by @TojiiSamaa in #461
- feat(clans): reequilibrage vers les nouveaux clans by @Intercalaire in #464
- fix(rpg): remonter les libelles des jauges de la fiche personnage by @Intercalaire in #465
- Fix/rep comptage by @Intercalaire in #466
- Fix/rep comptage by @Intercalaire in #467
- Feat/lockdown classements by @Intercalaire in #468
- fix(dashboard): garder l'onglet selectionne quand son libelle est accentue by @TojiiSamaa in #462
- fix(dashboard): fenetrer le top des membres sur la periode demandee by @TojiiSamaa in #463
- docs(dashboard): corriger le mecanisme decrit dans les commentaires des tops by @TojiiSamaa in #469
- fix(workflows): une sanction de workflow respecte le module Sanctions by @TojiiSamaa in #471
- fix(workflows): le repere de minute murale survit a la duree de l'execution by @TojiiSamaa in #472
- fix(workflows): ne plus boucler sans fin sur les roles poses par le bot by @TojiiSamaa in #470
- Recette by @Klaynight-dev in #474
- fix(rpg): fiabiliser l'inventaire face aux clics concurrents et accelerer le panneau by @Intercalaire in #490
- feat(rpg): dashboard et MCP complets pour le RPG by @Intercalaire in #492
- fix(logs): recuperer le salon de logs absent du cache au lieu de perdre le log by @TojiiSamaa in #479
- Feat/rpg flux points clan by @Intercalaire in #493
- refactor(clans): deplacer le salon du flux des points sur la page Clans by @Intercalaire in #494
- Recette by @Klaynight-dev in #496
- refactor(logs): extraire la couche d'envoi des logs dans un module feuille by @TojiiSamaa in #482
- Perf/build monaco i18n by @Intercalaire in #497
- Perf/demarrage bot by @Intercalaire in #498
- Perf/ready bot by @Intercalaire in #499
- Fix/db pool ws tickets by @Intercalaire in #500
- Perf/quetes partenariats message by @Intercalaire in #501
- Fix/rpg cooldown boss by @Intercalaire in #502
- Feat/rpg salons by @Intercalaire in #503
- Feat/rpg carnet peche by @Intercalaire in #504
- Fix/rpg forge accessoires by @Intercalaire in #505
- Mise en production recette : RPG, performances du bot, logs et tickets by @Intercalaire in #506
- feat(bot): regler le rythme des combats et le demantelement des objets by @Intercalaire in #507
- Recette by @Intercalaire in #508
- Feat/rpg salons autorises potions by @Intercalaire in #510
- Recette by @Intercalaire in #511
- Feat/rpg premier vainqueur by @Intercalaire in #512
- Feat/rpg premier vainqueur by @Intercalaire in #513
- feat(bot): provenance dediee aux points de clan du premier vainqueur by @Intercalaire in #514
- fix(bot): ne plus journaliser d'erreur Prisma a chaque victoire by @Intercalaire in #516
- feat(rpg): premier vainqueur, titres, catalogue des objets et revente du butin by @Intercalaire in #515
- Feat/rpg premier vainqueur by @Intercalaire in #517
- Recette by @Intercalaire in #518
- feat(vocaux) : le panneau dit enfin dans quel état est le salon by @TojiiSamaa in #509
- fix(vocaux): corrections du panneau issues du test en conditions reelles by @TojiiSamaa in #519
- Feat/rpg marche exemplaires by @Intercalaire in #520
- fix(vocaux): panneau — disparition, bot muselle, persistance, et la porte de qualite by @TojiiSamaa in #523
- perf(vocaux): le panneau devient reactif, et deux correctifs restes orphelins by @TojiiSamaa in #526
- fix(vocaux): la carte d'etat tenait tout l'ecran sur telephone by @TojiiSamaa in #527
- Fix/rpg enchantements pv market by @Intercalaire in #528
- fix(tempvoice): le panneau du salon se met a jour sans erreur Components V2 by @Intercalaire in #529
- Mise en production recette : refonte du panneau vocal, exemplaires forges et marche RPG by @Intercalaire in #530
- Feat/UI homogeneisation by @Klaynight-dev in #525
- revert(vocaux): la carte d'etat retrouve la grille de la maquette by @TojiiSamaa in #532
- Mise en production recette : sécurité entre serveurs, économie atomique, série du daily et refonte du dashboard by @Intercalaire in #535
- Recette by @Intercalaire in #536
- Feat/rpg donjons by @Intercalaire in #537
- Feat/rpg donjons recompenses by @Intercalaire in #538
- Fix/rpg premier vainqueur sans prime by @Intercalaire in #539
- Fix/rpg premier vainqueur sans prime by @Intercalaire in #540
- Feat/admin instances selfhost by @Klaynight-dev in #541
- Recette by @Klaynight-dev in #542
- Feat/rpg tower review by @Intercalaire in #546
- feat(rpg): donner du relief à la Tour by @Intercalaire in #547
- Feat/rpg tower depth by @Intercalaire in #548
- fix(rpg): guillemets de la description MCP des salles de la Tour by @Intercalaire in #549
- Feat/rpg tower depth by @Intercalaire in #550
- Feat/rpg tower depth by @Intercalaire in #551
- feat(rpg): compétences achetées au départ et affaiblies dans la Tour by @Intercalaire in #552
- Feat/analytics refonte by @Klaynight-dev in #553
- feat(vocaux): le panneau des salons temporaires devient reglable par serveur by @TojiiSamaa in #543
- Feat/analytics refonte by @Klaynight-dev in #554
- feat(rpg): simulateur, carte des morts, chaleur, mentor et combat auto dans la Tour by @Intercalaire in #555
- feat(rpg): fantômes, nouvelles entrées, sorties et salles dans la Tour by @Intercalaire in #556
- feat(rpg): monstre errant, prisonnier, oracle et catégorie PNJ dans la Tour by @Intercalaire in #557
- fix(rpg): aperçu d'étage du dashboard sous brouillard, comme à l'arrivée du joueur by @Intercalaire in #558
- Feat/rpg tower depth by @Intercalaire in #559
- Feat/rpg clan tower by @Intercalaire in #560
- feat(rpg): tours de 300 étages, cartes de 20x20 et 300 salles by @Intercalaire in #561
- feat(rpg): guide des salles de la Tour dans /tour by @Intercalaire in #562
- feat(rpg): légende en image dans le guide des salles de la Tour by @Intercalaire in #564
- fix(mcp): réponses de la Tour allégées des réglages de salle par défaut by @Intercalaire in #565
- Feat/dashboard demo by @Klaynight-dev in #566
- Recette by @Klaynight-dev in #567
Full Changelog: v9.3...v9.4