koishi-plugin-wordle-game 3.0.0 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/lib/config.d.ts +1 -1
- package/lib/index.js +43 -70
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -20,7 +20,7 @@ yarn add koishi-plugin-wordle-game
|
|
|
20
20
|
| `wordle.查询进度` | 查询当前游戏进度 |
|
|
21
21
|
| `wordle.结束` | 结束游戏 |
|
|
22
22
|
| `wordle.排行榜 [人数]` | 查看排行榜 |
|
|
23
|
-
| `wordle
|
|
23
|
+
| `wordle.战绩 [@某人]` | 查询玩家记录 |
|
|
24
24
|
| `wordle.查单词 <词>` | 查单词引导 |
|
|
25
25
|
| `wordle.查成语 <成语>` | 查询成语的拼音与解释(汉典) |
|
|
26
26
|
| `wordle.拼音速查表` | 查看拼音速查表 |
|
package/lib/config.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export interface Config {
|
|
|
8
8
|
maxSimultaneousGuesses: number;
|
|
9
9
|
compositeImagePageWidth: number;
|
|
10
10
|
compositeImagePageHeight: number;
|
|
11
|
-
|
|
11
|
+
enableDirectInput: boolean;
|
|
12
12
|
shouldPromptWordLengthInput: boolean;
|
|
13
13
|
isPreventUserDuplicateGuessInput: boolean;
|
|
14
14
|
shouldPromptForWordLengthOnNonClassicStart: boolean;
|
package/lib/index.js
CHANGED
|
@@ -79,7 +79,7 @@ var Config = import_koishi.Schema.intersect([
|
|
|
79
79
|
}).description("游戏设置"),
|
|
80
80
|
import_koishi.Schema.intersect([
|
|
81
81
|
import_koishi.Schema.object({
|
|
82
|
-
|
|
82
|
+
enableDirectInput: import_koishi.Schema.boolean().default(true).description(`对局中直接发送猜测词即可续猜,无需指令前缀。`),
|
|
83
83
|
isPreventUserDuplicateGuessInput: import_koishi.Schema.boolean().default(true).description(`拦截重复提交的猜测词。`),
|
|
84
84
|
shouldPromptWordLengthInput: import_koishi.Schema.boolean().default(true).description(
|
|
85
85
|
`引导式开局时,追问一次单词长度。关闭则直接用默认长度。`
|
|
@@ -14079,7 +14079,7 @@ function register2(g) {
|
|
|
14079
14079
|
const equations = g.data.equations;
|
|
14080
14080
|
ctx.middleware(async (session, next) => {
|
|
14081
14081
|
let { channelId, content } = session;
|
|
14082
|
-
if (!config.
|
|
14082
|
+
if (!config.enableDirectInput) {
|
|
14083
14083
|
return await next();
|
|
14084
14084
|
}
|
|
14085
14085
|
if (content) {
|
|
@@ -14121,7 +14121,7 @@ function register2(g) {
|
|
|
14121
14121
|
return await sendMessage(
|
|
14122
14122
|
g,
|
|
14123
14123
|
session,
|
|
14124
|
-
`💡
|
|
14124
|
+
`💡 本频道没有进行中的对局
|
|
14125
14125
|
发送「wordle.开始」开一局。`
|
|
14126
14126
|
);
|
|
14127
14127
|
}
|
|
@@ -14225,7 +14225,7 @@ ${exams.map((exam, index) => `${index + 1}. ${exam}`).join("\n")}
|
|
|
14225
14225
|
);
|
|
14226
14226
|
}
|
|
14227
14227
|
});
|
|
14228
|
-
ctx.command("wordle.开始.经典", "
|
|
14228
|
+
ctx.command("wordle.开始.经典", "以经典模式开局").option("hard", "--hard 困难模式", { fallback: false }).option("ultraHardMode", "--uhard 超困难模式", { fallback: false }).option("absurd", "--absurd 变态模式", { fallback: false }).option("challenge", "--challenge 变态挑战模式", { fallback: false }).option("wordles", "--wordles <value:number> 同时猜测多个单词", {
|
|
14229
14229
|
fallback: 1
|
|
14230
14230
|
}).action(async ({ session, options }) => {
|
|
14231
14231
|
let { channelId, userId, username, timestamp } = session;
|
|
@@ -14643,7 +14643,7 @@ ${image}${tail}`
|
|
|
14643
14643
|
return await sendMessage(
|
|
14644
14644
|
g,
|
|
14645
14645
|
session,
|
|
14646
|
-
`💡
|
|
14646
|
+
`💡 本频道没有进行中的对局
|
|
14647
14647
|
发送「wordle.开始」开一局。`
|
|
14648
14648
|
);
|
|
14649
14649
|
}
|
|
@@ -14678,7 +14678,7 @@ ${image}${tail}`
|
|
|
14678
14678
|
await sendMessage(
|
|
14679
14679
|
g,
|
|
14680
14680
|
session,
|
|
14681
|
-
`⏳ 作答超过 ${config.wordGuessTimeLimitInSeconds}
|
|
14681
|
+
`⏳ 作答超过 ${config.wordGuessTimeLimitInSeconds} 秒,本局结束
|
|
14682
14682
|
发送「wordle.开始」再来一局。`
|
|
14683
14683
|
);
|
|
14684
14684
|
await endGame(g, channelId);
|
|
@@ -14955,7 +14955,7 @@ ${rule}
|
|
|
14955
14955
|
await sendMessage(
|
|
14956
14956
|
g,
|
|
14957
14957
|
session,
|
|
14958
|
-
`💡
|
|
14958
|
+
`💡 按现有线索,已经没有可用的单词了,本局到此为止
|
|
14959
14959
|
发送「wordle.开始」再来一局。`
|
|
14960
14960
|
);
|
|
14961
14961
|
await endGame(g, channelId);
|
|
@@ -15005,7 +15005,7 @@ ${emptyGridHtml}`
|
|
|
15005
15005
|
return await sendMessage(
|
|
15006
15006
|
g,
|
|
15007
15007
|
session,
|
|
15008
|
-
`⏳
|
|
15008
|
+
`⏳ 没有等到有效输入,已按「撤销」处理
|
|
15009
15009
|
${import_koishi3.h.image(
|
|
15010
15010
|
imageBuffer22,
|
|
15011
15011
|
`image/${config.imageType}`
|
|
@@ -15020,7 +15020,7 @@ ${import_koishi3.h.image(
|
|
|
15020
15020
|
return await sendMessage(
|
|
15021
15021
|
g,
|
|
15022
15022
|
session,
|
|
15023
|
-
`✅
|
|
15023
|
+
`✅ 已撤销,挑战继续
|
|
15024
15024
|
${import_koishi3.h.image(
|
|
15025
15025
|
imageBuffer22,
|
|
15026
15026
|
`image/${config.imageType}`
|
|
@@ -15533,7 +15533,7 @@ ${serializedDefinitions ? serializedDefinitions : `• 这个单词的定义暂
|
|
|
15533
15533
|
return sendMessage(
|
|
15534
15534
|
g,
|
|
15535
15535
|
session,
|
|
15536
|
-
`📋
|
|
15536
|
+
`📋 这个用户还没有战绩
|
|
15537
15537
|
发送「wordle.开始」开一局,记录就有了。`
|
|
15538
15538
|
);
|
|
15539
15539
|
}
|
|
@@ -15561,7 +15561,7 @@ function register4(g) {
|
|
|
15561
15561
|
return await sendMessage(
|
|
15562
15562
|
g,
|
|
15563
15563
|
session,
|
|
15564
|
-
`💡
|
|
15564
|
+
`💡 本频道没有进行中的对局
|
|
15565
15565
|
发送「wordle.开始」开一局。`
|
|
15566
15566
|
);
|
|
15567
15567
|
}
|
|
@@ -15845,14 +15845,11 @@ __name(getLeaderboardFastestGuessTime, "getLeaderboardFastestGuessTime");
|
|
|
15845
15845
|
// src/commands/leaderboard.ts
|
|
15846
15846
|
function register5(g) {
|
|
15847
15847
|
const { ctx, config } = g;
|
|
15848
|
-
ctx.command("wordle.排行榜 [
|
|
15849
|
-
async ({ session },
|
|
15848
|
+
ctx.command("wordle.排行榜 [count:posint]", "查看排行榜").action(
|
|
15849
|
+
async ({ session }, count = config.defaultMaxLeaderboardEntries) => {
|
|
15850
15850
|
let { username, userId } = session;
|
|
15851
15851
|
username = await getSessionUserName(g, session);
|
|
15852
15852
|
await updateNameInPlayerRecord(g, session, userId, username);
|
|
15853
|
-
if (typeof number !== "number" || isNaN(number) || number < 0) {
|
|
15854
|
-
return "⚠️ 排行榜人数须是不小于 0 的整数。";
|
|
15855
|
-
}
|
|
15856
15853
|
await sendMessage(
|
|
15857
15854
|
g,
|
|
15858
15855
|
session,
|
|
@@ -15868,9 +15865,9 @@ ${rankType.map((type, index) => `${index + 1}. ${type}`).join("\n")}
|
|
|
15868
15865
|
const userInputNumber = parseInt(userInput);
|
|
15869
15866
|
if (!isNaN(userInputNumber) && userInputNumber > 0 && userInputNumber <= rankType.length) {
|
|
15870
15867
|
const rankName = rankType[userInputNumber - 1];
|
|
15871
|
-
await session.execute(`wordle.排行榜.${rankName} ${
|
|
15868
|
+
await session.execute(`wordle.排行榜.${rankName} ${count}`);
|
|
15872
15869
|
} else if (rankType.includes(userInput)) {
|
|
15873
|
-
await session.execute(`wordle.排行榜.${userInput} ${
|
|
15870
|
+
await session.execute(`wordle.排行榜.${userInput} ${count}`);
|
|
15874
15871
|
} else {
|
|
15875
15872
|
return sendMessage(g, session, `⚠️ 认不出这一项
|
|
15876
15873
|
发送上面列出的序号或名称。`);
|
|
@@ -15878,14 +15875,11 @@ ${rankType.map((type, index) => `${index + 1}. ${type}`).join("\n")}
|
|
|
15878
15875
|
}
|
|
15879
15876
|
);
|
|
15880
15877
|
rankType2.forEach((type) => {
|
|
15881
|
-
ctx.command(`wordle.排行榜.${type} [
|
|
15882
|
-
async ({ session },
|
|
15878
|
+
ctx.command(`wordle.排行榜.${type} [count:posint]`, `查看${type}排行榜`).action(
|
|
15879
|
+
async ({ session }, count = config.defaultMaxLeaderboardEntries) => {
|
|
15883
15880
|
let { username, userId } = session;
|
|
15884
15881
|
username = await getSessionUserName(g, session);
|
|
15885
15882
|
await updateNameInPlayerRecord(g, session, userId, username);
|
|
15886
|
-
if (typeof number !== "number" || isNaN(number) || number < 0) {
|
|
15887
|
-
return "⚠️ 排行榜人数须是不小于 0 的整数。";
|
|
15888
|
-
}
|
|
15889
15883
|
let rankType3;
|
|
15890
15884
|
if (type === "总") {
|
|
15891
15885
|
rankType3 = ["胜场", "输场"];
|
|
@@ -15910,11 +15904,11 @@ ${rankType3.map((type2, index) => `${index + 1}. ${type2}`).join("\n")}
|
|
|
15910
15904
|
if (!isNaN(userInputNumber) && userInputNumber > 0 && userInputNumber <= rankType3.length) {
|
|
15911
15905
|
const rankName = rankType3[userInputNumber - 1];
|
|
15912
15906
|
await session.execute(
|
|
15913
|
-
`wordle.排行榜.${type}.${rankName} ${
|
|
15907
|
+
`wordle.排行榜.${type}.${rankName} ${count}`
|
|
15914
15908
|
);
|
|
15915
15909
|
} else if (rankType3.includes(userInput)) {
|
|
15916
15910
|
await session.execute(
|
|
15917
|
-
`wordle.排行榜.${type}.${userInput} ${
|
|
15911
|
+
`wordle.排行榜.${type}.${userInput} ${count}`
|
|
15918
15912
|
);
|
|
15919
15913
|
} else {
|
|
15920
15914
|
return sendMessage(g, session, `⚠️ 认不出这一项
|
|
@@ -15924,79 +15918,67 @@ ${rankType3.map((type2, index) => `${index + 1}. ${type2}`).join("\n")}
|
|
|
15924
15918
|
);
|
|
15925
15919
|
});
|
|
15926
15920
|
ctx.command(
|
|
15927
|
-
"wordle.排行榜.猜出次数 [
|
|
15921
|
+
"wordle.排行榜.猜出次数 [count:posint]",
|
|
15928
15922
|
"查看玩家猜出次数排行榜"
|
|
15929
15923
|
).action(
|
|
15930
|
-
async ({ session },
|
|
15924
|
+
async ({ session }, count = config.defaultMaxLeaderboardEntries) => {
|
|
15931
15925
|
let { username, userId } = session;
|
|
15932
15926
|
username = await getSessionUserName(g, session);
|
|
15933
15927
|
await updateNameInPlayerRecord(g, session, userId, username);
|
|
15934
|
-
if (typeof number !== "number" || isNaN(number) || number < 0) {
|
|
15935
|
-
return "⚠️ 排行榜人数须是不小于 0 的整数。";
|
|
15936
|
-
}
|
|
15937
15928
|
return await getLeaderboard(
|
|
15938
15929
|
g,
|
|
15939
15930
|
session,
|
|
15940
15931
|
"wordGuessCount",
|
|
15941
15932
|
"玩家猜出次数排行榜",
|
|
15942
|
-
|
|
15933
|
+
count
|
|
15943
15934
|
);
|
|
15944
15935
|
}
|
|
15945
15936
|
);
|
|
15946
15937
|
ctx.command(
|
|
15947
|
-
"wordle.排行榜.总.胜场 [
|
|
15938
|
+
"wordle.排行榜.总.胜场 [count:posint]",
|
|
15948
15939
|
"查看玩家总胜场排行榜"
|
|
15949
15940
|
).action(
|
|
15950
|
-
async ({ session },
|
|
15941
|
+
async ({ session }, count = config.defaultMaxLeaderboardEntries) => {
|
|
15951
15942
|
let { username, userId } = session;
|
|
15952
15943
|
username = await getSessionUserName(g, session);
|
|
15953
15944
|
await updateNameInPlayerRecord(g, session, userId, username);
|
|
15954
|
-
if (typeof number !== "number" || isNaN(number) || number < 0) {
|
|
15955
|
-
return "⚠️ 排行榜人数须是不小于 0 的整数。";
|
|
15956
|
-
}
|
|
15957
15945
|
return await getLeaderboard(
|
|
15958
15946
|
g,
|
|
15959
15947
|
session,
|
|
15960
15948
|
"win",
|
|
15961
15949
|
"玩家总胜场排行榜",
|
|
15962
|
-
|
|
15950
|
+
count
|
|
15963
15951
|
);
|
|
15964
15952
|
}
|
|
15965
15953
|
);
|
|
15966
15954
|
ctx.command(
|
|
15967
|
-
"wordle.排行榜.总.输场 [
|
|
15955
|
+
"wordle.排行榜.总.输场 [count:posint]",
|
|
15968
15956
|
"查看玩家总输场排行榜"
|
|
15969
15957
|
).action(
|
|
15970
|
-
async ({ session },
|
|
15958
|
+
async ({ session }, count = config.defaultMaxLeaderboardEntries) => {
|
|
15971
15959
|
let { username, userId } = session;
|
|
15972
15960
|
username = await getSessionUserName(g, session);
|
|
15973
15961
|
await updateNameInPlayerRecord(g, session, userId, username);
|
|
15974
|
-
if (typeof number !== "number" || isNaN(number) || number < 0) {
|
|
15975
|
-
return "⚠️ 排行榜人数须是不小于 0 的整数。";
|
|
15976
|
-
}
|
|
15977
15962
|
return await getLeaderboard(
|
|
15978
15963
|
g,
|
|
15979
15964
|
session,
|
|
15980
15965
|
"lose",
|
|
15981
15966
|
"玩家总输场排行榜",
|
|
15982
|
-
|
|
15967
|
+
count
|
|
15983
15968
|
);
|
|
15984
15969
|
}
|
|
15985
15970
|
);
|
|
15986
15971
|
rankType4.forEach((type) => {
|
|
15987
15972
|
ctx.command(
|
|
15988
|
-
`wordle.排行榜.${type}.胜场 [
|
|
15973
|
+
`wordle.排行榜.${type}.胜场 [count:posint]`,
|
|
15989
15974
|
`查看${type}胜场排行榜`
|
|
15990
15975
|
).option("hard", "--hard 查看困难模式", { fallback: false }).option("wordles", "--wordles <value:number> 查看多猜测模式", {
|
|
15991
15976
|
fallback: 0
|
|
15992
15977
|
}).action(
|
|
15993
|
-
async ({ session, options },
|
|
15978
|
+
async ({ session, options }, count = config.defaultMaxLeaderboardEntries) => {
|
|
15994
15979
|
let { username, userId } = session;
|
|
15995
15980
|
username = await getSessionUserName(g, session);
|
|
15996
15981
|
await updateNameInPlayerRecord(g, session, userId, username);
|
|
15997
|
-
if (typeof number !== "number" || isNaN(number) || number < 0) {
|
|
15998
|
-
return "⚠️ 排行榜人数须是不小于 0 的整数。";
|
|
15999
|
-
}
|
|
16000
15982
|
if (type === "词影" && options.wordles !== 0 || type === "词影" && options.hard) {
|
|
16001
15983
|
if (options.wordles === 0) {
|
|
16002
15984
|
options.wordles = 1;
|
|
@@ -16013,30 +15995,27 @@ ${rankType3.map((type2, index) => `${index + 1}. ${type2}`).join("\n")}
|
|
|
16013
15995
|
session,
|
|
16014
15996
|
options.wordles,
|
|
16015
15997
|
`玩家胜场排行榜(词影 x${options.wordles}${options.hard && options.wordles === 1 ? "(困难)" : ""})`,
|
|
16016
|
-
|
|
15998
|
+
count,
|
|
16017
15999
|
options.hard
|
|
16018
16000
|
);
|
|
16019
16001
|
}
|
|
16020
16002
|
return await sendMessage(
|
|
16021
16003
|
g,
|
|
16022
16004
|
session,
|
|
16023
|
-
await getLeaderboardWinOrLose(g, type,
|
|
16005
|
+
await getLeaderboardWinOrLose(g, type, count, "win", "胜场")
|
|
16024
16006
|
);
|
|
16025
16007
|
}
|
|
16026
16008
|
);
|
|
16027
16009
|
ctx.command(
|
|
16028
|
-
`wordle.排行榜.${type}.输场 [
|
|
16010
|
+
`wordle.排行榜.${type}.输场 [count:posint]`,
|
|
16029
16011
|
`查看${type}输场排行榜`
|
|
16030
16012
|
).option("hard", "--hard 查看困难模式", { fallback: false }).option("wordles", "--wordles <value:number> 查看多猜测模式", {
|
|
16031
16013
|
fallback: 0
|
|
16032
16014
|
}).action(
|
|
16033
|
-
async ({ session, options },
|
|
16015
|
+
async ({ session, options }, count = config.defaultMaxLeaderboardEntries) => {
|
|
16034
16016
|
let { username, userId } = session;
|
|
16035
16017
|
username = await getSessionUserName(g, session);
|
|
16036
16018
|
await updateNameInPlayerRecord(g, session, userId, username);
|
|
16037
|
-
if (typeof number !== "number" || isNaN(number) || number < 0) {
|
|
16038
|
-
return "⚠️ 排行榜人数须是不小于 0 的整数。";
|
|
16039
|
-
}
|
|
16040
16019
|
if (type === "词影" && options.wordles !== 0 || type === "词影" && options.hard) {
|
|
16041
16020
|
if (options.wordles === 0) {
|
|
16042
16021
|
options.wordles = 1;
|
|
@@ -16053,30 +16032,27 @@ ${rankType3.map((type2, index) => `${index + 1}. ${type2}`).join("\n")}
|
|
|
16053
16032
|
session,
|
|
16054
16033
|
options.wordles,
|
|
16055
16034
|
`玩家输场排行榜(词影 x${options.wordles}${options.hard && options.wordles === 1 ? "(困难)" : ""})`,
|
|
16056
|
-
|
|
16035
|
+
count,
|
|
16057
16036
|
options.hard
|
|
16058
16037
|
);
|
|
16059
16038
|
}
|
|
16060
16039
|
return await sendMessage(
|
|
16061
16040
|
g,
|
|
16062
16041
|
session,
|
|
16063
|
-
await getLeaderboardWinOrLose(g, type,
|
|
16042
|
+
await getLeaderboardWinOrLose(g, type, count, "lose", "输场")
|
|
16064
16043
|
);
|
|
16065
16044
|
}
|
|
16066
16045
|
);
|
|
16067
16046
|
ctx.command(
|
|
16068
|
-
`wordle.排行榜.${type}.最快用时 [
|
|
16047
|
+
`wordle.排行榜.${type}.最快用时 [count:posint]`,
|
|
16069
16048
|
`查看${type}最快用时排行榜`
|
|
16070
16049
|
).option("hard", "--hard 查看困难模式", { fallback: false }).option("wordles", "--wordles <value:number> 查看多猜测模式", {
|
|
16071
16050
|
fallback: 0
|
|
16072
16051
|
}).action(
|
|
16073
|
-
async ({ session, options },
|
|
16052
|
+
async ({ session, options }, count = config.defaultMaxLeaderboardEntries) => {
|
|
16074
16053
|
let { username, userId } = session;
|
|
16075
16054
|
username = await getSessionUserName(g, session);
|
|
16076
16055
|
await updateNameInPlayerRecord(g, session, userId, username);
|
|
16077
|
-
if (typeof number !== "number" || isNaN(number) || number < 0) {
|
|
16078
|
-
return "⚠️ 排行榜人数须是不小于 0 的整数。";
|
|
16079
|
-
}
|
|
16080
16056
|
if (type === "词影" && options.wordles !== 0 || type === "词影" && options.hard) {
|
|
16081
16057
|
if (options.wordles === 0) {
|
|
16082
16058
|
options.wordles = 1;
|
|
@@ -16093,31 +16069,28 @@ ${rankType3.map((type2, index) => `${index + 1}. ${type2}`).join("\n")}
|
|
|
16093
16069
|
session,
|
|
16094
16070
|
options.wordles,
|
|
16095
16071
|
`玩家最快用时排行榜(词影 x${options.wordles}${options.hard && options.wordles === 1 ? "(困难)" : ""})`,
|
|
16096
|
-
|
|
16072
|
+
count,
|
|
16097
16073
|
options.hard
|
|
16098
16074
|
);
|
|
16099
16075
|
}
|
|
16100
16076
|
return await sendMessage(
|
|
16101
16077
|
g,
|
|
16102
16078
|
session,
|
|
16103
|
-
await getLeaderboardFastestGuessTime(g, type,
|
|
16079
|
+
await getLeaderboardFastestGuessTime(g, type, count)
|
|
16104
16080
|
);
|
|
16105
16081
|
}
|
|
16106
16082
|
);
|
|
16107
16083
|
});
|
|
16108
16084
|
ctx.command(
|
|
16109
|
-
"wordle.排行榜.词影.猜出次数 [
|
|
16085
|
+
"wordle.排行榜.词影.猜出次数 [count:posint]",
|
|
16110
16086
|
"查看玩家猜出次数排行榜(词影)"
|
|
16111
16087
|
).option("hard", "--hard 查看困难模式", { fallback: false }).option("wordles", "--wordles <value:number> 查看多猜测模式", {
|
|
16112
16088
|
fallback: 1
|
|
16113
16089
|
}).action(
|
|
16114
|
-
async ({ session, options },
|
|
16090
|
+
async ({ session, options }, count = config.defaultMaxLeaderboardEntries) => {
|
|
16115
16091
|
let { username, userId } = session;
|
|
16116
16092
|
username = await getSessionUserName(g, session);
|
|
16117
16093
|
await updateNameInPlayerRecord(g, session, userId, username);
|
|
16118
|
-
if (typeof number !== "number" || isNaN(number) || number < 0) {
|
|
16119
|
-
return "⚠️ 排行榜人数须是不小于 0 的整数。";
|
|
16120
|
-
}
|
|
16121
16094
|
if (typeof options.wordles !== "number" || options.wordles < 1 || options.wordles > 4) {
|
|
16122
16095
|
return await sendMessage(
|
|
16123
16096
|
g,
|
|
@@ -16131,7 +16104,7 @@ ${rankType3.map((type2, index) => `${index + 1}. ${type2}`).join("\n")}
|
|
|
16131
16104
|
options.wordles,
|
|
16132
16105
|
"successCount",
|
|
16133
16106
|
`玩家猜出次数排行榜(词影 x${options.wordles}${options.hard && options.wordles === 1 ? "(困难)" : ""})`,
|
|
16134
|
-
|
|
16107
|
+
count,
|
|
16135
16108
|
options.hard
|
|
16136
16109
|
);
|
|
16137
16110
|
}
|