koishi-plugin-starfx-bot 0.10.2 → 0.11.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.
package/lib/index.d.ts CHANGED
@@ -9,7 +9,9 @@ export interface Config {
9
9
  openSold: boolean;
10
10
  bangdreamBorder: boolean;
11
11
  record: boolean;
12
+ saveArchive: boolean;
12
13
  roll: boolean;
14
+ undo: boolean;
13
15
  atNotSay: boolean;
14
16
  atNotSayProperty: number;
15
17
  atNotSayOther: boolean;
@@ -19,7 +21,6 @@ export interface Config {
19
21
  openRepeat: boolean;
20
22
  minRepeatTimes: number;
21
23
  repeatPossibility: number;
22
- saveArchive: boolean;
23
24
  featureControl: string;
24
25
  }
25
26
  export declare const Config: Schema<Schemastery.ObjectS<{
@@ -31,6 +32,7 @@ export declare const Config: Schema<Schemastery.ObjectS<{
31
32
  saveArchive: Schema<boolean, boolean>;
32
33
  }> | Schemastery.ObjectS<{
33
34
  roll: Schema<boolean, boolean>;
35
+ undo: Schema<boolean, boolean>;
34
36
  }> | Schemastery.ObjectS<{
35
37
  atNotSay: Schema<boolean, boolean>;
36
38
  atNotSayProperty: Schema<number, number>;
@@ -53,6 +55,7 @@ export declare const Config: Schema<Schemastery.ObjectS<{
53
55
  saveArchive: boolean;
54
56
  } & {
55
57
  roll: boolean;
58
+ undo: boolean;
56
59
  } & {
57
60
  atNotSay: boolean;
58
61
  atNotSayProperty: number;
package/lib/index.js CHANGED
@@ -426,6 +426,12 @@ function getPoints(session, num, noodles) {
426
426
  });
427
427
  }
428
428
  __name(getPoints, "getPoints");
429
+ async function undo(cfg, session) {
430
+ if (session?.quote?.id && session.quote.user.id === session.selfId && Date.now() - session.quote.timestamp < 2 * 60 * 1e3 - 5 * 1e3) {
431
+ await session.bot.deleteMessage(session.channelId || session.guildId, session.quote.id);
432
+ }
433
+ }
434
+ __name(undo, "undo");
429
435
 
430
436
  // src/index.ts
431
437
  var name = "starfx-bot";
@@ -444,7 +450,8 @@ var Config2 = import_koishi2.Schema.intersect([
444
450
  saveArchive: import_koishi2.Schema.boolean().default(false).description("开启入典功能").hidden()
445
451
  }).description("语录记录功能"),
446
452
  import_koishi2.Schema.object({
447
- roll: import_koishi2.Schema.boolean().default(true).description("开启roll随机数功能")
453
+ roll: import_koishi2.Schema.boolean().default(true).description("开启roll随机数功能"),
454
+ undo: import_koishi2.Schema.boolean().default(true).description("机器人撤回消息功能")
448
455
  }).description("指令小功能"),
449
456
  import_koishi2.Schema.object({
450
457
  atNotSay: import_koishi2.Schema.boolean().default(true).description("开启‘艾特我又不说话’功能"),
@@ -497,7 +504,9 @@ function apply(ctx, cfg) {
497
504
  const p = session.send("图片处理中请稍等...");
498
505
  console.log(param);
499
506
  const drawConfig = await handleBanGDreamConfig(options);
500
- const imageBase64 = await drawBanGDream(await getImageSrc(session, param), drawConfig);
507
+ const imgSrc = await getImageSrc(session, param);
508
+ if (!imgSrc?.length) return "输入无效";
509
+ const imageBase64 = await drawBanGDream(imgSrc, drawConfig);
501
510
  await p;
502
511
  return import_koishi2.h.image(imageBase64);
503
512
  }
@@ -537,6 +546,12 @@ function apply(ctx, cfg) {
537
546
  if (!session.quote) return "请引用合并转发聊天记录进行入典";
538
547
  });
539
548
  }
549
+ if (cfg.undo) {
550
+ ctx.command("undo").alias("撤回").action(async ({ session }) => {
551
+ if (detectControl(controlJson, session.guildId, "undo"))
552
+ await undo(cfg, session);
553
+ });
554
+ }
540
555
  ctx.middleware(async (session, next) => {
541
556
  const elements = session.elements;
542
557
  if (cfg.openRepeat && detectControl(controlJson, session.guildId, "repeat")) {
package/lib/utils.d.ts CHANGED
@@ -129,4 +129,10 @@ export declare function drawBanGDream(avatar: string, inputOptions?: {
129
129
  export declare function parseJsonControl(text: string): FeatureControl | null;
130
130
  export declare function detectControl(controlJson: FeatureControl, guildId: string, funName: string): boolean;
131
131
  export declare function handleRoll(session: Session): string;
132
+ /**
133
+ * qq撤回功能(其他平台不知道w
134
+ * @param cfg config
135
+ * @param session session
136
+ */
137
+ export declare function undo(cfg: Config, session: Session): Promise<void>;
132
138
  export {};
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "contributors": [
5
5
  "StarFreedomX <starfreedomx@outlook.com>"
6
6
  ],
7
- "version": "0.10.2",
7
+ "version": "0.11.1",
8
8
  "main": "lib/index.js",
9
9
  "typings": "lib/index.d.ts",
10
10
  "files": [
package/readme.md CHANGED
@@ -50,6 +50,7 @@ StarFreedomX机器人的小功能,自用
50
50
  | `iLoveYou` | “我也喜欢你”系列功能 |
51
51
  | `bdbd` | BanG Dream! 边框功能(对应 `bangdreamBorder`) |
52
52
  | `roll` | 随机数功能 |
53
+ | `undo` | 撤回功能 |
53
54
 
54
55
  ---
55
56
 
@@ -83,4 +84,6 @@ StarFreedomX机器人的小功能,自用
83
84
  | `0.9.0` | 添加白名单/黑名单模式,对每个功能做过滤 |
84
85
  | `0.10.0` | 添加随机数功能 |
85
86
  | `0.10.1` | 修复随机数骰子功能输入负数报错的bug |
86
- | `0.10.2` | 增加roll功能的人称变化 |
87
+ | `0.10.2` | 增加roll功能的人称变化 |
88
+ | `0.11.0` | 增加适配于onebot(主要是qq)的撤回功能 |
89
+ | `0.11.1` | 修复bdbd传参错误问题 |