@zaofan/dsh-qqbot 1.10.38 → 1.10.40
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/dist/channel-tools.d.ts.map +1 -1
- package/dist/channel-tools.js +41 -3
- package/dist/channel-tools.js.map +1 -1
- package/dist/features/ext-capabilities.d.ts +18 -0
- package/dist/features/ext-capabilities.d.ts.map +1 -1
- package/dist/features/ext-capabilities.js.map +1 -1
- package/dist/gateway/middleware-setup.d.ts.map +1 -1
- package/dist/gateway/middleware-setup.js +25 -0
- package/dist/gateway/middleware-setup.js.map +1 -1
- package/package.json +1 -1
- package/settings-host.js +36 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel-tools.d.ts","sourceRoot":"","sources":["../src/channel-tools.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAInD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AA8FlE,6DAA6D;AAC7D,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,eAAO,MAAM,IAAI,wBAAwB,CAAC;AAI1C,eAAO,MAAM,MAAM,UAAY,CAAC;AAoOhC,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,CAAiC;AAkD5F,wCAAwC;AACxC,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAErH;AACD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAE9E;AACD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI,CAI/D;AAkFD,mDAAmD;AACnD,wBAAsB,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"channel-tools.d.ts","sourceRoot":"","sources":["../src/channel-tools.ts"],"names":[],"mappings":"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"}
|
package/dist/channel-tools.js
CHANGED
|
@@ -3099,7 +3099,38 @@ export async function apply(ctx) {
|
|
|
3099
3099
|
appId: mgr?.config?.appId,
|
|
3100
3100
|
appSecret: mgr?.config?.appSecret,
|
|
3101
3101
|
owners: mgr?.config?.owners,
|
|
3102
|
-
|
|
3102
|
+
// 2026-10-25:按 docs/extension-contract.md §2 补齐 user / peer 命名空间(见下方),
|
|
3103
|
+
// 并额外给一个**顶层 isOwner 布尔值** —— 这是最省事的判据,
|
|
3104
|
+
// 扩展直接 `if (!env.isOwner) return` 即可,不必自己比对 owners 数组。
|
|
3105
|
+
isOwner: (Array.isArray(mgr?.config?.owners)
|
|
3106
|
+
&& !!recAny?.senderId
|
|
3107
|
+
&& mgr.config.owners.map(String).includes(String(recAny.senderId))),
|
|
3108
|
+
senderOpenid: recAny?.senderId,
|
|
3109
|
+
userOpenid: recAny?.senderId,
|
|
3110
|
+
openid: recAny?.senderId,
|
|
3111
|
+
// sender 合并而非覆盖:保留原字段(别的扩展可能读 name/card 等)
|
|
3112
|
+
// 额外带上 openid —— 部分扩展按 `ctx.sender.openid` 找发送者
|
|
3113
|
+
sender: ({
|
|
3114
|
+
...((sess?.ch.sender && typeof sess.ch.sender === 'object') ? sess.ch.sender : {}),
|
|
3115
|
+
openid: recAny?.senderId,
|
|
3116
|
+
}),
|
|
3117
|
+
// ★ 2026-10-25:补齐 docs/extension-contract.md §2 承诺的命名空间
|
|
3118
|
+
// 文档写的是 `env.user.openid/name/isOwner` 与 `env.peer.scope/peerId`,
|
|
3119
|
+
// 但实现一直没给 —— 文档声明「本文写的就是当前真实实现」,
|
|
3120
|
+
// 于是照文档写的扩展拿到 undefined(proactive-companion 就栽在这)。
|
|
3121
|
+
user: {
|
|
3122
|
+
openid: recAny?.senderId,
|
|
3123
|
+
name: ((sess?.ch.sender && typeof sess.ch.sender === 'object')
|
|
3124
|
+
? sess.ch.sender.name
|
|
3125
|
+
: undefined),
|
|
3126
|
+
isOwner: (Array.isArray(mgr?.config?.owners)
|
|
3127
|
+
&& !!recAny?.senderId
|
|
3128
|
+
&& mgr.config.owners.map(String).includes(String(recAny.senderId))),
|
|
3129
|
+
},
|
|
3130
|
+
peer: {
|
|
3131
|
+
scope: recAny?.scope,
|
|
3132
|
+
peerId: recAny?.peerId,
|
|
3133
|
+
},
|
|
3103
3134
|
replyTarget: (recAny?.replyTarget ?? sess?.rec.replyTarget),
|
|
3104
3135
|
agent: recAny?.agent,
|
|
3105
3136
|
scope: recAny?.scope,
|
|
@@ -3125,8 +3156,15 @@ export async function apply(ctx) {
|
|
|
3125
3156
|
}
|
|
3126
3157
|
try {
|
|
3127
3158
|
const r = await def.run(args, env);
|
|
3128
|
-
if (r && typeof r === 'object')
|
|
3129
|
-
|
|
3159
|
+
if (r && typeof r === 'object') {
|
|
3160
|
+
// 2026-10-25 兼容三种写法:{ok,msg} / {ok,message} / 裸对象(如 get 直接返回查询结果)
|
|
3161
|
+
// 之前只认 r.msg,导致作者写 {ok:true, message:'已开启'} 也显示成 "已完成: done",
|
|
3162
|
+
// 而 get 分支返回裸对象时 r.ok 是 undefined → 显示成 "失败: done"。
|
|
3163
|
+
const rr = r;
|
|
3164
|
+
const okFlag = typeof rr.ok === 'boolean' ? rr.ok : !rr.error;
|
|
3165
|
+
const text = rr.msg ?? rr.message ?? rr.error ?? 'done';
|
|
3166
|
+
return { ok: okFlag, msg: String(text) };
|
|
3167
|
+
}
|
|
3130
3168
|
return { ok: true, msg: r === undefined || r === null ? 'done' : String(r) };
|
|
3131
3169
|
}
|
|
3132
3170
|
catch (err) {
|