@zhin.js/adapter-qq 5.0.2 → 6.0.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/CHANGELOG.md +72 -0
- package/README.md +75 -409
- package/adapters/qq.ts +51 -0
- package/agent/tools/add_role.ts +2 -2
- package/agent/tools/channel_info.ts +2 -2
- package/agent/tools/create_role.ts +2 -2
- package/agent/tools/list_channels.ts +2 -2
- package/agent/tools/list_guilds.ts +2 -2
- package/agent/tools/list_roles.ts +2 -2
- package/agent/tools/member_detail.ts +2 -2
- package/agent/tools/remove_role.ts +2 -2
- package/commands/endpoint/add/[name:string=].ts +21 -0
- package/commands/endpoint/cancel.ts +15 -0
- package/commands/endpoint/list.ts +10 -0
- package/commands/endpoint/remove/[name:string].ts +15 -0
- package/lib/endpoint.d.ts +75 -0
- package/lib/endpoint.js +358 -0
- package/lib/index.d.ts +6 -0
- package/lib/index.js +6 -0
- package/lib/platform-permit.d.ts +16 -0
- package/lib/{src/platform-permit.js → platform-permit.js} +1 -2
- package/lib/protocol.d.ts +96 -0
- package/lib/protocol.js +129 -0
- package/lib/qq-agent-deps.d.ts +21 -0
- package/lib/qq-agent-deps.js +30 -0
- package/lib/qq-bind-api.d.ts +36 -0
- package/lib/{src/qq-bind-api.js → qq-bind-api.js} +0 -1
- package/lib/qq-bind-flow.d.ts +19 -0
- package/lib/{src/qq-bind-flow.js → qq-bind-flow.js} +0 -1
- package/lib/qq-bind-persist.d.ts +12 -0
- package/lib/{src/qq-bind-persist.js → qq-bind-persist.js} +4 -5
- package/lib/qq-endpoint-commands.d.ts +25 -0
- package/lib/qq-endpoint-commands.js +147 -0
- package/lib/qq-endpoint-config.d.ts +17 -0
- package/lib/qq-endpoint-config.js +110 -0
- package/lib/qq-runtime-state.d.ts +17 -0
- package/lib/qq-runtime-state.js +13 -0
- package/lib/webhook.d.ts +18 -0
- package/lib/webhook.js +100 -0
- package/lib/ws.d.ts +24 -0
- package/lib/ws.js +118 -0
- package/package.json +51 -40
- package/plugin.ts +16 -0
- package/schema.json +85 -0
- package/src/endpoint.ts +362 -596
- package/src/index.ts +56 -186
- package/src/platform-permit.ts +1 -1
- package/src/protocol.ts +229 -0
- package/src/qq-agent-deps.ts +49 -12
- package/src/qq-bind-persist.ts +4 -4
- package/src/qq-endpoint-commands.ts +174 -0
- package/src/qq-endpoint-config.ts +135 -0
- package/src/qq-runtime-state.ts +36 -0
- package/src/webhook.ts +127 -0
- package/src/ws.ts +172 -0
- package/client/Dashboard.tsx +0 -230
- package/client/index.tsx +0 -11
- package/client/tsconfig.json +0 -7
- package/client/utils/api.ts +0 -30
- package/dist/index.js +0 -30
- package/lib/agent/tools/add_role.js +0 -23
- package/lib/agent/tools/add_role.js.map +0 -1
- package/lib/agent/tools/channel_info.js +0 -19
- package/lib/agent/tools/channel_info.js.map +0 -1
- package/lib/agent/tools/create_role.js +0 -22
- package/lib/agent/tools/create_role.js.map +0 -1
- package/lib/agent/tools/list_channels.js +0 -20
- package/lib/agent/tools/list_channels.js.map +0 -1
- package/lib/agent/tools/list_guilds.js +0 -17
- package/lib/agent/tools/list_guilds.js.map +0 -1
- package/lib/agent/tools/list_roles.js +0 -20
- package/lib/agent/tools/list_roles.js.map +0 -1
- package/lib/agent/tools/member_detail.js +0 -20
- package/lib/agent/tools/member_detail.js.map +0 -1
- package/lib/agent/tools/remove_role.js +0 -23
- package/lib/agent/tools/remove_role.js.map +0 -1
- package/lib/package.json +0 -105
- package/lib/src/adapter.js +0 -81
- package/lib/src/adapter.js.map +0 -1
- package/lib/src/endpoint.js +0 -600
- package/lib/src/endpoint.js.map +0 -1
- package/lib/src/gateway-config.js +0 -32
- package/lib/src/gateway-config.js.map +0 -1
- package/lib/src/group-at-normalize.js +0 -68
- package/lib/src/group-at-normalize.js.map +0 -1
- package/lib/src/inbound-action.js +0 -57
- package/lib/src/inbound-action.js.map +0 -1
- package/lib/src/inbound-normalize.js +0 -47
- package/lib/src/inbound-normalize.js.map +0 -1
- package/lib/src/index.js +0 -194
- package/lib/src/index.js.map +0 -1
- package/lib/src/mention-enrich.js +0 -52
- package/lib/src/mention-enrich.js.map +0 -1
- package/lib/src/outbound-keyboard.js +0 -100
- package/lib/src/outbound-keyboard.js.map +0 -1
- package/lib/src/outbound-markdown.js +0 -189
- package/lib/src/outbound-markdown.js.map +0 -1
- package/lib/src/outbound-media.js +0 -51
- package/lib/src/outbound-media.js.map +0 -1
- package/lib/src/outbound-mixed-media.js +0 -78
- package/lib/src/outbound-mixed-media.js.map +0 -1
- package/lib/src/platform-permit.js.map +0 -1
- package/lib/src/qq-agent-deps.js +0 -10
- package/lib/src/qq-agent-deps.js.map +0 -1
- package/lib/src/qq-bind-api.js.map +0 -1
- package/lib/src/qq-bind-flow.js.map +0 -1
- package/lib/src/qq-bind-persist.js.map +0 -1
- package/lib/src/qq-endpoint-manager.js +0 -159
- package/lib/src/qq-endpoint-manager.js.map +0 -1
- package/lib/src/sdk-version.js +0 -19
- package/lib/src/sdk-version.js.map +0 -1
- package/lib/src/segment-mapper.js +0 -2
- package/lib/src/segment-mapper.js.map +0 -1
- package/lib/src/types.js +0 -2
- package/lib/src/types.js.map +0 -1
- package/plugin.yml +0 -3
- package/src/adapter.ts +0 -97
- package/src/gateway-config.ts +0 -48
- package/src/group-at-normalize.ts +0 -75
- package/src/inbound-action.ts +0 -87
- package/src/inbound-normalize.ts +0 -57
- package/src/mention-enrich.ts +0 -71
- package/src/outbound-keyboard.ts +0 -117
- package/src/outbound-markdown.ts +0 -212
- package/src/outbound-media.ts +0 -58
- package/src/outbound-mixed-media.ts +0 -101
- package/src/qq-endpoint-manager.ts +0 -199
- package/src/sdk-version.ts +0 -21
- package/src/segment-mapper.ts +0 -1
- package/src/types.ts +0 -52
package/lib/package.json
DELETED
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@zhin.js/adapter-qq",
|
|
3
|
-
"version": "5.0.2",
|
|
4
|
-
"description": "Zhin.js adapter for QQ Official Bot",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"main": "./lib/index.js",
|
|
7
|
-
"types": "./lib/index.d.ts",
|
|
8
|
-
"exports": {
|
|
9
|
-
".": {
|
|
10
|
-
"types": "./lib/index.d.ts",
|
|
11
|
-
"development": "./src/index.ts",
|
|
12
|
-
"import": "./lib/index.js"
|
|
13
|
-
}
|
|
14
|
-
},
|
|
15
|
-
"keywords": [
|
|
16
|
-
"zhin",
|
|
17
|
-
"zhin.js",
|
|
18
|
-
"bot",
|
|
19
|
-
"adapter",
|
|
20
|
-
"qq",
|
|
21
|
-
"tencent",
|
|
22
|
-
"official",
|
|
23
|
-
"chatbot"
|
|
24
|
-
],
|
|
25
|
-
"author": {
|
|
26
|
-
"name": "lc-cn",
|
|
27
|
-
"email": "admin@liucl.cn",
|
|
28
|
-
"url": "https://github.com/lc-cn"
|
|
29
|
-
},
|
|
30
|
-
"license": "MIT",
|
|
31
|
-
"repository": {
|
|
32
|
-
"url": "git+https://github.com/zhinjs/zhin.git",
|
|
33
|
-
"type": "git",
|
|
34
|
-
"directory": "plugins/adapters/qq"
|
|
35
|
-
},
|
|
36
|
-
"scripts": {
|
|
37
|
-
"build": "zhin build",
|
|
38
|
-
"clean": "rimraf lib dist",
|
|
39
|
-
"build:node": "tsc",
|
|
40
|
-
"prepublishOnly": "npm run build"
|
|
41
|
-
},
|
|
42
|
-
"dependencies": {
|
|
43
|
-
"qq-official-bot": "^1.2.3"
|
|
44
|
-
},
|
|
45
|
-
"devDependencies": {
|
|
46
|
-
"@types/react": "^19.2.17",
|
|
47
|
-
"@types/react-dom": "^19.2.3",
|
|
48
|
-
"@zhin.js/cli": "workspace:*",
|
|
49
|
-
"@zhin.js/client": "workspace:*",
|
|
50
|
-
"@zhin.js/contract": "workspace:*",
|
|
51
|
-
"@zhin.js/host-api": "workspace:*",
|
|
52
|
-
"@zhin.js/host-router": "workspace:*",
|
|
53
|
-
"@zhin.js/logger": "workspace:*",
|
|
54
|
-
"lucide-react": "^1.22.0",
|
|
55
|
-
"typescript": "^6.0.3",
|
|
56
|
-
"zhin.js": "workspace:*",
|
|
57
|
-
"@zhin.js/agent": "workspace:*",
|
|
58
|
-
"zod": "^4.4.3"
|
|
59
|
-
},
|
|
60
|
-
"peerDependencies": {
|
|
61
|
-
"@zhin.js/client": "workspace:*",
|
|
62
|
-
"@zhin.js/host-api": "workspace:*",
|
|
63
|
-
"@zhin.js/contract": "workspace:*",
|
|
64
|
-
"@zhin.js/host-router": "workspace:*",
|
|
65
|
-
"@zhin.js/logger": "workspace:*",
|
|
66
|
-
"zhin.js": "workspace:*",
|
|
67
|
-
"@zhin.js/agent": "workspace:*",
|
|
68
|
-
"zod": "^4.0.0"
|
|
69
|
-
},
|
|
70
|
-
"peerDependenciesMeta": {
|
|
71
|
-
"@zhin.js/agent": {
|
|
72
|
-
"optional": true
|
|
73
|
-
},
|
|
74
|
-
"@zhin.js/client": {
|
|
75
|
-
"optional": true
|
|
76
|
-
},
|
|
77
|
-
"@zhin.js/host-router": {
|
|
78
|
-
"optional": true
|
|
79
|
-
},
|
|
80
|
-
"@zhin.js/host-api": {
|
|
81
|
-
"optional": true
|
|
82
|
-
},
|
|
83
|
-
"zod": {
|
|
84
|
-
"optional": true
|
|
85
|
-
}
|
|
86
|
-
},
|
|
87
|
-
"files": [
|
|
88
|
-
"src",
|
|
89
|
-
"lib",
|
|
90
|
-
"client",
|
|
91
|
-
"dist",
|
|
92
|
-
"agent",
|
|
93
|
-
"plugin.yml",
|
|
94
|
-
"README.md",
|
|
95
|
-
"node",
|
|
96
|
-
"CHANGELOG.md"
|
|
97
|
-
],
|
|
98
|
-
"publishConfig": {
|
|
99
|
-
"access": "public",
|
|
100
|
-
"registry": "https://registry.npmjs.org"
|
|
101
|
-
},
|
|
102
|
-
"engines": {
|
|
103
|
-
"node": "^20.19.0 || >=22.12.0"
|
|
104
|
-
}
|
|
105
|
-
}
|
package/lib/src/adapter.js
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* QQ 官方适配器
|
|
3
|
-
*/
|
|
4
|
-
import { Adapter, QQ_AI_OUTBOUND_EXTENSIONS } from 'zhin.js';
|
|
5
|
-
import { QQEndpoint } from "./endpoint.js";
|
|
6
|
-
import { QqEndpointManager } from "./qq-endpoint-manager.js";
|
|
7
|
-
export class QQAdapter extends Adapter {
|
|
8
|
-
static capabilities = ['inbound', 'outbound'];
|
|
9
|
-
static outboundRichSegmentPolicy = {
|
|
10
|
-
qrcode: 'image',
|
|
11
|
-
html: 'image',
|
|
12
|
-
markdown: 'origin',
|
|
13
|
-
};
|
|
14
|
-
static interactivePolicy = 'native';
|
|
15
|
-
static aiOutboundCapabilities = {
|
|
16
|
-
mentions: true,
|
|
17
|
-
richSegments: ['qrcode', 'html', 'markdown', 'tts'],
|
|
18
|
-
interactive: 'native',
|
|
19
|
-
};
|
|
20
|
-
static aiOutboundExtensions = QQ_AI_OUTBOUND_EXTENSIONS;
|
|
21
|
-
#router;
|
|
22
|
-
#endpointManager;
|
|
23
|
-
constructor(plugin, router) {
|
|
24
|
-
super(plugin, "qq", []);
|
|
25
|
-
this.#router = router;
|
|
26
|
-
}
|
|
27
|
-
getRouter() {
|
|
28
|
-
return this.#router;
|
|
29
|
-
}
|
|
30
|
-
createEndpoint(config) {
|
|
31
|
-
return new QQEndpoint(this, config);
|
|
32
|
-
}
|
|
33
|
-
getEndpointManager() {
|
|
34
|
-
if (!this.#endpointManager) {
|
|
35
|
-
this.#endpointManager = new QqEndpointManager(this);
|
|
36
|
-
}
|
|
37
|
-
return this.#endpointManager;
|
|
38
|
-
}
|
|
39
|
-
// ── ISceneManagement 标准群管方法 ──────────────────────────────────
|
|
40
|
-
async removeMember(endpointId, sceneId, userId) {
|
|
41
|
-
const endpoint = this.endpoints.get(endpointId);
|
|
42
|
-
if (!endpoint)
|
|
43
|
-
throw new Error(`Endpoint ${endpointId} 不存在`);
|
|
44
|
-
return endpoint.removeGuildMember(sceneId, userId, false);
|
|
45
|
-
}
|
|
46
|
-
async muteMember(endpointId, sceneId, userId, duration = 600) {
|
|
47
|
-
const endpoint = this.endpoints.get(endpointId);
|
|
48
|
-
if (!endpoint)
|
|
49
|
-
throw new Error(`Endpoint ${endpointId} 不存在`);
|
|
50
|
-
return endpoint.muteMembers(sceneId, [userId], duration);
|
|
51
|
-
}
|
|
52
|
-
async setSceneMuted(endpointId, sceneId, enable = true) {
|
|
53
|
-
const endpoint = this.endpoints.get(endpointId);
|
|
54
|
-
if (!endpoint)
|
|
55
|
-
throw new Error(`Endpoint ${endpointId} 不存在`);
|
|
56
|
-
return endpoint.muteAll(sceneId, enable ? 600 : 0);
|
|
57
|
-
}
|
|
58
|
-
async listMembers(endpointId, sceneId) {
|
|
59
|
-
const endpoint = this.endpoints.get(endpointId);
|
|
60
|
-
if (!endpoint)
|
|
61
|
-
throw new Error(`Endpoint ${endpointId} 不存在`);
|
|
62
|
-
return endpoint.getGuildMembers(sceneId);
|
|
63
|
-
}
|
|
64
|
-
async getSceneInfo(endpointId, sceneId) {
|
|
65
|
-
const endpoint = this.endpoints.get(endpointId);
|
|
66
|
-
if (!endpoint)
|
|
67
|
-
throw new Error(`Endpoint ${endpointId} 不存在`);
|
|
68
|
-
return endpoint.getGuildInfo(sceneId);
|
|
69
|
-
}
|
|
70
|
-
// ── 生命周期 ───────────────────────────────────────────────────────
|
|
71
|
-
async start() {
|
|
72
|
-
if (!this.#router) {
|
|
73
|
-
this.#router = this.plugin.inject("router");
|
|
74
|
-
}
|
|
75
|
-
this.plugin.useContext("router", (router) => {
|
|
76
|
-
this.#router = router;
|
|
77
|
-
});
|
|
78
|
-
await super.start();
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
//# sourceMappingURL=adapter.js.map
|
package/lib/src/adapter.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/adapter.ts"],"names":[],"mappings":"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"}
|