@zaofan/dsh-qqbot 1.6.6 → 1.6.7

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 (37) hide show
  1. package/README.md +42 -0
  2. package/client/qqbot-settings.js +281 -9
  3. package/dist/api/group-admin.d.ts +26 -0
  4. package/dist/api/group-admin.d.ts.map +1 -1
  5. package/dist/api/group-admin.js +38 -0
  6. package/dist/api/group-admin.js.map +1 -1
  7. package/dist/channel-tools.d.ts +45 -0
  8. package/dist/channel-tools.d.ts.map +1 -1
  9. package/dist/channel-tools.js +77 -10
  10. package/dist/channel-tools.js.map +1 -1
  11. package/dist/config.d.ts +7 -0
  12. package/dist/config.d.ts.map +1 -1
  13. package/dist/config.js +3 -0
  14. package/dist/config.js.map +1 -1
  15. package/dist/features/botplay-ext.d.ts +269 -0
  16. package/dist/features/botplay-ext.d.ts.map +1 -0
  17. package/dist/features/botplay-ext.js +213 -0
  18. package/dist/features/botplay-ext.js.map +1 -0
  19. package/dist/features/botplay.d.ts +152 -21
  20. package/dist/features/botplay.d.ts.map +1 -1
  21. package/dist/features/botplay.js +706 -21
  22. package/dist/features/botplay.js.map +1 -1
  23. package/dist/features/extension-store.d.ts +49 -0
  24. package/dist/features/extension-store.d.ts.map +1 -1
  25. package/dist/features/extension-store.js +90 -0
  26. package/dist/features/extension-store.js.map +1 -1
  27. package/dist/features/session-registry.d.ts +17 -0
  28. package/dist/features/session-registry.d.ts.map +1 -1
  29. package/dist/features/session-registry.js +24 -0
  30. package/dist/features/session-registry.js.map +1 -1
  31. package/dist/gateway/bootstrap.d.ts.map +1 -1
  32. package/dist/gateway/bootstrap.js +15 -1
  33. package/dist/gateway/bootstrap.js.map +1 -1
  34. package/docs/USER-GUIDE.md +230 -27
  35. package/docs/botplay-contract.md +92 -0
  36. package/package.json +2 -1
  37. package/settings-host.js +4533 -4245
package/dist/config.d.ts CHANGED
@@ -155,6 +155,13 @@ export interface BotplayEventConfig {
155
155
  /** users 时填 openid 列表; owner 时可用(留空=取群主白名单) */
156
156
  userIds?: string[];
157
157
  };
158
+ /**
159
+ * 自定义事件模块文件名(2026-10-05): 填了 ⇒ 本事件由 AI 写的 JS 模块驱动,
160
+ * 放在 {dataRoot}/.qqbot-extensions/botplay/<file>; 卡片按钮与点击行为都走模块钩子,
161
+ * dock 编辑器对这类事件不再显示编辑表单(改为"模块路径 + 重载 + 看源码")。
162
+ * 空/缺省 = 普通事件(走原来的按钮配置)。
163
+ */
164
+ file?: string;
158
165
  buttons: BotplayButtonConfig[];
159
166
  }
160
167
  /** QQ 群管理(2026-09-05): 总开关 + 主人 openid 白名单(空=不校验; 建议填主人与常用小号) */
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -193,11 +193,14 @@ const botplayEventSchema = Schema.object({
193
193
  expireSec: Schema.number().default(600).description('发卡后有效期(秒), 超时按钮失效'),
194
194
  perm: botplayPermSchema,
195
195
  buttonsPerRow: Schema.number().min(1).max(5).default(1).description('每行几个按钮(1~5, 默认1竖排; QQ 上限 5行×5钮)'),
196
+ // 自定义事件模块(2026-10-05): 填了就走 {dataRoot}/.qqbot-extensions/botplay/<file> 的模块钩子
197
+ file: Schema.string().default('').description('自定义事件模块文件名(放 {dataRoot}/.qqbot-extensions/botplay/, 如 checkin-stats.mjs); 空=普通事件'),
196
198
  buttons: Schema.array(botplayButtonSchema).default([]).description('按钮列表(QQ限制: 最多5行)'),
197
199
  }).default({
198
200
  id: '', name: '', contentText: '', maxClicks: 0, expireSec: 600,
199
201
  perm: { type: 'all', userIds: [] },
200
202
  buttonsPerRow: 1,
203
+ file: '',
201
204
  buttons: [],
202
205
  }).description('botplay 互动事件');
