gistfile1.txt
· 842 B · Text
Eredeti
async update({ weekKey }: { weekKey?: string } = {}): Promise<void> {
const client = DiscordClient.get();
const channelId = Config.get({ section: "channels", key: "leaderboard" });
if (!channelId) { log.warn("leaderboard channel not configured"); return; }
const week = weekKey ? WRank.weekFromKey(weekKey) : WRank.currentWeek();
if (!week) { log.warn(`Week ${weekKey} not found`); return; }
const rows = [
...buildEntries(Nation.Capella, week),
...buildEntries(Nation.Procyon, week),
];
const embed = LeaderboardUI.buildEmbed(week, rows);
await PersistentMessage.post({
store: "leaderboard",
key: week.weekKey,
channelId,
embeds: [embed],
client,
});
log.info(`Leaderboard updated for ${week.weekKey}`);
},
| 1 | async update({ weekKey }: { weekKey?: string } = {}): Promise<void> { |
| 2 | const client = DiscordClient.get(); |
| 3 | const channelId = Config.get({ section: "channels", key: "leaderboard" }); |
| 4 | if (!channelId) { log.warn("leaderboard channel not configured"); return; } |
| 5 | |
| 6 | const week = weekKey ? WRank.weekFromKey(weekKey) : WRank.currentWeek(); |
| 7 | |
| 8 | if (!week) { log.warn(`Week ${weekKey} not found`); return; } |
| 9 | |
| 10 | const rows = [ |
| 11 | ...buildEntries(Nation.Capella, week), |
| 12 | ...buildEntries(Nation.Procyon, week), |
| 13 | ]; |
| 14 | const embed = LeaderboardUI.buildEmbed(week, rows); |
| 15 | |
| 16 | await PersistentMessage.post({ |
| 17 | store: "leaderboard", |
| 18 | key: week.weekKey, |
| 19 | channelId, |
| 20 | embeds: [embed], |
| 21 | client, |
| 22 | }); |
| 23 | |
| 24 | log.info(`Leaderboard updated for ${week.weekKey}`); |
| 25 | }, |