koishi-plugin-roulettes 1.0.0 → 1.0.1

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.
Files changed (2) hide show
  1. package/lib/index.js +73 -76
  2. package/package.json +1 -1
package/lib/index.js CHANGED
@@ -62,45 +62,43 @@ function apply(ctx, _config) {
62
62
  return "创建轮盘失败:" + error.message;
63
63
  }
64
64
  });
65
- ctx.command("roulette/轮盘列表 [page:number]", "查看轮盘列表").option("group", "-g 查看轮盘组列表").action(async ({ session, options }, page = 1) => {
65
+ ctx.command("roulette/轮盘列表 [page:number]", "查看轮盘列表").action(async ({ session }, page = 1) => {
66
66
  const pageSize = 10;
67
- if (options.group) {
68
- const groups = await ctx.model.get("roulette_groups", {});
69
- const total = groups.length;
70
- const start = (page - 1) * pageSize;
71
- const end = start + pageSize;
72
- const pagedGroups = groups.slice(start, end);
73
- if (pagedGroups.length === 0) {
74
- return "暂无轮盘组";
75
- }
76
- let message = "轮盘组列表:\n";
77
- pagedGroups.forEach((group) => {
78
- message += `ID: ${group.id} | 名称: ${group.name} | 包含轮盘数: ${group.items.length}
67
+ const roulettes = await ctx.model.get("roulettes", {});
68
+ const total = roulettes.length;
69
+ const start = (page - 1) * pageSize;
70
+ const end = start + pageSize;
71
+ const pagedRoulettes = roulettes.slice(start, end);
72
+ if (pagedRoulettes.length === 0) {
73
+ return "暂无轮盘";
74
+ }
75
+ let message = "轮盘列表:\n";
76
+ pagedRoulettes.forEach((roulette) => {
77
+ message += `ID: ${roulette.id} | 选项数: ${roulette.items.length}
79
78
  `;
80
- });
81
- message += `
79
+ });
80
+ message += `
82
81
  第${page}页,共${Math.ceil(total / pageSize)}页`;
83
- return message;
84
- } else {
85
- const roulettes = await ctx.model.get("roulettes", {});
86
- const total = roulettes.length;
87
- const start = (page - 1) * pageSize;
88
- const end = start + pageSize;
89
- const pagedRoulettes = roulettes.slice(start, end);
90
- if (pagedRoulettes.length === 0) {
91
- return "暂无轮盘";
92
- }
93
- let message = "轮盘列表:\n";
94
- pagedRoulettes.forEach((roulette) => {
95
- message += `ID: ${roulette.id} | 选项数: ${roulette.items.length}
96
- `;
97
- message += `选项: ${roulette.items.join("、")}
98
-
99
- `;
100
- });
101
- message += `第${page}页,共${Math.ceil(total / pageSize)}页`;
102
- return message;
82
+ return message;
83
+ });
84
+ ctx.command("roulette/轮盘组列表 [page:number]", "查看轮盘组列表").action(async ({ session }, page = 1) => {
85
+ const pageSize = 10;
86
+ const groups = await ctx.model.get("roulette_groups", {});
87
+ const total = groups.length;
88
+ const start = (page - 1) * pageSize;
89
+ const end = start + pageSize;
90
+ const pagedGroups = groups.slice(start, end);
91
+ if (pagedGroups.length === 0) {
92
+ return "暂无轮盘组";
103
93
  }
94
+ let message = "轮盘组列表:\n";
95
+ pagedGroups.forEach((group) => {
96
+ message += `ID: ${group.id} | 名称: ${group.name} | 包含轮盘数: ${group.items.length}
97
+ `;
98
+ });
99
+ message += `
100
+ 第${page}页,共${Math.ceil(total / pageSize)}页`;
101
+ return message;
104
102
  });
105
103
  ctx.command("roulette/创建轮盘组 <name> <rouletteIds:text>", "创建轮盘组(轮盘ID用逗号分隔)", { authority: 3 }).action(async ({ session }, name2, rouletteIds) => {
106
104
  if (!name2) return "请输入轮盘组名称";
@@ -201,59 +199,58 @@ ID: ${group.id}
201
199
  return message;
202
200
  }
203
201
  });
204
- ctx.command("roulette/删除轮盘 <id:number>", "删除轮盘", { authority: 3 }).option("group", "-g 删除轮盘组").action(async ({ session, options }, id) => {
205
- if (!id) return "请输入要删除的ID";
206
- if (options.group) {
207
- const deleted = await ctx.model.remove("roulette_groups", { id });
208
- if (deleted) {
209
- return "轮盘组删除成功";
210
- } else {
211
- return "轮盘组不存在";
212
- }
202
+ ctx.command("roulette/删除轮盘 <id:number>", "删除轮盘", { authority: 3 }).action(async ({ session }, id) => {
203
+ if (!id) return "请输入要删除的轮盘ID";
204
+ const deleted = await ctx.model.remove("roulettes", { id });
205
+ if (deleted) {
206
+ return "轮盘删除成功";
213
207
  } else {
214
- const deleted = await ctx.model.remove("roulettes", { id });
215
- if (deleted) {
216
- return "轮盘删除成功";
217
- } else {
218
- return "轮盘不存在";
219
- }
208
+ return "轮盘不存在";
220
209
  }
221
210
  });
222
- ctx.command("roulette/轮盘详情 <target>", "查看轮盘或轮盘组详情").action(async ({ session }, target) => {
223
- if (!target) return "请输入轮盘ID(数字)或轮盘组名称(中文)";
224
- const isNumeric = /^\d+$/.test(target);
225
- if (isNumeric) {
226
- const roulette = await ctx.model.get("roulettes", { id: parseInt(target) });
227
- if (!roulette || roulette.length === 0) {
228
- return `轮盘 ID ${target} 不存在`;
229
- }
230
- const data = roulette[0];
231
- return `轮盘 ID: ${data.id}
211
+ ctx.command("roulette/删除轮盘组 <id:number>", "删除轮盘组", { authority: 3 }).action(async ({ session }, id) => {
212
+ if (!id) return "请输入要删除的轮盘组ID";
213
+ const deleted = await ctx.model.remove("roulette_groups", { id });
214
+ if (deleted) {
215
+ return "轮盘组删除成功";
216
+ } else {
217
+ return "轮盘组不存在";
218
+ }
219
+ });
220
+ ctx.command("roulette/轮盘详情 <id:number>", "查看轮盘详情").action(async ({ session }, id) => {
221
+ if (!id) return "请输入轮盘ID";
222
+ const roulette = await ctx.model.get("roulettes", { id });
223
+ if (!roulette || roulette.length === 0) {
224
+ return `轮盘 ID ${id} 不存在`;
225
+ }
226
+ const data = roulette[0];
227
+ return `轮盘 ID: ${data.id}
232
228
  选项数: ${data.items.length}
233
229
  选项列表:
234
230
  ${data.items.map((item, index) => `${index + 1}. ${item}`).join("\n")}`;
235
- } else {
236
- const group = await ctx.model.get("roulette_groups", { name: target });
237
- if (!group || group.length === 0) {
238
- return `轮盘组 "${target}" 不存在`;
239
- }
240
- const data = group[0];
241
- let roulettesInfo = "";
242
- for (const rouletteId of data.items) {
243
- const roulette = await ctx.model.get("roulettes", { id: rouletteId });
244
- if (roulette && roulette.length > 0) {
245
- roulettesInfo += `
231
+ });
232
+ ctx.command("roulette/轮盘组详情 <name>", "查看轮盘组详情").action(async ({ session }, name2) => {
233
+ if (!name2) return "请输入轮盘组名称";
234
+ const group = await ctx.model.get("roulette_groups", { name: name2 });
235
+ if (!group || group.length === 0) {
236
+ return `轮盘组 "${name2}" 不存在`;
237
+ }
238
+ const data = group[0];
239
+ let roulettesInfo = "";
240
+ for (const rouletteId of data.items) {
241
+ const roulette = await ctx.model.get("roulettes", { id: rouletteId });
242
+ if (roulette && roulette.length > 0) {
243
+ roulettesInfo += `
246
244
  - 轮盘 ID ${rouletteId}: ${roulette[0].items.length} 个选项`;
247
- } else {
248
- roulettesInfo += `
245
+ } else {
246
+ roulettesInfo += `
249
247
  - 轮盘 ID ${rouletteId}: 已删除`;
250
- }
251
248
  }
252
- return `轮盘组: ${data.name}
249
+ }
250
+ return `轮盘组: ${data.name}
253
251
  ID: ${data.id}
254
252
  包含轮盘数: ${data.items.length}
255
253
  轮盘列表:${roulettesInfo}`;
256
- }
257
254
  });
258
255
  }
259
256
  __name(apply, "apply");
package/package.json CHANGED
@@ -10,7 +10,7 @@
10
10
  "url": "https://github.com/forgetmelodyXL/roulettes/issues"
11
11
  },
12
12
  "homepage": "https://github.com/forgetmelodyXL/roulettes#readme",
13
- "version": "1.0.0",
13
+ "version": "1.0.1",
14
14
  "main": "lib/index.js",
15
15
  "typings": "lib/index.d.ts",
16
16
  "files": [