koishi-plugin-echo-cave 1.32.3 → 1.33.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/config/config.d.ts +1 -0
- package/lib/index.cjs +22 -1
- package/lib/index.d.ts +3 -0
- package/package.json +1 -1
package/lib/config/config.d.ts
CHANGED
|
@@ -21,6 +21,7 @@ export interface Config {
|
|
|
21
21
|
enableForwardUserSelection?: boolean;
|
|
22
22
|
autoBindSingleForwardUser?: boolean;
|
|
23
23
|
forwardSpecialUserHandlingMode?: ForwardSpecialUserHandlingMode;
|
|
24
|
+
enablePokeTrigger?: boolean;
|
|
24
25
|
alpha?: number;
|
|
25
26
|
mediaStorage?: 'local' | 's3';
|
|
26
27
|
s3UploadFailureFallbackMode?: S3UploadFailureFallbackMode;
|
package/lib/index.cjs
CHANGED
|
@@ -4101,6 +4101,7 @@ var zh_CN_default2 = {
|
|
|
4101
4101
|
enableForwardUserSelection: "\u662F\u5426\u542F\u7528\u5408\u5E76\u8F6C\u53D1\u6D88\u606F\u7684\u5173\u8054\u7528\u6237\u9009\u62E9\u529F\u80FD",
|
|
4102
4102
|
autoBindSingleForwardUser: "\u5408\u5E76\u8F6C\u53D1\u6D88\u606F\u4EC5\u8BC6\u522B\u5230\u4E00\u4E2A\u7528\u6237\u65F6\uFF0C\u662F\u5426\u9ED8\u8BA4\u81EA\u52A8\u7ED1\u5B9A\u8BE5\u7528\u6237",
|
|
4103
4103
|
forwardSpecialUserHandlingMode: "\u68C0\u6D4B\u5230\u7279\u6B8A\u7528\u6237 1094950020 \u65F6\u7684\u5904\u7406\u65B9\u5F0F\uFF1Aignore \u4E3A\u5FFD\u7565\uFF0Creject \u4E3A\u63D0\u9192\u5E76\u62D2\u7EDD\u5B58\u50A8\uFF0Cconfirm \u4E3A\u63D0\u9192\u3001\u5C55\u793A\u8F6C\u53D1\u5185\u5BB9\u5E76\u8981\u6C42\u786E\u8BA4\u540E\u518D\u5B58\u50A8",
|
|
4104
|
+
enablePokeTrigger: "\u5728\u7FA4\u804A\u4E2D\u62CD\u4E00\u62CD\u673A\u5668\u4EBA\u65F6\uFF0C\u662F\u5426\u89E6\u53D1\u4E0E cave \u6307\u4EE4\u76F8\u540C\u7684\u968F\u673A\u62BD\u53D6\u6548\u679C\uFF08\u4EC5 OneBot/NapCat \u7B49\u652F\u6301 notify.poke \u4E8B\u4EF6\u7684\u9002\u914D\u5668\u6709\u6548\uFF09",
|
|
4104
4105
|
alpha: "\u52A0\u6743\u968F\u673A\u62BD\u53D6\u7684\u8C03\u6574\u56E0\u5B50\uFF0C\u63A7\u5236\u62BD\u53D6\u6B21\u6570\u5BF9\u6982\u7387\u7684\u5F71\u54CD\u7A0B\u5EA6\uFF0C\u503C\u8D8A\u5927\u5F71\u54CD\u8D8A\u660E\u663E",
|
|
4105
4106
|
mediaStorage: "\u5A92\u4F53\u5B58\u50A8\u65B9\u5F0F\uFF1Alocal \u4E3A\u672C\u5730\uFF0Cs3 \u4E3A\u5BF9\u8C61\u5B58\u50A8",
|
|
4106
4107
|
s3UploadFailureFallbackMode: "\u4EC5\u5728\u5A92\u4F53\u5B58\u50A8\u65B9\u5F0F\u4E3A s3 \u65F6\u751F\u6548\uFF1AS3 \u4E0A\u4F20\u5931\u8D25\u540E\u56DE\u9000\u5230\u672C\u5730\u5B58\u50A8\uFF0C\u6216\u4FDD\u7559\u539F\u59CB\u94FE\u63A5",
|
|
@@ -4135,7 +4136,8 @@ var Config = import_koishi2.Schema.intersect([
|
|
|
4135
4136
|
enableForwardUserSelection: import_koishi2.Schema.boolean().default(true),
|
|
4136
4137
|
forwardSelectTimeout: import_koishi2.Schema.number().default(20),
|
|
4137
4138
|
autoBindSingleForwardUser: import_koishi2.Schema.boolean().default(false),
|
|
4138
|
-
forwardSpecialUserHandlingMode: import_koishi2.Schema.union(["ignore", "reject", "confirm"]).default("ignore")
|
|
4139
|
+
forwardSpecialUserHandlingMode: import_koishi2.Schema.union(["ignore", "reject", "confirm"]).default("ignore"),
|
|
4140
|
+
enablePokeTrigger: import_koishi2.Schema.boolean().default(true)
|
|
4139
4141
|
}).description("\u6D88\u606F\u884C\u4E3A"),
|
|
4140
4142
|
import_koishi2.Schema.object({
|
|
4141
4143
|
deleteMediaWhenDeletingMsg: import_koishi2.Schema.boolean().default(true),
|
|
@@ -4277,6 +4279,25 @@ function apply(ctx, cfg) {
|
|
|
4277
4279
|
}
|
|
4278
4280
|
});
|
|
4279
4281
|
ctx.command("cave [target:text]").action(async ({ session }, target) => await getCave(ctx, session, cfg, target));
|
|
4282
|
+
const pokeCooldown = /* @__PURE__ */ new Map();
|
|
4283
|
+
const POKE_COOLDOWN_MS = 5e3;
|
|
4284
|
+
ctx.on("notice", async (session) => {
|
|
4285
|
+
if (session.platform !== "onebot") return;
|
|
4286
|
+
if (session.subtype !== "poke") return;
|
|
4287
|
+
if (!session.guildId) return;
|
|
4288
|
+
if (session["targetId"] !== session.selfId) return;
|
|
4289
|
+
if (cfg.enablePokeTrigger === false) return;
|
|
4290
|
+
const key = `${session.channelId}:${session.userId}`;
|
|
4291
|
+
const now = Date.now();
|
|
4292
|
+
if (now - (pokeCooldown.get(key) ?? 0) < POKE_COOLDOWN_MS) return;
|
|
4293
|
+
if (pokeCooldown.size >= 256) {
|
|
4294
|
+
for (const [k, t] of pokeCooldown) {
|
|
4295
|
+
if (now - t > POKE_COOLDOWN_MS) pokeCooldown.delete(k);
|
|
4296
|
+
}
|
|
4297
|
+
}
|
|
4298
|
+
pokeCooldown.set(key, now);
|
|
4299
|
+
await session.execute("cave");
|
|
4300
|
+
});
|
|
4280
4301
|
ctx.command("cave.pic").action(async ({ session }) => await getCave(ctx, session, cfg, void 0, true));
|
|
4281
4302
|
ctx.command("cave.listen").action(async ({ session }) => await getCaveListByUser(ctx, session));
|
|
4282
4303
|
ctx.command("cave.trace").action(async ({ session }) => await getCaveListByOriginUser(ctx, session));
|
package/lib/index.d.ts
CHANGED