koishi-plugin-group-verification 1.0.12 → 1.0.13

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 (3) hide show
  1. package/lib/index.js +29 -22
  2. package/package.json +1 -1
  3. package/src/index.ts +38 -20
package/lib/index.js CHANGED
@@ -321,9 +321,17 @@ ${debugInfo}`];
321
321
  return `群 ${targetGroupId} 无验证配置`;
322
322
  }
323
323
  }
324
- const keywordList = keywords ? keywords.split(",").map((k) => k.trim()).filter((k) => k) : [];
325
- if (keywordList.length === 0 && !options.query && !options.remove) {
326
- return "请提供关键词参数,或使用 -? 查询配置,-r 删除配置";
324
+ let keywordList = keywords ? keywords.split(",").map((k) => k.trim()).filter((k) => k) : [];
325
+ if (!keywords && !options.query && !options.remove) {
326
+ const hasConfigParams = options.method !== void 0 || options.threshold !== void 0 || options.message !== void 0;
327
+ if (!hasConfigParams) {
328
+ return "请提供关键词参数,或使用 -? 查询配置,-r 删除配置,或提供 -m/-t/-msg 参数修改现有配置";
329
+ }
330
+ const existingConfig2 = await ctx.database.get("group_verification_config", { groupId: targetGroupId });
331
+ if (existingConfig2.length === 0) {
332
+ return "请先提供关键词创建配置,或使用 -? 查询配置,-r 删除配置";
333
+ }
334
+ keywordList = existingConfig2[0].keywords;
327
335
  }
328
336
  let reviewMethod = 0;
329
337
  let reviewParameters = {};
@@ -574,16 +582,19 @@ ${debugInfo}`];
574
582
  });
575
583
  return result;
576
584
  });
