tg-bot-ts/data/updates/v0.5/update.json

47 lines
1.9 KiB
JSON

{
"version": "v0.5",
"date": "2026-06-01",
"title": "W.Rank Improvements",
"layout": "default",
"messageId": null,
"sections": [
{
"type": "new",
"label": "New Features",
"emoji": "✨",
"items": [
{ "text": "W.Rank delta system — tracks rank movement with <:wrank_up:1512114414474756132><:wrank_down:1511906547104616643> and grey placeholder for unchanged", "emojiKey": "wrank_up" },
{ "text": "Midnight snapshot — after 24 hours of no rank change, delta resets to ( - 0 )", "emojiKey": "wrank_1" },
{ "text": "Weekly reset carries Bringer forward — W.Rank 1 with goal TGs becomes next week's Bringer", "emojiKey": "storm_bringer" },
{ "text": "No-rank placeholder alignment — players without W.Rank align with those who have it", "emojiKey": "wrank_no_dash" }
]
},
{
"type": "improvement",
"label": "Improvements",
"emoji": "⚡",
"items": [
{ "text": "W.Rank now tracked per character, not per player — borrowing a character preserves its rank", "emojiKey": "wrank_2_gold" },
{ "text": "Bringer validation — must be W.Rank 1 AND have 7 TGs, otherwise no Bringer this week", "emojiKey": "luminous_bringer" }
]
},
{
"type": "technical",
"label": "Under the Hood",
"emoji": "🔩",
"items": [
{ "text": "`lastRankChangeAt` timestamp on W.Rank entries — drives the 24h snapshot window", "emojiKey": null },
{ "text": "W.Rank keys migrated from lowercase `capella/procyon` to `Nation` enum values", "emojiKey": null },
{ "text": "`WRankEntry` hydration — runtime entries carry full `Character` object, not just flat fields", "emojiKey": null }
]
}
],
"examples": [
{
"caption": "W.Rank delta display — rank movement since last TG",
"type": "poll",
"layout": "default",
"file": "examples/poll-wrank.json"
}
]
}