koishi-plugin-mcdle 0.2.0 → 0.3.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/lib/index.d.ts +1 -1
- package/lib/index.js +32 -31
- package/package.json +1 -1
package/lib/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Context, Schema, Session } from 'koishi';
|
|
2
2
|
import { MobData, BlockData, ItemData } from './data';
|
|
3
3
|
export declare const name = "mcdle";
|
|
4
|
-
export declare const usage = "## \u4F7F\u7528\n\n\u53D1\u9001 `mcdle` \u67E5\u770B\u73A9\u6CD5\u4E0E\u5168\u90E8\u6307\u4EE4\u3002`mcdle.\u731C [\u540D\u79F0]` \u7528\u6709\u6548\u8BCD\u6761\u5F00\u5C40\u6216\u731C\u6D4B\u3002\u9996\u6B21\u731C\u6D4B\u7684\u8BCD\u6761\u51B3\u5B9A\u751F\u7269\u3001\u7269\u54C1\u6216\u65B9\u5757\u6A21\u5F0F\uFF0C\u7CFB\u7EDF\u518D\u4ECE\u540C\u7C7B\u8BCD\u5E93\u4E2D\u62BD\u53D6\u7B54\u6848\u3002\n\n## \u63D0\u793A\n\n| \u7B26\u53F7 | \u542B\u4E49 |\n| --- | --- |\n| \uD83D\uDFE9 | \u5B8C\u5168\u5339\u914D |\n| \uD83D\uDFE8 | \u90E8\u5206\u5339\u914D |\n| \uD83D\uDFE5 | \u4E0D\u5339\u914D |\n| \uD83D\uDFE5\u2B06\uFE0F / \uD83D\uDFE5\u2B07\uFE0F | \u7B54\u6848\u66F4\u5927 / \u66F4\u5C0F |\n\n## \u6307\u4EE4\n\n| \u6307\u4EE4 | \u8BF4\u660E |\n| --- | --- |\n| `mcdle` | \u73A9\u6CD5\u4E0E\u6307\u4EE4\u8BF4\u660E |\n| `mcdle.\u731C [\u540D\u79F0]` | \u7528\u6709\u6548\u8BCD\u6761\u5F00\u5C40\u6216\u731C\u6D4B |\n| `mcdle.\u88F8\u731C [\u5F00/\u5173]` | \
|
|
4
|
+
export declare const usage = "## \u4F7F\u7528\n\n\u53D1\u9001 `mcdle` \u67E5\u770B\u73A9\u6CD5\u4E0E\u5168\u90E8\u6307\u4EE4\u3002`mcdle.\u731C [\u540D\u79F0]` \u7528\u6709\u6548\u8BCD\u6761\u5F00\u5C40\u6216\u731C\u6D4B\u3002\u9996\u6B21\u731C\u6D4B\u7684\u8BCD\u6761\u51B3\u5B9A\u751F\u7269\u3001\u7269\u54C1\u6216\u65B9\u5757\u6A21\u5F0F\uFF0C\u7CFB\u7EDF\u518D\u4ECE\u540C\u7C7B\u8BCD\u5E93\u4E2D\u62BD\u53D6\u7B54\u6848\u3002\n\n## \u63D0\u793A\n\n| \u7B26\u53F7 | \u542B\u4E49 |\n| --- | --- |\n| \uD83D\uDFE9 | \u5B8C\u5168\u5339\u914D |\n| \uD83D\uDFE8 | \u90E8\u5206\u5339\u914D |\n| \uD83D\uDFE5 | \u4E0D\u5339\u914D |\n| \uD83D\uDFE5\u2B06\uFE0F / \uD83D\uDFE5\u2B07\uFE0F | \u7B54\u6848\u66F4\u5927 / \u66F4\u5C0F |\n\n## \u6307\u4EE4\n\n| \u6307\u4EE4 | \u8BF4\u660E |\n| --- | --- |\n| `mcdle` | \u73A9\u6CD5\u4E0E\u6307\u4EE4\u8BF4\u660E |\n| `mcdle.\u731C [\u540D\u79F0]` | \u7528\u6709\u6548\u8BCD\u6761\u5F00\u5C40\u6216\u731C\u6D4B |\n| `mcdle.\u88F8\u731C [\u5F00/\u5173]` | \u5F00\u5173\u672C\u9891\u9053\u7684\u65E0\u524D\u7F00\u7EED\u731C |\n| `mcdle.\u6392\u884C\u699C` | \u7FA4\u5185\u6218\u7EE9 |\n| `mcdle.\u8BCD\u5E93` | \u5168\u90E8\u8BCD\u6761 |";
|
|
5
5
|
export declare const inject: {
|
|
6
6
|
required: string[];
|
|
7
7
|
optional: string[];
|
package/lib/index.js
CHANGED
|
@@ -15917,7 +15917,7 @@ function helpCard(dailyLimit, allowRepeat, middleware) {
|
|
|
15917
15917
|
<div class="row"><span class="cmd">mcdle</span><span class="m">这份玩法与指令说明</span></div>
|
|
15918
15918
|
<div class="row"><span class="cmd">mcdle.猜 [名称]</span><span class="m">开始一局,或提交猜测</span></div>
|
|
15919
15919
|
<div class="row"><span class="cmd">mcdle.猜</span><span class="m">局中直接使用可回看当前棋盘</span></div>
|
|
15920
|
-
<div class="row"><span class="cmd">mcdle.裸猜 [开/关]</span><span class="m"
|
|
15920
|
+
<div class="row"><span class="cmd">mcdle.裸猜 [开/关]</span><span class="m">临时切换本频道的无前缀续猜</span></div>
|
|
15921
15921
|
<div class="row"><span class="cmd">mcdle.排行榜</span><span class="m">查看群内战绩</span></div>
|
|
15922
15922
|
<div class="row"><span class="cmd">mcdle.词库</span><span class="m">查阅全部候选词条</span></div>
|
|
15923
15923
|
</div></div>
|
|
@@ -15927,7 +15927,7 @@ function helpCard(dailyLimit, allowRepeat, middleware) {
|
|
|
15927
15927
|
<div class="panel"><div class="rows">
|
|
15928
15928
|
<div class="row"><span class="k">·</span><span>每个群每日可开始 <b>${dailyLimit}</b> 局,跨零点重置。</span></div>
|
|
15929
15929
|
<div class="row"><span class="k">·</span><span>${allowRepeat ? "允许重复提交已经猜过的词条。" : "同一局内不能重复提交已猜过的词条。"}</span></div>
|
|
15930
|
-
<div class="row"><span class="k">·</span><span>${middleware ? "
|
|
15930
|
+
<div class="row"><span class="k">·</span><span>${middleware ? "本频道裸猜已开启:只接受当前模式词库中的完整纯文本词条。" : "本频道裸猜已停用:续猜请用完整指令。"}</span></div>
|
|
15931
15931
|
<div class="row"><span class="k">·</span><span>空指令与词库外名称不会开启新局或消耗额度。</span></div>
|
|
15932
15932
|
<div class="row"><span class="k">·</span><span>词条与数据来自 Minecraft Wiki,版本号按发布先后比较。</span></div>
|
|
15933
15933
|
</div></div>
|
|
@@ -15984,22 +15984,22 @@ var usage = `## 使用
|
|
|
15984
15984
|
| --- | --- |
|
|
15985
15985
|
| \`mcdle\` | 玩法与指令说明 |
|
|
15986
15986
|
| \`mcdle.猜 [名称]\` | 用有效词条开局或猜测 |
|
|
15987
|
-
| \`mcdle.裸猜 [开/关]\` |
|
|
15987
|
+
| \`mcdle.裸猜 [开/关]\` | 开关本频道的无前缀续猜 |
|
|
15988
15988
|
| \`mcdle.排行榜\` | 群内战绩 |
|
|
15989
15989
|
| \`mcdle.词库\` | 全部词条 |`;
|
|
15990
15990
|
var inject = { required: ["database"], optional: ["puppeteer"] };
|
|
15991
15991
|
var Config = import_koishi.Schema.object({
|
|
15992
|
-
atReply: import_koishi.Schema.boolean().default(false).description("
|
|
15993
|
-
quoteReply: import_koishi.Schema.boolean().default(false).description("
|
|
15994
|
-
isEnableMiddleware: import_koishi.Schema.boolean().default(false).description("
|
|
15995
|
-
addStatusTextAfterEmoji: import_koishi.Schema.boolean().default(true).description("
|
|
15996
|
-
maxRank: import_koishi.Schema.number().default(10).min(0).description("
|
|
15997
|
-
dailyPlayLimit: import_koishi.Schema.number().default(1).min(1).description("
|
|
15992
|
+
atReply: import_koishi.Schema.boolean().default(false).description("回复时 @ 用户。"),
|
|
15993
|
+
quoteReply: import_koishi.Schema.boolean().default(false).description("回复时引用消息。"),
|
|
15994
|
+
isEnableMiddleware: import_koishi.Schema.boolean().default(false).description("对局进行中时,直接发送词条名称即可续猜,无需指令前缀。各频道可用「mcdle.裸猜」临时切换。"),
|
|
15995
|
+
addStatusTextAfterEmoji: import_koishi.Schema.boolean().default(true).description("在状态方块后补一段文字说明。"),
|
|
15996
|
+
maxRank: import_koishi.Schema.number().default(10).min(0).description("排行榜最多显示的人数。"),
|
|
15997
|
+
dailyPlayLimit: import_koishi.Schema.number().default(1).min(1).description("每个频道每日可开始的局数,跨零点重置。"),
|
|
15998
15998
|
retractDelay: import_koishi.Schema.number().min(0).default(0).description(
|
|
15999
|
-
|
|
15999
|
+
`自动撤回延迟(秒),0 表示不撤回。`
|
|
16000
16000
|
),
|
|
16001
|
-
allowRepeatedGuesses: import_koishi.Schema.boolean().default(false).description("
|
|
16002
|
-
disableImages: import_koishi.Schema.boolean().default(false).description("
|
|
16001
|
+
allowRepeatedGuesses: import_koishi.Schema.boolean().default(false).description("允许重复提交已猜过的词条。消息被撤回、历史不可见时用得上。"),
|
|
16002
|
+
disableImages: import_koishi.Schema.boolean().default(false).description("全部改用文本,不发送图片。图片下载常失败时用得上。")
|
|
16003
16003
|
});
|
|
16004
16004
|
var FORMAT_VERSION = 2;
|
|
16005
16005
|
var guessesField = {
|
|
@@ -16061,7 +16061,7 @@ function resolveMiddlewareSwitch(config, override, action) {
|
|
|
16061
16061
|
}
|
|
16062
16062
|
const on = arg === "开" || arg === "开启";
|
|
16063
16063
|
if (!on && arg !== "关" && arg !== "关闭") {
|
|
16064
|
-
return { error: "
|
|
16064
|
+
return { error: "裸猜开关只认「开」「关」「状态」" };
|
|
16065
16065
|
}
|
|
16066
16066
|
if (on === config) {
|
|
16067
16067
|
return { override: void 0, on: config, reverted: override !== void 0 };
|
|
@@ -16124,19 +16124,20 @@ function apply(ctx, cfg) {
|
|
|
16124
16124
|
}
|
|
16125
16125
|
});
|
|
16126
16126
|
ctx.command("mcdle", "我的世界猜谜游戏 · 玩法与指令").action(async ({ session }) => mcdle(session));
|
|
16127
|
-
ctx.command("mcdle.猜 [guess:string]").action(async ({ session }, guess) => {
|
|
16127
|
+
ctx.command("mcdle.猜 [guess:string]", "开局或提交一次猜测").action(async ({ session }, guess) => {
|
|
16128
16128
|
await c(session, guess?.trim());
|
|
16129
16129
|
});
|
|
16130
|
-
ctx.command("mcdle.排行榜").action(async ({ session }) => phb(session));
|
|
16131
|
-
ctx.command("mcdle.词库").action(async ({ session }) => ck(session));
|
|
16132
|
-
ctx.command("mcdle.裸猜 [state:string]", "
|
|
16130
|
+
ctx.command("mcdle.排行榜", "查看本频道战绩排行榜").action(async ({ session }) => phb(session));
|
|
16131
|
+
ctx.command("mcdle.词库", "查阅全部候选词条").action(async ({ session }) => ck(session));
|
|
16132
|
+
ctx.command("mcdle.裸猜 [state:string]", "开关本频道的无前缀续猜").usage("例:mcdle.裸猜(切换)· mcdle.裸猜 开 · mcdle.裸猜 关 · mcdle.裸猜 状态").action(async ({ session }, state) => {
|
|
16133
16133
|
const result = resolveMiddlewareSwitch(
|
|
16134
16134
|
cfg.isEnableMiddleware,
|
|
16135
16135
|
session.channelId === void 0 ? void 0 : middlewareOverrides.get(session.channelId),
|
|
16136
16136
|
state
|
|
16137
16137
|
);
|
|
16138
16138
|
if ("error" in result) {
|
|
16139
|
-
await sendMsg(session, `⚠️ ${result.error}
|
|
16139
|
+
await sendMsg(session, `⚠️ ${result.error}
|
|
16140
|
+
例:「mcdle.裸猜 开」,不带参数则来回切换。`);
|
|
16140
16141
|
return;
|
|
16141
16142
|
}
|
|
16142
16143
|
if (result.override === void 0) middlewareOverrides.delete(session.channelId);
|
|
@@ -16288,7 +16289,7 @@ function apply(ctx, cfg) {
|
|
|
16288
16289
|
}
|
|
16289
16290
|
const hint = on ? "仅在已有对局中,直接发送当前模式的完整词条名称才会响应" : "续猜请使用 mcdle.猜 [名称]";
|
|
16290
16291
|
return [
|
|
16291
|
-
`${mark} 裸猜续局 ·
|
|
16292
|
+
`${mark} 裸猜续局 · 本频道临时${state}(插件配置:${config})`,
|
|
16292
16293
|
`${hint};再次发送 mcdle.裸猜 可复原`
|
|
16293
16294
|
].join("\n");
|
|
16294
16295
|
}
|
|
@@ -16451,7 +16452,7 @@ ${words.join(" ")}`).join("\n\n")
|
|
|
16451
16452
|
"检测到旧版本遗留的一局",
|
|
16452
16453
|
"这局是在旧版本下开始的,已有的猜测记录没法用新版图片牌面渲染。",
|
|
16453
16454
|
answerTitle ? `「${answerTitle}」已退回词库,之后仍有机会被抽到。` : null,
|
|
16454
|
-
allowStart ? "这一局已作废并退还今日额度,马上按这次的完整指令重新开局。" : "
|
|
16455
|
+
allowStart ? "这一局已作废并退还今日额度,马上按这次的完整指令重新开局。" : "这一局已作废并退还今日额度,发送「mcdle.猜 [名称]」重新开局。"
|
|
16455
16456
|
)
|
|
16456
16457
|
);
|
|
16457
16458
|
if (allowStart) {
|
|
@@ -16475,8 +16476,8 @@ ${words.join(" ")}`).join("\n\n")
|
|
|
16475
16476
|
await sendMsg(
|
|
16476
16477
|
session,
|
|
16477
16478
|
textCard(
|
|
16478
|
-
"
|
|
16479
|
-
"
|
|
16479
|
+
"💡 本频道没有进行中的对局",
|
|
16480
|
+
"发送完整指令开局,例如「mcdle.猜 苦力怕」。",
|
|
16480
16481
|
"名称必须来自 mcdle.词库。"
|
|
16481
16482
|
)
|
|
16482
16483
|
);
|
|
@@ -16490,7 +16491,7 @@ ${words.join(" ")}`).join("\n\n")
|
|
|
16490
16491
|
textCard(
|
|
16491
16492
|
`⚠️ 「${guess}」不在 MCDLE 词库里`,
|
|
16492
16493
|
near.length ? `是不是想猜:${near.join("、")}?` : null,
|
|
16493
|
-
"
|
|
16494
|
+
"没有开启新局,也没有消耗今日额度。换一个词库里的名称再来。"
|
|
16494
16495
|
)
|
|
16495
16496
|
);
|
|
16496
16497
|
return;
|
|
@@ -16499,9 +16500,9 @@ ${words.join(" ")}`).join("\n\n")
|
|
|
16499
16500
|
await sendMsg(
|
|
16500
16501
|
session,
|
|
16501
16502
|
textCard(
|
|
16502
|
-
|
|
16503
|
+
`⏳ 今日 ${cfg.dailyPlayLimit} 局已经用完`,
|
|
16503
16504
|
`跨零点后重置,还要等 ${untilReset(now)}。`,
|
|
16504
|
-
"
|
|
16505
|
+
"在那之前可以看看 mcdle.排行榜 或 mcdle.词库。"
|
|
16505
16506
|
)
|
|
16506
16507
|
);
|
|
16507
16508
|
return;
|
|
@@ -16547,7 +16548,7 @@ ${words.join(" ")}`).join("\n\n")
|
|
|
16547
16548
|
);
|
|
16548
16549
|
await sendMsg(
|
|
16549
16550
|
session,
|
|
16550
|
-
textCard("⚠️ 这一局的牌面已经无法还原", "
|
|
16551
|
+
textCard("⚠️ 这一局的牌面已经无法还原", "已经把它收掉了。发送「mcdle.猜 [名称]」重新开一局。")
|
|
16551
16552
|
);
|
|
16552
16553
|
return;
|
|
16553
16554
|
}
|
|
@@ -16572,7 +16573,7 @@ ${words.join(" ")}`).join("\n\n")
|
|
|
16572
16573
|
textCard(
|
|
16573
16574
|
`轮到你了 · ${modeName(mode)}模式`,
|
|
16574
16575
|
`报一个${modeName(mode)}的名字,比如 mcdle.猜 ${POOLS[mode][0].chinese_title}。`,
|
|
16575
|
-
|
|
16576
|
+
`拿不准有哪些词条,发送「mcdle.词库」翻一翻。`
|
|
16576
16577
|
)
|
|
16577
16578
|
);
|
|
16578
16579
|
}
|
|
@@ -16678,14 +16679,14 @@ ${words.join(" ")}`).join("\n\n")
|
|
|
16678
16679
|
"mcdle 这份玩法与指令说明",
|
|
16679
16680
|
"mcdle.猜 [名称] 开始一局,或提交猜测",
|
|
16680
16681
|
"mcdle.猜 局中直接使用可回看当前棋盘",
|
|
16681
|
-
"mcdle.裸猜 [开/关]
|
|
16682
|
+
"mcdle.裸猜 [开/关] 临时切换本频道的无前缀续猜",
|
|
16682
16683
|
"mcdle.排行榜 查看群内战绩",
|
|
16683
16684
|
"mcdle.词库 查阅全部候选词条"
|
|
16684
16685
|
],
|
|
16685
16686
|
[
|
|
16686
16687
|
`每个群每日 ${cfg.dailyPlayLimit} 局,跨零点重置。`,
|
|
16687
16688
|
cfg.allowRepeatedGuesses ? "允许重复提交已经猜过的词条。" : "同一局内不能重复提交已猜过的词条。",
|
|
16688
|
-
channelOn ? "
|
|
16689
|
+
channelOn ? "本频道裸猜已开启:仅已有对局、纯文本完整词条、且符合当前模式时响应。" : "本频道裸猜已停用:续猜请用完整指令。",
|
|
16689
16690
|
"空指令和词库外名称不会开启新局或消耗额度。",
|
|
16690
16691
|
"词条与数据来自 zh.minecraft.wiki,版本号按发布先后比较。"
|
|
16691
16692
|
]
|
|
@@ -16710,7 +16711,7 @@ ${words.join(" ")}`).join("\n\n")
|
|
|
16710
16711
|
await sendCard(
|
|
16711
16712
|
session,
|
|
16712
16713
|
rankCard([], 0),
|
|
16713
|
-
textCard("
|
|
16714
|
+
textCard("📋 排行榜还空着", "第一个猜中的人,名字会写在这里。发送「mcdle.猜 苦力怕」开一局。")
|
|
16714
16715
|
);
|
|
16715
16716
|
return;
|
|
16716
16717
|
}
|
|
@@ -16722,7 +16723,7 @@ ${words.join(" ")}`).join("\n\n")
|
|
|
16722
16723
|
await sendCard(
|
|
16723
16724
|
session,
|
|
16724
16725
|
rankCard(entries, entries.length),
|
|
16725
|
-
textCard(
|
|
16726
|
+
textCard(`📋 排行榜 · 前 ${entries.length} 名`, lines, "每猜中一局记一分,按模式分别计数。")
|
|
16726
16727
|
);
|
|
16727
16728
|
}
|
|
16728
16729
|
__name(phb, "phb");
|