change messages for user
This commit is contained in:
parent
88f53dff32
commit
f2972567c4
8 changed files with 33 additions and 25 deletions
|
|
@ -7,7 +7,7 @@
|
||||||
"invicjusz": "invicjusz",
|
"invicjusz": "invicjusz",
|
||||||
"mrsean.": "sean",
|
"mrsean.": "sean",
|
||||||
"ibenni": "ayana",
|
"ibenni": "ayana",
|
||||||
"zephyr_74135": "zephyr",
|
"izephyrxy": "zephyr",
|
||||||
"eat.jim.sleep": "keira",
|
"eat.jim.sleep": "keira",
|
||||||
"mar1n1987": "marin",
|
"mar1n1987": "marin",
|
||||||
"coba5539": "cobain"
|
"coba5539": "cobain"
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,6 @@
|
||||||
"wrank_down_5": "<:wrank_down_5:1512125030765691072>",
|
"wrank_down_5": "<:wrank_down_5:1512125030765691072>",
|
||||||
"wrank_neutral": "<:wrank_neutral:1511950713713070160>",
|
"wrank_neutral": "<:wrank_neutral:1511950713713070160>",
|
||||||
"wrank_neutral_0": "<:wrank_neutral_0:1511950717290545354>",
|
"wrank_neutral_0": "<:wrank_neutral_0:1511950717290545354>",
|
||||||
"wrank_no_rank": "<:wrank_no_rank:1511956384177062018>",
|
|
||||||
"wrank_no_dash": "<:wrank_no_dash:1511956379403943979>",
|
"wrank_no_dash": "<:wrank_no_dash:1511956379403943979>",
|
||||||
"wrank_up_1": "<:wrank_up_1:1512125132242554890>",
|
"wrank_up_1": "<:wrank_up_1:1512125132242554890>",
|
||||||
"wrank_up_10": "<:wrank_up_10:1512125136445243503>",
|
"wrank_up_10": "<:wrank_up_10:1512125136445243503>",
|
||||||
|
|
@ -101,5 +100,7 @@
|
||||||
"wrank_6_gold": "<:wrank_6_gold:1512125115956203601>",
|
"wrank_6_gold": "<:wrank_6_gold:1512125115956203601>",
|
||||||
"wrank_7_gold": "<:wrank_7_gold:1512125120204771338>",
|
"wrank_7_gold": "<:wrank_7_gold:1512125120204771338>",
|
||||||
"wrank_8_gold": "<:wrank_8_gold:1512125123874918661>",
|
"wrank_8_gold": "<:wrank_8_gold:1512125123874918661>",
|
||||||
"wrank_9_gold": "<:wrank_9_gold:1512125128299905104>"
|
"wrank_9_gold": "<:wrank_9_gold:1512125128299905104>",
|
||||||
|
"wrank_no_rank": "<:wrank_no_rank:1512261782205628606>",
|
||||||
|
"wrank_no_rank_delta": "<:wrank_no_rank_delta:1512263603519229982>"
|
||||||
}
|
}
|
||||||
|
|
@ -1,15 +1,21 @@
|
||||||
{
|
{
|
||||||
"public": {
|
"public": {
|
||||||
"yes": [
|
"yes": [
|
||||||
{ "clicks": 1, "random": true, "messages": ["Dey is in", "Dey is in... for now", "Welcome indeed!", "A bit of this, a bit of that."]},
|
{ "clicks": 1, "random": true, "messages": [
|
||||||
{ "clicks": 2, "random": true, "messages": ["Courageous now, new account afterall"] },
|
"Dey is in",
|
||||||
|
"Dey is in... for now",
|
||||||
|
"Welcome indeed!",
|
||||||
|
"A bit of this, a bit of that.",
|
||||||
|
"Come and see what goods I offer"
|
||||||
|
]},
|
||||||
{ "clicks": 10, "random": true, "messages": ["Now you're just asking for it."] }
|
{ "clicks": 10, "random": true, "messages": ["Now you're just asking for it."] }
|
||||||
],
|
],
|
||||||
"no": [
|
"no": [
|
||||||
{ "clicks": 1, "random": true, "messages": [
|
{ "clicks": 1, "random": true, "messages": [
|
||||||
"Everything's for sale",
|
"Everything's for sale",
|
||||||
"Dey roaching out 🪳",
|
"Dey roaching out 🪳",
|
||||||
"Dey said no... shocking"
|
"Dey said no... shocking",
|
||||||
|
"No more... I yield!"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -4,9 +4,11 @@
|
||||||
{
|
{
|
||||||
"clicks": 1,
|
"clicks": 1,
|
||||||
"random": true,
|
"random": true,
|
||||||
"messages": ["Flash? Flash? Flash!!", "The King has arrived. 👑", "Flash is in, bow down.","{alias[0]} is in"]
|
"messages": [
|
||||||
},
|
"<:wi:1511906503647563807>+<:storm_bringer:1511906496097554594>=<:kd:1511906474497146983>",
|
||||||
{ "clicks": 2, "random": true, "messages": ["Flash? Flash? Flash!!"] }
|
"<:wi:1511906503647563807> Powaaaaaaaaa"
|
||||||
|
]
|
||||||
|
}
|
||||||
],
|
],
|
||||||
"no": [
|
"no": [
|
||||||
{ "clicks": 1, "random": true, "messages": [
|
{ "clicks": 1, "random": true, "messages": [
|
||||||
|
|
|
||||||
|
|
@ -49,15 +49,6 @@ export async function handleRankPost(interaction: ChatInputCommandInteraction):
|
||||||
)
|
)
|
||||||
.setTimestamp();
|
.setTimestamp();
|
||||||
|
|
||||||
// const embed = new EmbedBuilder()
|
|
||||||
// .setTitle(`⚔️ W.Rank Leaderboard — ${weekKey}`)
|
|
||||||
// .setColor(0xe8a317)
|
|
||||||
// .addFields(
|
|
||||||
// { name: "🔵 Capella", value: formatNation("capella"), inline: true },
|
|
||||||
// { name: "🔴 Procyon", value: formatNation("procyon"), inline: true },
|
|
||||||
// )
|
|
||||||
// .setTimestamp();
|
|
||||||
|
|
||||||
const channelId = cfg("resultsChannelId") || cfg("pollChannelId");
|
const channelId = cfg("resultsChannelId") || cfg("pollChannelId");
|
||||||
const channel = await interaction.client.channels.fetch(channelId) as TextChannel;
|
const channel = await interaction.client.channels.fetch(channelId) as TextChannel;
|
||||||
await channel.send({ embeds: [embed] });
|
await channel.send({ embeds: [embed] });
|
||||||
|
|
|
||||||
|
|
@ -111,11 +111,13 @@ function wrankFull(entry: WRankEntry, options: WRankDisplayOptions): string {
|
||||||
* Output: — ( [] — )
|
* Output: — ( [] — )
|
||||||
*/
|
*/
|
||||||
function wrankNoRank(): string {
|
function wrankNoRank(): string {
|
||||||
const dash = getEmoji("wrank_no_dash") || "—";
|
const norank = getEmoji("wrank_no_dash") || "—";
|
||||||
|
const dash = getEmoji("wrank_no_rank_delta") || "—";
|
||||||
const square = getEmoji("wrank_no_dash") || "■";
|
const square = getEmoji("wrank_no_dash") || "■";
|
||||||
return `${dash} (${square} ${dash})`;
|
return `${norank} (${square}${dash})`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// ─── Namespace export ─────────────────────────────────────────────────────────
|
// ─── Namespace export ─────────────────────────────────────────────────────────
|
||||||
|
|
||||||
export const format = {
|
export const format = {
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@ export function upsertScore(score: TGScore): void {
|
||||||
|
|
||||||
// Overwrite existing score for this player+slot
|
// Overwrite existing score for this player+slot
|
||||||
result.scores = result.scores.filter(
|
result.scores = result.scores.filter(
|
||||||
(s) => !(s.userKey === score.userKey && s.slot === score.slot && s.date === score.date)
|
(s) => !(s.userKey === score.userKey && s.characterName === score.characterName && s.slot === score.slot && s.date === score.date)
|
||||||
);
|
);
|
||||||
result.scores.push(score);
|
result.scores.push(score);
|
||||||
saveResult(result);
|
saveResult(result);
|
||||||
|
|
|
||||||
|
|
@ -103,8 +103,12 @@ function recomputeRanks(week: WRankWeek, nation: Nation): void {
|
||||||
const sorted = [...list].sort((a, b) => b.weeklyPoints - a.weeklyPoints);
|
const sorted = [...list].sort((a, b) => b.weeklyPoints - a.weeklyPoints);
|
||||||
sorted.forEach((entry, i) => {
|
sorted.forEach((entry, i) => {
|
||||||
const live = list.find((e) => e.characterName === entry.characterName)!;
|
const live = list.find((e) => e.characterName === entry.characterName)!;
|
||||||
live.previousRank = live.currentRank || undefined;
|
const newRank = i + 1;
|
||||||
live.currentRank = i + 1;
|
// Only snapshot previousRank when rank actually changes
|
||||||
|
if (live.currentRank !== 0 && live.currentRank !== newRank) {
|
||||||
|
live.previousRank = live.currentRank;
|
||||||
|
}
|
||||||
|
live.currentRank = newRank;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -146,6 +150,8 @@ export function getBringer(nation: Nation): string | null {
|
||||||
export function getEntry(characterName: string, nation: Nation): WRankEntry | null {
|
export function getEntry(characterName: string, nation: Nation): WRankEntry | null {
|
||||||
const week = getCurrentWeek();
|
const week = getCurrentWeek();
|
||||||
const list = week.entries[nation.toLowerCase() as "capella" | "procyon"];
|
const list = week.entries[nation.toLowerCase() as "capella" | "procyon"];
|
||||||
|
console.log(`[getEntry] weekKey=${week.weekKey} nation=${nation} listLength=${list?.length} looking for=${characterName}`);
|
||||||
|
console.log(`[getEntry] available:`, list?.map(e => e.characterName));
|
||||||
return list.find((e) => e.characterName === characterName) ?? null;
|
return list.find((e) => e.characterName === characterName) ?? null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue