@azimiao/koishi-plugin-cafe-bot-exp 0.0.11 → 0.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.
@@ -7,6 +7,7 @@ export interface CafeBotDrawConfig {
7
7
  forceUpdateDataWhenLoad: boolean;
8
8
  ImageServer: string;
9
9
  ImageServerAuth: string;
10
+ ImageNoCache: boolean;
10
11
  MinCount: number;
11
12
  MaxCount: number;
12
13
  Star1Name: string;
package/lib/index.js CHANGED
@@ -37,6 +37,9 @@ __export(src_exports, {
37
37
  });
38
38
  module.exports = __toCommonJS(src_exports);
39
39
 
40
+ // package.json
41
+ var version = "0.0.13";
42
+
40
43
  // src/draw/index.ts
41
44
  var draw_exports = {};
42
45
  __export(draw_exports, {
@@ -260,6 +263,7 @@ var CafeBotDrawConfig = import_koishi.Schema.object({
260
263
  forceUpdateDataWhenLoad: import_koishi.Schema.boolean().description("插件加载时强制刷新数据").default(false),
261
264
  ImageServer: import_koishi.Schema.string().description("图像生成服务器").default("http://127.0.0.1:3000/screenshot"),
262
265
  ImageServerAuth: import_koishi.Schema.string().description("图像生成服务器密码").default(""),
266
+ ImageNoCache: import_koishi.Schema.boolean().description("每次都重新生成图片(一般仅用于Debug)").default(false),
263
267
  MinCount: import_koishi.Schema.number().description("最小抽取次数").default(0),
264
268
  MaxCount: import_koishi.Schema.number().description("最大抽取次数").default(8),
265
269
  Star1Name: import_koishi.Schema.string().description("1星名称").default("N"),
@@ -307,11 +311,12 @@ var downloadTool_default = downloadFileIfNotExist;
307
311
 
308
312
  // src/draw/index.ts
309
313
  var name = "cafe-bot-exp.draw";
310
- var inject = ["http"];
314
+ var inject = ["http", "logger"];
311
315
  var Config = CafeBotDrawConfig;
312
316
  var animals = ["瑟蕾奴", "可鲁贝洛斯", "捷欧", "基库", "蔡特", "柯贝", "古利亚诺斯", "小星", "影良", "fio", "xeros"];
313
317
  var starEnum = [5, 4, 3, 2, 1];
314
318
  var cafebotCardData = [];
319
+ var logger = null;
315
320
  function shuffleWithCustomRandom(array, rand) {
316
321
  for (let i = array.length - 1; i > 0; i--) {
317
322
  const a = rand();
@@ -395,15 +400,17 @@ async function getCards(seed, ctx, config) {
395
400
  }
396
401
  __name(getCards, "getCards");
397
402
  async function apply(ctx, config) {
403
+ logger = ctx.logger(name);
398
404
  await downloadCardDataIfNotExist(ctx, config, config.forceUpdateDataWhenLoad);
405
+ ctx.command("轨迹抽卡", `抽取你的每日轨迹人物卡吧~`);
399
406
  ctx.command("轨迹抽卡/给我抽", "进行每日抽卡").action(async (argv, _) => {
400
407
  let seed = DailySeededName(argv.session.userId);
401
- console.log(`getcard for ${seed}`);
408
+ logger?.info(`getcard for ${seed}`);
402
409
  let randomer = new PseudoRandom_default(seed);
403
410
  let result = await getCards(seed, ctx, config);
404
411
  if (result.length <= 0) {
405
412
  let msg2 = "你并不是本群限定非酋, 只不过抽到的卡牌被" + animals[randomer.nextInt(0, animals.length - 1)] + "叼走了~\n";
406
- console.log(`getcard for ${seed} is empty,send it`);
413
+ logger?.info(`getcard for ${seed} is empty,send it`);
407
414
  await argv.session?.send(`${At(argv)}${msg2}`);
408
415
  return;
409
416
  }
@@ -427,36 +434,37 @@ async function apply(ctx, config) {
427
434
  }
428
435
  });
429
436
  await argv.session?.send(msg);
430
- console.log(`getcard for ${seed} send ok`);
437
+ logger?.info(`getcard for ${seed} send ok`);
431
438
  return;
432
439
  });
433
440
  const requestWebCache = {};
434
441
  ctx.command("轨迹抽卡/给我抽图", "进行抽卡并显示卡牌图片").action(async (argv, _) => {
435
442
  let seed = DailySeededName(argv.session.userId);
436
- console.log(`getcard img for ${seed}`);
443
+ logger?.info(`getcard img for ${seed}`);
437
444
  let randomer = new PseudoRandom_default(seed);
438
445
  let result = await getCards(seed, ctx, config);
439
446
  if (result.length <= 0) {
440
447
  let msg = "你并不是本群限定非酋, 只不过抽到的卡牌被" + animals[randomer.nextInt(0, animals.length - 1)] + "叼走了~\n";
441
448
  await argv.session?.send(`${At(argv)} ${msg}`);
442
- console.log(`getcard img for ${seed} is empty`);
449
+ logger?.info(`getcard img for ${seed} is empty`);
443
450
  return;
444
451
  }
445
452
  if (requestWebCache[seed]) {
446
453
  await argv.session?.send(`${At(argv)} 请等待上次抽取完成哦~`);
447
- console.log(`getcard img for ${seed}, another request is processing, send please wait`);
454
+ logger?.info(`getcard img for ${seed}, another request is processing, send please wait`);
448
455
  return;
449
456
  }
450
457
  requestWebCache[seed] = "waiting";
451
458
  await argv.session?.sendQueued(`${At(argv)} 抽取中,请稍候...`);
452
- console.log(`getcard img for ${seed} is processing, send please wait`);
459
+ logger?.info(`getcard img for ${seed} is processing, send please wait`);
453
460
  var a = html_default(result);
454
461
  await ctx.http.post(
455
462
  config.ImageServer,
456
463
  {
457
464
  html: a,
458
465
  auth: config.ImageServerAuth,
459
- filename: seed
466
+ filename: seed,
467
+ nocache: config.ImageNoCache
460
468
  },
461
469
  {
462
470
  responseType: "json"
@@ -465,13 +473,13 @@ async function apply(ctx, config) {
465
473
  delete requestWebCache[seed];
466
474
  await argv.session?.sendQueued(`${At(argv)}<img src="${res.data}"/>`);
467
475
  await argv.session?.cancelQueued();
468
- console.log(`getcard img for ${seed} send ok~`);
476
+ logger?.info(`getcard img for ${seed} send ok~`);
469
477
  }).catch(async (e) => {
470
- console.log(e);
478
+ logger?.error(`getcard img for ${seed} is failed, send create failed`);
479
+ logger?.error(e);
471
480
  delete requestWebCache[seed];
472
- await argv.session?.sendQueued(`${At(argv)}图片生成失败`);
481
+ await argv.session?.sendQueued(`${At(argv)}超级计算机『卡佩尔』发生核心故障😵(A...D...)`);
473
482
  await argv.session?.cancelQueued();
474
- console.log(`getcard img for ${seed} is failed, send create failed`);
475
483
  });
476
484
  return;
477
485
  });
@@ -591,7 +599,7 @@ var CafeTimeTools_default = CafeTimeTools;
591
599
 
592
600
  // src/quiz/index.ts
593
601
  var name3 = "cafe-bot-exp.quiz";
594
- var inject2 = ["http", "cache"];
602
+ var inject2 = ["http", "cache", "logger"];
595
603
  var Config3 = CafeBotQuizConfig;
596
604
  var validOptions = {
597
605
  "A": 0,
@@ -607,6 +615,7 @@ var validOptions = {
607
615
  "3": 2,
608
616
  "4": 3
609
617
  };
618
+ var logger2 = null;
610
619
  var quizDataIds = [];
611
620
  var quizDataSet = {};
612
621
  async function downloadQuitDataIfNotExist(ctx, config, forceUpdate) {
@@ -626,6 +635,8 @@ async function downloadQuitDataIfNotExist(ctx, config, forceUpdate) {
626
635
  quizDataSet[element.question.id] = element;
627
636
  });
628
637
  } catch (error) {
638
+ logger2?.error("get quiz data failed");
639
+ logger2?.error(error);
629
640
  throw new Error("quiz read error");
630
641
  }
631
642
  return;
@@ -642,26 +653,27 @@ async function answerHandler(ctx, config, argv, answer) {
642
653
  if (answer in validOptions) {
643
654
  selectNumber = validOptions[answer];
644
655
  } else {
645
- await argv.session?.send(`${At(argv)}选项无效,请重新输入~`);
656
+ await argv.session?.send(`${At(argv)}输入选项无效哦,请重新输入~`);
646
657
  return;
647
658
  }
648
659
  await ctx.cache.delete("question", argv.session.userId);
649
660
  if (quizDataIds == null || quizDataIds.length <= 0) {
650
- await argv.session?.send(`${At(argv)}超级计算机『卡佩尔』发生核心故障😵`);
661
+ await argv.session?.send(`${At(argv)}超级计算机『卡佩尔』发生核心故障😵(导力网络异常波动)`);
651
662
  return;
652
663
  }
653
664
  var qItem = quizDataSet[lastQuestion.question];
654
- console.log(`${argv.session.userId} try answer quiz(id:${lastQuestion.question}), input answer:${selectNumber}`);
665
+ logger2?.info(`${argv.session.userId} try answer quiz(id:${lastQuestion.question}): right answer:${lastQuestion.answer}, input answer:${selectNumber}`);
655
666
  if (qItem && lastQuestion.answer == selectNumber) {
656
- await argv.session?.send(`${At(argv)}回答正确😊${qItem.explain.length > 0 ? "," + qItem.explain : ""}`);
667
+ await argv.session?.send(`${At(argv)}回答正确😊${qItem.explain.length > 0 ? "" + qItem.explain : ""}`);
657
668
  return;
658
669
  } else {
659
- await argv.session?.send(`${At(argv)}回答错误😟${qItem.explain2.length > 0 ? "," + qItem.explain2 : ""}`);
670
+ await argv.session?.send(`${At(argv)}回答错误😟${qItem.explain2.length > 0 ? "" + qItem.explain2 : ""}`);
660
671
  return;
661
672
  }
662
673
  }
663
674
  __name(answerHandler, "answerHandler");
664
675
  async function apply3(ctx, config) {
676
+ logger2 = ctx.logger(name3);
665
677
  await downloadQuitDataIfNotExist(ctx, config, config.forceUpdateWhenLoad);
666
678
  ctx.command("轨迹答题/出题").action(async (argv, _) => {
667
679
  await downloadQuitDataIfNotExist(ctx, config, false);
@@ -672,7 +684,7 @@ async function apply3(ctx, config) {
672
684
  }
673
685
  var dailyNameKey = DailySeededName(argv.session.userId);
674
686
  if (quizDataIds == null || quizDataIds.length <= 0) {
675
- await argv.session?.send(`${At(argv)}超级计算机『卡佩尔』发生核心故障😵`);
687
+ await argv.session?.send(`${At(argv)}超级计算机『卡佩尔』发生核心故障😵(导力网络异常波动)`);
676
688
  return;
677
689
  }
678
690
  var todayCount = await ctx.cache.get("todayCache", dailyNameKey);
@@ -685,12 +697,13 @@ async function apply3(ctx, config) {
685
697
  }
686
698
  todayCount++;
687
699
  var cacheTimeoutTime = CafeTimeTools_default.getRemainingSecondsToBeijingMidnight();
700
+ logger2?.debug(`try set cache ${dailyNameKey}, ${todayCount}`);
688
701
  await ctx.cache.set("todayCache", dailyNameKey, todayCount, cacheTimeoutTime * 1e3);
689
702
  var randomId = import_koishi6.Random.pick(quizDataIds);
690
703
  var qItem = quizDataSet[randomId];
691
704
  var qOptions = import_koishi6.Random.shuffle(qItem.options);
692
705
  var answerIndex = -1;
693
- console.log(`${argv.session.userId} get a new quiz(id:${randomId})`);
706
+ logger2?.info(`${argv.session.userId} get a new quiz(id:${randomId})`);
694
707
  for (var i = 0; i < qOptions.length; i++) {
695
708
  if (qOptions[i].oid === qItem.a) {
696
709
  answerIndex = i;
@@ -706,27 +719,28 @@ D. ${qOptions[3].s}`;
706
719
  await argv.session?.send(messageQuestion);
707
720
  return;
708
721
  });
709
- ctx.command("轨迹答题/回答 <answer:text>", `回复"回答+空格+选项"回答问题哦,如"回答 A"`).action(async (argv, answer) => {
722
+ ctx.command("轨迹答题").usage("通过趣味答题看看你是不是合格的桂皮吧~");
723
+ ctx.command("轨迹答题/回答 <answer:text>", `使用"回答+空格+选项"回答问题哦,如"回答 A"`).action(async (argv, answer) => {
710
724
  await answerHandler(ctx, config, argv, answer);
711
725
  return;
712
726
  });
713
- ctx.command("轨迹答题/A", "选择 A 选项").action(async (argv, _) => {
727
+ ctx.command("轨迹答题/A", "选择 A 选项", { hidden: true }).action(async (argv, _) => {
714
728
  await answerHandler(ctx, config, argv, "A");
715
729
  return;
716
730
  });
717
- ctx.command("轨迹答题/B", "选择 B 选项").action(async (argv, _) => {
731
+ ctx.command("轨迹答题/B", "选择 B 选项", { hidden: true }).action(async (argv, _) => {
718
732
  await answerHandler(ctx, config, argv, "B");
719
733
  return;
720
734
  });
721
- ctx.command("轨迹答题/C", "选择 C 选项").action(async (argv, _) => {
735
+ ctx.command("轨迹答题/C", "选择 C 选项", { hidden: true }).action(async (argv, _) => {
722
736
  await answerHandler(ctx, config, argv, "C");
723
737
  return;
724
738
  });
725
- ctx.command("轨迹答题/D", "选择 D 选项").action(async (argv, _) => {
739
+ ctx.command("轨迹答题/D", "选择 D 选项", { hidden: true }).action(async (argv, _) => {
726
740
  await answerHandler(ctx, config, argv, "D");
727
741
  return;
728
742
  });
729
- ctx.command("轨迹答题/答题分数").action(async (argv, _) => {
743
+ ctx.command("轨迹答题/答题分数", "查看答题总分数").action(async (argv, _) => {
730
744
  await argv.session?.send(`${At(argv)}正在开发中哦~`);
731
745
  return;
732
746
  });
@@ -743,13 +757,18 @@ var Config4 = import_koishi7.Schema.intersect([
743
757
 
744
758
  // src/index.ts
745
759
  var name4 = "cafe-bot-exp";
746
- var inject3 = ["http", "cache"];
760
+ var inject3 = ["http", "cache", "logger"];
747
761
  async function apply4(ctx, config) {
748
762
  ctx.plugin(draw_exports, config);
749
763
  ctx.plugin(quiz_exports, config);
750
764
  ctx.plugin(cat_exports, config);
751
765
  ctx.command("关于", "about").action(async (argv, _) => {
752
- argv.session?.send(`我是轨迹Cafe群聊机器人概念版~`);
766
+ argv.session?.send(
767
+ `我是运行在超级计算机『卡佩尔』上的轨迹CafeBot概念版v${version}🎉~
768
+ - 我提供轨迹抽卡🎴和轨迹问答🙋‍功能
769
+ - 另外我还有一些隐藏功能待你探索哦🎁
770
+ 多多与我聊天吧~`
771
+ );
753
772
  });
754
773
  }
755
774
  __name(apply4, "apply");
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@azimiao/koishi-plugin-cafe-bot-exp",
3
3
  "description": "cafe bot experiment",
4
- "version": "0.0.11",
4
+ "version": "0.0.13",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
7
7
  "repository": {