203
206
  /** Phase1 内置演示事件(仅当用户从未配置时生效; 保存后以用户配置为准) */
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,269 @@
1
+ import type { Logger } from '../types.js';
2
+ /** 自定义事件模块根目录名(相对数据根) */
3
+ export declare const BOTPLAY_EXT_SUBDIR: string;
4
+ /** 模块自有状态文件目录名(相对自定义事件模块根; 与 .mjs 同屋, 升级/重装都不动) */
5
+ export declare const BOTPLAY_EXT_DATA_SUBDIR = "data";
6
+ /** 自定义事件模块根目录绝对路径 */
7
+ export declare function botplayExtDir(dataRoot: string): string;
8
+ /** 某个模块的状态文件绝对路径 */
9
+ export declare function botplayExtStatePath(dataRoot: string, file: string): string;
10
+ /** 自定义模块可提供的按钮(与事件 JSON 的按钮同形, 便于两边共用 keyboard 生成) */
11
+ export interface BotplayExtButton {
12
+ id: string;
13
+ label: string;
14
+ visitedLabel?: string;
15
+ style?: number;
16
+ botAction?: {
17
+ type?: string;
18
+ text?: string;
19
+ url?: string;
20
+ };
21
+ }
22
+ /** ctx.card() 的读写对象 */
23
+ export interface BotplayExtCard {
24
+ contentText: string;
25
+ buttons: BotplayExtButton[];
26
+ /** 每行按钮数(1~5; 空=用事件配置里的 buttonsPerRow) */
27
+ buttonsPerRow?: number;
28
+ }
29
+ /** 发卡时的实例卡片状态(事件配置的只读快照 + 模块覆写层) */
30
+ export interface BotplayExtCardState extends BotplayExtCard {
31
+ /** 模块通过 ctx.card().? 改过内容 ⇒ 点完自动重发卡片刷新按钮/正文 */
32
+ dirty: boolean;
33
+ /** 解析模块/跑 onInit 时的错误(面板展示用; 空=正常) */
34
+ error?: string;
35
+ /** 本次解析用的模块文件绝对路径 */
36
+ filePath?: string;
37
+ }
38
+ /** 点击人 / 相关成员的信息 */
39
+ export interface BotplayExtUserInfo {
40
+ /** openid(群=member_openid, 私聊=user_openid) */
41
+ openid: string;
42
+ /** 昵称(台账/会话反查; 查不到回落 openid) */
43
+ name: string;
44
+ /** 纯净昵称(不带 openid 尾巴, 适合直接拼进消息) */
45
+ pureName: string;
46
+ /** 是否主人白名单(groupAdmin.owners) */
47
+ isOwner: boolean;
48
+ }
49
+ /** onClick 的第 2 参 */
50
+ export interface BotplayExtClickInfo {
51
+ buttonId: string;
52
+ /** 按钮当时的显示文字 */
53
+ buttonLabel: string;
54
+ /** 同一张卡片上该按钮此前被点过的次数 */
55
+ clickedBefore: number;
56
+ }
57
+ /** 事件只读元信息 */
58
+ export interface BotplayExtEventInfo {
59
+ id: string;
60
+ name: string;
61
+ file: string;
62
+ maxClicks: number;
63
+ expireSec: number;
64
+ /** c2c 私聊 / group 群 */
65
+ scope: 'group' | 'c2c';
66
+ peerId: string;
67
+ }
68
+ /** 模块自有状态存取(落 {dataRoot}/.qqbot-extensions/botplay/data/<file>.json) */
69
+ export interface BotplayExtStore {
70
+ /** 读状态(文件不存在/损坏 → null) */
71
+ load(): Record<string, unknown> | null;
72
+ /** 写状态(原子写 tmp+rename); 失败返回 false */
73
+ save(data: Record<string, unknown>): boolean;
74
+ /** 状态文件绝对路径(诊断/面板展示) */
75
+ path(): string;
76
+ }
77
+ /** 扩展模块拿到的上下文(每个卡片实例一个; 钩子参数统一是它) */
78
+ export interface BotplayExtContext {
79
+ /** 事件只读元信息 */
80
+ readonly event: BotplayExtEventInfo;
81
+ /** 本次卡片实例 id */
82
+ readonly cardId: string;
83
+ /** 同一实例上该按钮此前被点次数(按 卡片+按钮 计) */
84
+ readonly clicked: number;
85
+ /** 点击人(无点击上下文时 openid='' 且 isOwner=false) */
86
+ readonly user: BotplayExtUserInfo;
87
+ /** 主人白名单(groupAdmin.owners) */
88
+ readonly owners: string[];
89
+ /**
90
+ * bot 的 AppID —— 卡片是【代码】,你可以拿它 + appSecret 自己换 access_token,
91
+ * 然后直接 fetch 任何官方接口(不用经过宿主/插件)。见下方 appSecret 的示例。
92
+ */
93
+ readonly appId: string;
94
+ /**
95
+ * bot 的 AppSecret(来自设置页)。**卡片跑在宿主进程里、本来就全权限**,
96
+ * 所以这里直接给你钥匙,而不是替你把能力一项项包出来:
97
+ *
98
+ * const tok = await (await fetch("https://bots.qq.com/app/getAppAccessToken", {
99
+ * method: "POST", headers: { "content-type": "application/json" },
100
+ * body: JSON.stringify({ appId: ctx.appId, clientSecret: ctx.appSecret }),
101
+ * })).json(); // -> { access_token, expires_in }
102
+ * const r = await (await fetch(`https://api.bot.qq.com/v2/groups/${gid}/members/${mid}`, {
103
+ * headers: { authorization: "QQBot " + tok.access_token },
104
+ * })).json(); // -> { username?, code? }
105
+ *
106
+ * ⚠️ token 有效期约 2 小时,建议自己缓存一下(模块级变量即可);
107
+ * ⚠️ 官方未开放的接口会返回 code(如 11253=无权限),自己判、别当异常。
108
+ */
109
+ readonly appSecret: string;
110
+ /** 事件模块根目录绝对路径({dataRoot}/.qqbot-extensions/botplay) */
111
+ readonly dir: string;
112
+ /** 状态存取 */
113
+ store: BotplayExtStore;
114
+ /** 读写本实例卡片(正文/按钮); 改过 ⇒ 点击后自动重发卡片 */
115
+ card(): BotplayExtCard & {
116
+ dirty: boolean;
117
+ };
118
+ /** 发文本(支持 <@openid> @人; 群/私聊自动走对链路) */
119
+ emit(text: string, at?: string | string[]): Promise<boolean>;
120
+ /** 发 markdown(按钮卡片正文那种富文本) */
121
+ markdown(content: string): Promise<boolean>;
122
+ /** 发图(网络图 url / 本地文件 localPath) */
123
+ image(source: {
124
+ url?: string;
125
+ localPath?: string;
126
+ }): Promise<boolean>;
127
+ /**
128
+ * 静默进入 AI 上下文:作为一条 user/message 追加进会话,**不唤醒** AI。
129
+ * AI 下一轮自然能看到(复用框架 llmEffect 的 append_silent 档)。
130
+ * 适合"记录发生了什么":比如把某人签到写进对话历史,但不打扰模型。
131
+ */
132
+ /**
133
+ * 【带 token 的官方 API 调用】—— 框架负责 access_token 与缓存,模块只管给 path。
134
+ * path 不含 host,形如 /v2/groups/{group_openid}/members/{member_openid}。
135
+ * 返回 { ok:true, data } | { ok:false, err:{ code, human } }(human 是人话)。
136
+ * 例:const r = await ctx.api("/v2/groups/" + gid + "/members/" + mid)
137
+ * if (r.ok) nickname = r.data.username
138
+ * ⚠️ 官方未开放的接口会返回错误码(如 11253 = 无权限),自己判 err.code。
139
+ */
140
+ api(path: string, opts?: {
141
+ method?: "GET" | "POST" | "PATCH" | "DELETE";
142
+ body?: unknown;
143
+ }): Promise<{
144
+ ok: true;
145
+ data: unknown;
146
+ } | {
147
+ ok: false;
148
+ err: {
149
+ code: string;
150
+ human: string;
151
+ };
152
+ }>;
153
+ appendSilent(text: string): Promise<boolean>;
154
+ /**
155
+ * 记录**并唤醒** AI:追加进会话后触发一次 AI 回合(AI 可能回话/发群消息)。
156
+ * 复用框架 llmEffect 的 append_wake 档。适合"这里需要 AI 出手",
157
+ * 例如签到结束后让 AI 写一句总结。⚠️ 会消耗 token,别在高频点击里无脑调。
158
+ */
159
+ appendWake(text: string): Promise<boolean>;
160
+ /** @某人(返回 `<@openid>` 片段, 拼进 emit 文本即可) */
161
+ at(openid: string): string;
162
+ /** 查群成员/私聊对象昵称(台账反查; 查不到回落 openid) */
163
+ getMember(openid: string): {
164
+ openid: string;
165
+ name: string;
166
+ pureName: string;
167
+ };
168
+ /** 本实例该按钮被点过的总次数 */
169
+ clickCount(buttonId?: string): number;
170
+ /** 热重载本模块(下次解析卡片时用新代码) */
171
+ reloadSelf(): Promise<{
172
+ ok: boolean;
173
+ msg: string;
174
+ }>;
175
+ /** 模块日志(落插件 logger) */
176
+ log(...args: unknown[]): void;
177
+ }
178
+ /** 自定义事件模块导出形状(全部钩子可选, 但至少要有一个才认) */
179
+ export interface BotplayExtModule {
180
+ name?: string;
181
+ onInit?: (ctx: BotplayExtContext) => unknown | Promise<unknown>;
182
+ onClick?: (ctx: BotplayExtContext, info: BotplayExtClickInfo) => unknown | Promise<unknown>;
183
+ onTick?: (ctx: BotplayExtContext) => unknown | Promise<unknown>;
184
+ onExpire?: (ctx: BotplayExtContext) => unknown | Promise<unknown>;
185
+ onDispose?: (ctx: BotplayExtContext) => unknown | Promise<unknown>;
186
+ }
187
+ /** 归一化后的模块定义(带来源文件名/mtime) */
188
+ export interface BotplayExtLoaded {
189
+ /** 模块文件名(含扩展名) */
190
+ file: string;
191
+ /** 绝对路径 */
192
+ path: string;
193
+ /** mtime(ms) —— 热重载判据 + 面板展示 */
194
+ mtime: number;
195
+ /** 显示名(模块 name 或文件名) */
196
+ name: string;
197
+ /** 模块本体 */
198
+ mod: BotplayExtModule;
199
+ }
200
+ export interface BotplayExtCtxDeps {
201
+ dataRoot: string;
202
+ logger: Logger;
203
+ owners: string[];
204
+ /** bot 凭证 getter(卡片 = 代码,直接把钥匙给它,让它自己调官方 API) */
205
+ credentialsGetter?: () => {
206
+ appId: string;
207
+ appSecret: string;
208
+ };
209
+ /** 当前实例卡片状态(可写; ctx.card() 直接操作它) */
210
+ cardState: BotplayExtCardState;
211
+ /** 发文本 */
212
+ emit(text: string): Promise<boolean>;
213
+ /** 发 markdown */
214
+ markdown(content: string): Promise<boolean>;
215
+ /** 发图 */
216
+ image(source: {
217
+ url?: string;
218
+ localPath?: string;
219
+ }): Promise<boolean>;
220
+ /** 昵称反查(台账/会话; 返回纯昵称, 查不到回落 openid) */
221
+ memberName(openid: string): string;
222
+ /**
223
+ * 影响 LLM 上下文(可选):append_silent 只落上下文;append_wake 还会唤醒一轮。
224
+ * 由 botplay.ts 注入(内部转调它自己的 applyEffect);未注入时模块调用得 false。
225
+ */
226
+ onLlmAppend?: (mode: 'append_silent' | 'append_wake', text: string) => Promise<boolean>;
227
+ /** 带 token 的通用官方 API 调用(可选):由 botplay.ts 注入,转调 GroupAdminClient.apiCall */
228
+ onApiCall?: (method: 'GET' | 'POST' | 'PATCH' | 'DELETE', path: string, body?: unknown) => Promise<{
229
+ ok: true;
230
+ data: unknown;
231
+ } | {
232
+ ok: false;
233
+ err: {
234
+ code: string;
235
+ human: string;
236
+ };
237
+ }>;
238
+ /** 热重载自己 */
239
+ reloadSelf(): Promise<{
240
+ ok: boolean;
241
+ msg: string;
242
+ }>;
243
+ /** 本实例该按钮(不传=全部按钮)被点过的次数 */
244
+ clickCount(buttonId?: string): number;
245
+ /** 诊断日志落盘(可选; 面板可看) */
246
+ diag?: (line: string) => void;
247
+ }
248
+ /** 构造一个卡片实例的 ctx(每次 resolveCard / onClick 都 new 一个, 保证 user 是最新的点击人) */
249
+ export declare function makeExtContext(deps: BotplayExtCtxDeps, ev: {
250
+ id: string;
251
+ name: string;
252
+ file: string;
253
+ maxClicks?: number;
254
+ expireSec?: number;
255
+ scope: 'group' | 'c2c';
256
+ peerId: string;
257
+ }, cardId: string, clicker?: {
258
+ openid: string;
259
+ clickedBefore: number;
260
+ }): BotplayExtContext;
261
+ /**
262
+ * 扩展诊断落盘: {dataRoot}/.qqbot-extensions/botplay/botplay-ext.log
263
+ * 为什么单独一个文件: 事件加载/点击是**宿主进程内的静默失败**高发区(模块语法错、
264
+ * 钩子抛错、路径不对), 全埋进 logger 时面板/主人根本看不到; 落个文件, 面板能读、主人能看。
265
+ */
266
+ export declare function appendExtDiag(dataRoot: string, line: string): void;
267
+ /** 读诊断尾部 N 行(面板用) */
268
+ export declare function readExtDiagTail(dataRoot: string, limit?: number): string[];
269
+ //# sourceMappingURL=botplay-ext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"botplay-ext.d.ts","sourceRoot":"","sources":["../../src/features/botplay-ext.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,213 @@
1
+ /**
2
+ * botplay-ext.ts — botplay「自定义事件」扩展模块运行时(2026-10-05)
3
+ *
4
+ * 动机(主人 2026-10-05):
5
+ * 现有 botplay 编辑器只有 3 种按钮行为(reply_text / jump_url / command)+ 三档 llmEffect,
6
+ * "点一次回一句死文本"。想要的事件往往带**状态**(谁签到过、签了几个、能不能结束)与
7
+ * **越权判定**(结束按钮只有主人能点), 编辑器表达不了 —— 于是让 AI 直接写一个 JS 模块,
8
+ * 事件 JSON 里用 `file` 字段挂上去, 模块用下面这套钩子/上下文自己实现逻辑。
9
+ *
10
+ * 目录(沿用 channel-tools 扩展工具那一套的 extRoot 思路, 见 loadExtensionTools):
11
+ * {dataRoot}/.qqbot-extensions/botplay/<file>.mjs
12
+ * —— 挂在**数据根**下, 与 node_modules 分离 ⇒ 插件 npm 升级/重装**永不覆盖**主人的扩展资产。
13
+ * 同名工具/命令两套扩展已经在用 {dataRoot}/.qqbot-extensions/{tools,commands}, botplay 是第三套。
14
+ *
15
+ * 模块契约(ESM, default 导出或具名导出都行):
16
+ * export default {
17
+ * name: '签到统计', // 可选, 只用于面板显示
18
+ * onInit(ctx) { … }, // 模块首次被某个卡片实例加载时调用(注册按钮 / 建状态)
19
+ * onClick(ctx, info) { … }, // 某按钮被点击时调用; 返回字符串(非空)则当普通文本回给点击者
20
+ * onTick(ctx) { … }, // 可选: 每分钟被扫一次(卡片仍有效期内); 不想用就不写
21
+ * onExpire(ctx) { … }, // 可选: 卡片过期被回收时
22
+ * onDispose(ctx) { … }, // 可选: 卡片关闭/热重载/插件卸载时, 收尾清理
23
+ * };
24
+ * ⚠️ 钩子全部 fail-soft: 抛错只记日志 + 记进诊断, 不影响 QQ 正常聊天、不影响其它事件。
25
+ *
26
+ * ctx 能力(这是本功能的核心价值 —— 编辑器回调给不了的都给到):
27
+ * · 卡片: ctx.card() 读写正文 markdown / 按钮列表; 返回 true ⇒ 点击完自动**重发卡片刷新按钮**
28
+ * · 发消息: ctx.emit 文本(支持 <@openid>) / ctx.markdown / ctx.image / ctx.at (走插件既有出站链路)
29
+ * · 持久化: ctx.store.load() / save(obj) —— 落到数据根下, 升级插件不丢
30
+ * · 查询: ctx.user.openid/name/isOwner, ctx.owners, ctx.info.clickedBefore, ctx.peer, ctx.event
31
+ * · 权限: 模块自己在 onClick 里判 ctx.user.isOwner / ctx.owners.includes(openid) 后决定放不放行
32
+ * (QQ 客户端侧的按钮权限仍由事件 JSON 的 perm 决定, 默认 all=谁都能点, 细粒度交模块)
33
+ * · 运行时: ctx.reloadSelf() 热重载自己, ctx.log(...) 落日志
34
+ *
35
+ * 热重载: 模块 URL 带 `?v=<mtime>`(与 extension-store 同款 cache-bust, 见 fileVersion 注释里
36
+ * 那次内存泄漏的坑), 文件一改下次解析卡片就自动加载新版本 —— 不用重启宿主、不用重启插件。
37
+ *
38
+ * 为什么这里要把"卡片状态"做成可控对象而不是直接改 ev.buttons:
39
+ * ev 是**现读文件**的 live 配置对象, 就地改会污染配置(还会被下一次读取覆盖)。
40
+ * ⇒ 每次发卡抽一份"实例卡片状态"(contentText/buttons/buttonsPerRow/dirty), 事件配置只读。
41
+ */
42
+ import { appendFileSync, existsSync, mkdirSync, readFileSync, renameSync, writeFileSync } from 'node:fs';
43
+ import { dirname, join } from 'node:path';
44
+ /** 自定义事件模块根目录名(相对数据根) */
45
+ export const BOTPLAY_EXT_SUBDIR = join('.qqbot-extensions', 'botplay');
46
+ /** 模块自有状态文件目录名(相对自定义事件模块根; 与 .mjs 同屋, 升级/重装都不动) */
47
+ export const BOTPLAY_EXT_DATA_SUBDIR = 'data';
48
+ /** 自定义事件模块根目录绝对路径 */
49
+ export function botplayExtDir(dataRoot) {
50
+ return join(dataRoot, BOTPLAY_EXT_SUBDIR);
51
+ }
52
+ /** 某个模块的状态文件绝对路径 */
53
+ export function botplayExtStatePath(dataRoot, file) {
54
+ return join(dataRoot, BOTPLAY_EXT_SUBDIR, BOTPLAY_EXT_DATA_SUBDIR, `${file}.json`);
55
+ }
56
+ /** 构造一个卡片实例的 ctx(每次 resolveCard / onClick 都 new 一个, 保证 user 是最新的点击人) */
57
+ export function makeExtContext(deps, ev, cardId, clicker) {
58
+ const stateFile = botplayExtStatePath(deps.dataRoot, ev.file);
59
+ /** 统一入口:模块要"进 AI 上下文"时转给注入的回调(没注入就返回 false,不抛错) */
60
+ const runLlmEffect = async (mode, text) => {
61
+ const t = String(text ?? '').trim();
62
+ if (!t)
63
+ return false;
64
+ if (typeof deps.onLlmAppend !== 'function') {
65
+ deps.logger.warn?.('[botplay-ext] 本次未注入 onLlmAppend,append 请求被忽略');
66
+ return false;
67
+ }
68
+ try {
69
+ return (await deps.onLlmAppend(mode, t)) === true;
70
+ }
71
+ catch (err) {
72
+ deps.logger.warn?.(`[botplay-ext] ${ev.file} append 失败: ${err instanceof Error ? err.message : String(err)}`);
73
+ return false;
74
+ }
75
+ };
76
+ const openid = clicker?.openid ?? '';
77
+ return {
78
+ event: {
79
+ id: ev.id,
80
+ name: ev.name,
81
+ file: ev.file,
82
+ maxClicks: Number(ev.maxClicks ?? 0) || 0,
83
+ expireSec: Number(ev.expireSec ?? 600) || 600,
84
+ scope: ev.scope,
85
+ peerId: ev.peerId,
86
+ },
87
+ cardId,
88
+ clicked: clicker?.clickedBefore ?? 0,
89
+ get user() {
90
+ return {
91
+ openid,
92
+ name: openid ? deps.memberName(openid) : '',
93
+ pureName: openid ? deps.memberName(openid) : '',
94
+ isOwner: !!openid && deps.owners.includes(openid),
95
+ };
96
+ },
97
+ owners: deps.owners.slice(),
98
+ /** 只读:bot AppID(卡片可拿它 + appSecret 自己换 token 调官方 API) */
99
+ get appId() {
100
+ try {
101
+ return String((deps.credentialsGetter?.() || {}).appId || '');
102
+ }
103
+ catch {
104
+ return '';
105
+ }
106
+ },
107
+ /** 只读:bot AppSecret(同上;卡片是代码,直接给钥匙而不是包能力) */
108
+ get appSecret() {
109
+ try {
110
+ return String((deps.credentialsGetter?.() || {}).appSecret || '');
111
+ }
112
+ catch {
113
+ return '';
114
+ }
115
+ },
116
+ /**
117
+ * 静默进入 AI 上下文:作为一条 user/message 追加进会话,不唤醒 AI。
118
+ * 复用框架 llmEffect 的 append_silent 档;AI 下一轮自然能看到。
119
+ */
120
+ appendSilent: (text) => runLlmEffect('append_silent', text),
121
+ /**
122
+ * 记录并唤醒 AI:追加进会话后触发一次 AI 回合(AI 可能回话/发群消息)。
123
+ * 复用 llmEffect 的 append_wake 档。⚠️ 耗 token,别在高频点击里无脑调。
124
+ */
125
+ appendWake: (text) => runLlmEffect('append_wake', text),
126
+ /** 带 token 的官方 API 调用(框架拿 token;模块只管 path) */
127
+ api: async (path, opts) => {
128
+ if (typeof deps.onApiCall !== 'function') {
129
+ return { ok: false, err: { code: 'NO_API', human: '本次运行未注入 onApiCall,API 调用不可用' } };
130
+ }
131
+ return deps.onApiCall((opts && opts.method) || 'GET', path, opts ? opts.body : undefined);
132
+ },
133
+ dir: botplayExtDir(deps.dataRoot),
134
+ store: {
135
+ load() {
136
+ try {
137
+ const raw = readFileSync(stateFile, 'utf8');
138
+ const o = JSON.parse(raw);
139
+ return o && typeof o === 'object' ? o : null;
140
+ }
141
+ catch {
142
+ return null; // 文件不存在/坏 → 当空状态(fail-soft)
143
+ }
144
+ },
145
+ save(data) {
146
+ try {
147
+ mkdirSync(dirname(stateFile), { recursive: true });
148
+ const tmp = `${stateFile}.tmp-${Date.now()}`;
149
+ writeFileSync(tmp, JSON.stringify(data, null, 2), 'utf8');
150
+ renameSync(tmp, stateFile); // 原子写(tmp+rename, 仿 chat-ledger/botplay-store)
151
+ return true;
152
+ }
153
+ catch (err) {
154
+ deps.logger.warn?.(`[botplay-ext] ${ev.file} 状态写入失败: ${err instanceof Error ? err.message : String(err)}`);
155
+ return false;
156
+ }
157
+ },
158
+ path: () => stateFile,
159
+ },
160
+ card() {
161
+ return deps.cardState;
162
+ },
163
+ emit: (text, at) => {
164
+ const ids = at === undefined ? [] : (Array.isArray(at) ? at : [at]);
165
+ const prefix = ids.filter(Boolean).map((id) => `<@${id}> `).join('');
166
+ return deps.emit(prefix + String(text ?? ''));
167
+ },
168
+ markdown: (content) => deps.markdown(String(content ?? '')),
169
+ image: (source) => deps.image(source),
170
+ at: (id) => `<@${String(id ?? '')}>`,
171
+ getMember: (id) => {
172
+ const nm = deps.memberName(String(id ?? ''));
173
+ return { openid: String(id ?? ''), name: nm, pureName: nm };
174
+ },
175
+ clickCount: (buttonId) => deps.clickCount(buttonId),
176
+ reloadSelf: () => deps.reloadSelf(),
177
+ log: (...args) => {
178
+ try {
179
+ deps.logger.info?.(`[botplay-ext:${ev.file}] ${args.map((a) => (typeof a === 'string' ? a : JSON.stringify(a))).join(' ')}`);
180
+ }
181
+ catch { /* 日志失败无所谓 */ }
182
+ },
183
+ };
184
+ }
185
+ // ─────────────────────────── 诊断日志(面板可见) ───────────────────────────
186
+ /**
187
+ * 扩展诊断落盘: {dataRoot}/.qqbot-extensions/botplay/botplay-ext.log
188
+ * 为什么单独一个文件: 事件加载/点击是**宿主进程内的静默失败**高发区(模块语法错、
189
+ * 钩子抛错、路径不对), 全埋进 logger 时面板/主人根本看不到; 落个文件, 面板能读、主人能看。
190
+ */
191
+ export function appendExtDiag(dataRoot, line) {
192
+ try {
193
+ const dir = botplayExtDir(dataRoot);
194
+ if (!existsSync(dir))
195
+ mkdirSync(dir, { recursive: true });
196
+ appendFileSync(join(dir, 'botplay-ext.log'), `[${new Date().toISOString()}] ${line}\n`, 'utf8');
197
+ }
198
+ catch { /* 诊断失败绝不抛 */ }
199
+ }
200
+ /** 读诊断尾部 N 行(面板用) */
201
+ export function readExtDiagTail(dataRoot, limit = 40) {
202
+ try {
203
+ const p = join(botplayExtDir(dataRoot), 'botplay-ext.log');
204
+ if (!existsSync(p))
205
+ return [];
206
+ const lines = readFileSync(p, 'utf8').split('\n').filter((l) => l.trim());
207
+ return lines.slice(-Math.max(1, Math.min(500, limit)));
208
+ }
209
+ catch {
210
+ return [];
211
+ }
212
+ }
213
+ //# sourceMappingURL=botplay-ext.js.map