Repository navigation
feat(seniority): ancienneté recalculée supprimée un an après le départ - #402
Merged
Merged
Conversation
2 tasks
AntoineJT
force-pushed
the
feat/seniority-retention
branch
from
November 10, 2026 03:32
2cf71e9 to
6ebecf9
Compare
AntoineJT
force-pushed
the
feat/seniority-retention
branch
2 times, most recently
from
November 10, 2026 03:44
3bdc6cb to
8be45da
Compare
Un membre parti ne peut plus lancer /privacy delete : sa date recalculée est désormais supprimée un an (calendaire) après son départ. Une tâche de maintenance quotidienne, lancée aussi au démarrage, compare les dates à la liste des membres du serveur, chargée une fois et partagée avec les autres modules : elle date les départs, oublie ceux des membres revenus et rattrape ce que le bot a manqué pendant une panne. Sans liste complète, elle interroge Discord membre par membre. Elle tourne même quand le module est écarté, et supprime les dates d'un serveur où il est désactivé. fetchMember peut interroger Discord plutôt que le cache, et traite un identifiant sans utilisateur comme un membre parti.
AntoineJT
force-pushed
the
feat/seniority-retention
branch
from
November 10, 2026 03:47
8be45da to
86dfc32
Compare
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.
🇫🇷 Français
🎯 Résumé
Une ancienneté recalculée est supprimée un an après le départ du membre, au sens du calendrier : le même jour, un an plus tard. Troisième niveau de la pile #401 → #399 → cette PR, qui sort dans la même release que #399.
🤔 Motivation
/privacy deletene fonctionne que depuis le serveur, donc un membre parti ne peut plus effacer sa date recalculée. Sans limite, elle resterait indéfiniment. Un an laisse le temps de revenir, la date restant alors juste.📦 Contenu
sweep-departures), à 04 h 30 UTC et au démarrage du bot.leftAt(le jour où le bot a constaté le départ), avec sa propre migration. Un recalcul la remet à zéro.fetchMemberpeut interroger Discord plutôt que le cache, et traite un identifiant sans utilisateur comme un membre parti.functional.mdet politique de confidentialité (fr et en), qui précise aussi ce qui se passe quand le bot quitte un serveur.🧭 À noter
🇬🇧 English
🎯 Summary
A recomputed seniority is deleted a calendar year after the member leaves: on the same day, a year later. Third level of the stack #401 → #399 → this PR, which ships in the same release as #399.
🤔 Motivation
/privacy deleteonly works from within the server, so a member who left can no longer delete their recomputed date. With no limit, it would stay forever. A year leaves time to come back, with the date still right.📦 What's included
sweep-departures), at 04:30 UTC and when the bot starts.leftAtcolumn (the day the bot noticed the departure), with its own migration. A recompute resets it.fetchMembercan ask Discord rather than the cache, and treats an id with no user as a member who left.functional.mdand privacy policy (fr and en), which also says what happens when the bot leaves a server.🧭 Notes
Open in [code]smith · Need help on this PR? Tag
@codesmith-botwith what you need.