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 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]` | \u5207\u6362\u672C\u7FA4\u65E0\u524D\u7F00\u7EED\u731C |\n| `mcdle.\u6392\u884C\u699C` | \u7FA4\u5185\u6218\u7EE9 |\n| `mcdle.\u8BCD\u5E93` | \u5168\u90E8\u8BCD\u6761 |";
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">临时切换本群无前缀续猜</span></div>
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 ? "本群裸猜已开启:只接受当前模式词库中的完整纯文本词条。" : "本群裸猜已停用:续猜请使用完整指令。"}</span></div>
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("是否默认启用无前缀续猜(仅在游戏进行中生效;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("每日游玩次数上限"),
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
- `撤回上一条消息的等待时间,单位是秒。值为 0 时不启用自动撤回功能。`
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]", "临时开关本群的无前缀续猜").usage("例:mcdle.裸猜(切换)· mcdle.裸猜 开 · mcdle.裸猜 关 · mcdle.裸猜 状态").action(async ({ session }, state) => {
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}。例:mcdle.裸猜 开`);
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} 裸猜续局 · 本群临时${state}(插件配置:${config})`,
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 ? "这一局已作废并退还今日额度,马上按这次的完整指令重新开局。" : "这一局已作废并退还今日额度,请用 mcdle.猜 [名称] 重新开局。"
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
- "请发送完整指令 mcdle.猜 [名称] 开局,例如 mcdle.猜 苦力怕。",
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
- "没有开启新局,也没有消耗今日额度。请用 mcdle.猜 [词库名称] 开局。"
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
- `⚠️ 今日 ${cfg.dailyPlayLimit} 局已经用完`,
16503
+ `⏳ 今日 ${cfg.dailyPlayLimit} 局已经用完`,
16503
16504
  `跨零点后重置,还要等 ${untilReset(now)}。`,
16504
- "在那之前可以查看 mcdle.排行榜 或 mcdle.词库。"
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("⚠️ 这一局的牌面已经无法还原", "已经把它收掉了。发送 mcdle.猜 [名称] 可以重新开一局。")
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
- `拿不准有哪些词条就看 mcdle.词库。`
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("⚠️ 排行榜还空着", "用 mcdle.猜 开出第一局,这里的第一行就是你。")
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(`排行榜 · 前 ${entries.length} 名`, lines, "每猜中一局记一分,按模式分别计数。")
16726
+ textCard(`📋 排行榜 · 前 ${entries.length} 名`, lines, "每猜中一局记一分,按模式分别计数。")
16726
16727
  );
16727
16728
  }
16728
16729
  __name(phb, "phb");
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "koishi-plugin-mcdle",
3
3
  "description": "Koishi 的 Minecraft 猜词游戏插件。",
4
- "version": "0.2.0",
4
+ "version": "0.3.0",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
7
7
  "files": [