577
- groupVerify.subcommand(".help", "显示帮助信息").alias(
578
- "gv.帮助",
579
- "gverify.帮助",
580
- "group-verify.帮助"
581
- ).action(() => {
585
+ groupVerify.subcommand(".help", "显示帮助信息").alias("gv.帮助", "gverify.帮助", "group-verify.帮助", "帮助", "hlp", "帮助信息").action(() => {
582
586
  return `群组验证命令帮助:
583
587
  主指令别名:gv, gverify
584
588
 
585
- 配置命令 (.config):
586
- 选项:
589
+ 配置命令 (.config/.cfg):
590
+ 用法:
591
+ 1. 创建新配置:gv.cfg 关键词1,关键词2 -m 1 -t 2
592
+ 2. 修改现有配置:gv.cfg -m 2 -t 60 (不提供关键词)
593
+ 3. 查询配置:gv.cfg -?
594
+ 4. 删除配置:gv.cfg -r
595
+ 5. 自定义提醒:gv.cfg -msg "自定义消息"
596
+
597
+ 参数说明:
587
598
  -i <群号> 指定群号(私聊时必需)
588
599
  -m <方式> 审核方式 (0=全部同意, 1=按数量, 2=按比例, 3=全部拒绝)
589
600
  -t <阈值> 阈值参数(方式1或2时必需)
@@ -591,11 +602,6 @@ ${debugInfo}`];
591
602
  -? 查询当前配置
592
603
  -r 删除配置
593
604
 
594
- 示例:
595
- gv.config 关键词1,关键词2 -m 1 -t 2
596
- gv.config -i 123456789 -?
597
- gv.config -r -i 123456789
598
-
599
605
  提醒消息变量:
600
606
  {user} - 用户名
601
607
  {id} - 用户ID
@@ -606,16 +612,17 @@ ${debugInfo}`];
606
612
  {threshold} - 阈值要求
607
613
  \\n - 换行符
608
614
 
615
+ 快捷命令:
616
+ gvc - 配置命令快捷方式
617
+ gva - 同意申请快捷命令
618
+ gvr - 拒绝申请快捷命令
619
+ gvp - 查看待审核列表快捷命令
620
+ gvs - 查看统计信息快捷命令
621
+
609
622
  权限说明:
610
623
  - 群主/管理员权限
611
624
  - koishi三级以上权限
612
- - 私聊时必须指定群号(-i参数)
613
-
614
- 其他命令:
615
- .approve <用户ID> - 同意加群申请
616
- .reject <用户ID> - 拒绝加群申请
617
- .pending - 查看待审核列表
618
- .stats [群号] - 查看统计信息`;
625
+ - 私聊时必须指定群号(-i参数)`;
619
626
  });
620
627
  ctx.on("ready", async () => {
621
628
  const totalStats = await ctx.database.get("group_verification_stats", { groupId: "TOTAL" });
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "koishi-plugin-group-verification",
3
3
  "description": "Koishi 群组加群验证插件,支持多关键词匹配审核、多种审核方式和详细统计功能",
4
- "version": "1.0.12",
4
+ "version": "1.0.13",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
7
7
  "files": [
package/src/index.ts CHANGED
@@ -457,11 +457,28 @@ export function apply(ctx: Context, config: Config) {
457
457
  }
458
458
 
459
459
  // 处理配置创建/更新
460
- const keywordList = keywords ? keywords.split(',').map(k => k.trim()).filter(k => k) : []
460
+ let keywordList = keywords ? keywords.split(',').map(k => k.trim()).filter(k => k) : []
461
461
 
462
462
  // 如果没有提供关键词且不是查询/删除操作,则报错
463
- if (keywordList.length === 0 && !options.query && !options.remove) {
464
- return '请提供关键词参数,或使用 -? 查询配置,-r 删除配置'
463
+ // 但允许只提供参数来修改现有配置
464
+ if (!keywords && !options.query && !options.remove) {
465
+ // 检查是否提供了其他配置参数
466
+ const hasConfigParams = options.method !== undefined ||
467
+ options.threshold !== undefined ||
468
+ options.message !== undefined
469
+
470
+ if (!hasConfigParams) {
471
+ return '请提供关键词参数,或使用 -? 查询配置,-r 删除配置,或提供 -m/-t/-msg 参数修改现有配置'
472
+ }
473
+
474
+ // 如果只提供了参数,检查是否存在现有配置
475
+ const existingConfig = await ctx.database.get('group_verification_config', { groupId: targetGroupId })
476
+ if (existingConfig.length === 0) {
477
+ return '请先提供关键词创建配置,或使用 -? 查询配置,-r 删除配置'
478
+ }
479
+
480
+ // 使用现有配置的关键词
481
+ keywordList = existingConfig[0].keywords
465
482
  }
466
483
 
467
484
  // 解析审核方式和阈值
@@ -794,15 +811,20 @@ export function apply(ctx: Context, config: Config) {
794
811
  // Subcommand: help information
795
812
  groupVerify
796
813
  .subcommand('.help', '显示帮助信息')
797
- .alias(
798
- 'gv.帮助', 'gverify.帮助', 'group-verify.帮助'
799
- )
814
+ .alias('gv.帮助', 'gverify.帮助', 'group-verify.帮助', '帮助', 'hlp', '帮助信息')
800
815
  .action(() => {
801
816
  return `群组验证命令帮助:
802
817
  主指令别名:gv, gverify
803
818
 
804
- 配置命令 (.config):
805
- 选项:
819
+ 配置命令 (.config/.cfg):
820
+ 用法:
821
+ 1. 创建新配置:gv.cfg 关键词1,关键词2 -m 1 -t 2
822
+ 2. 修改现有配置:gv.cfg -m 2 -t 60 (不提供关键词)
823
+ 3. 查询配置:gv.cfg -?
824
+ 4. 删除配置:gv.cfg -r
825
+ 5. 自定义提醒:gv.cfg -msg "自定义消息"
826
+
827
+ 参数说明:
806
828
  -i <群号> 指定群号(私聊时必需)
807
829
  -m <方式> 审核方式 (0=全部同意, 1=按数量, 2=按比例, 3=全部拒绝)
808
830
  -t <阈值> 阈值参数(方式1或2时必需)
@@ -810,11 +832,6 @@ export function apply(ctx: Context, config: Config) {
810
832
  -? 查询当前配置
811
833
  -r 删除配置
812
834
 
813
- 示例:
814
- gv.config 关键词1,关键词2 -m 1 -t 2
815
- gv.config -i 123456789 -?
816
- gv.config -r -i 123456789
817
-
818
835
  提醒消息变量:
819
836
  {user} - 用户名
820
837
  {id} - 用户ID
@@ -825,16 +842,17 @@ export function apply(ctx: Context, config: Config) {
825
842
  {threshold} - 阈值要求
826
843
  \\n - 换行符
827
844
 
845
+ 快捷命令:
846
+ gvc - 配置命令快捷方式
847
+ gva - 同意申请快捷命令
848
+ gvr - 拒绝申请快捷命令
849
+ gvp - 查看待审核列表快捷命令
850
+ gvs - 查看统计信息快捷命令
851
+
828
852
  权限说明:
829
853
  - 群主/管理员权限
830
854
  - koishi三级以上权限
831
- - 私聊时必须指定群号(-i参数)
832
-
833
- 其他命令:
834
- .approve <用户ID> - 同意加群申请
835
- .reject <用户ID> - 拒绝加群申请
836
- .pending - 查看待审核列表
837
- .stats [群号] - 查看统计信息`
855
+ - 私聊时必须指定群号(-i参数)`
838
856
  })
839
857
 
840
858
  // 插件初始化时确保总计统计行存在