Conversation
Lramelot
marked this pull request as draft
October 3, 2026 08:09
Lramelot
force-pushed
the
feat/rngdle
branch
2 times, most recently
from
October 3, 2026 10:22
7132d15 to
be36797
Compare
Contributor
Author
Lramelot
marked this pull request as ready for review
October 3, 2026 10:26
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Portage de RNGdle depuis DJ4H
Cette PR termine la migration de DJ4H vers OmniBot : après le jeu des 4h (#217), elle porte toute la partie RNGdle dans un nouveau module
rngdle. Une fois déployée et les comptes importés, DJ4H peut être arrêté.Le module suit les tirages quotidiens des membres sur rngdle.com. Un administrateur lie chaque membre à son pseudo RNGdle, puis le bot télécharge ses tirages et en tire des classements, des profils et des statistiques en image, ainsi qu'un classement quotidien publié automatiquement.
Le module
rngdle/rngdle leaderboard(classement du jour),/rngdle profile [member] [username](profil d'un joueur, avec autocomplétion des pseudos liés),/rngdle server-stats(statistiques du serveur) et/rngdle leaderboard-all [page](classement général paginé avec boutons)./rngdle-admin register|delete|show|refresh|clear.registervérifie que le pseudo existe et importe tout l'historique ;refresh full:trueretélécharge tout, au plus une fois par quart d'heure./config rngdle; l'ancienne commande/rngdle-admin setleaderboarddisparaît.Corrections par rapport à DJ4H
cleareffaçait les tirages de tous les serveurs,refreshsynchronisait tous les serveurs, et un joueur inscrit sur deux serveurs ne voyait ses tirages enregistrés que sur l'un d'eux. Tout est isolé par serveur.clearou un changement de pseudo.BIGINT, un pseudo lié à un seul membre par serveur, plus de mention codée en dur « TnTube ».Changements dans le cœur, utiles aux autres modules
declareTask({ id, schedule, runOnStart, run })(#lib/task.ts), enregistrées via leRegistryet planifiées aveccroner(UTC, pas de chevauchement, erreurs journalisées). Guide : « Tâches planifiées ».renderLeaderboardTable(#lib/leaderboard-table) etrenderStatCard(#lib/stat-card), plus les primitives de#lib/imaging. Le jeu des 4h et RNGdle s'en servent ; la police et les médailles ne sont plus dupliquées. Guide : « Générer des images ». Le texte des classements est désormais centré verticalement de façon uniforme, quel que soit le pseudo.try/catch.clientetmodulesvivent dans#core/runtime.tsau lieu de#index.js. Les modules peuvent importer les services du cœur normalement (le jeu des 4h en profite aussi).KeyedQueue(file par clé) etRevisionCache(cache invalidé par révision), utilisés par les deux modules au lieu de deux copies.Reprise des données
Les tirages n'ont pas besoin d'être migrés : l'API de rngdle.com renvoie tout l'historique d'un joueur. Seuls les comptes liés et les salons de classement sont repris, avec
scripts/export-dj4h-rngdle.tsqui litdj4h.dbet produit un SQL idempotent à appliquer dans le conteneur PostgreSQL. La procédure complète est dansdocs/specs/rngdle-migration.md.Tests
clearsérialisé derrière une synchro, cooldown, rendu des quatre images avec les vraies données.Avant de déployer
rngdlecrée trois tables (RngdleAccount,RngdleRoll,RngdleScoreTable), appliquées par le conteneur migrator.www.rngdle.com(c'est le cas du réseauegressdecompose.prod.yaml).docs/specs/rngdle-migration.md.🤖 Generated with Claude Code