@zhin.js/adapter-qq 1.0.59 → 1.0.62

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 CHANGED
@@ -1,5 +1,36 @@
1
1
  # @zhin.js/adapter-qq
2
2
 
3
+ ## 1.0.62
4
+
5
+ ### Patch Changes
6
+
7
+ - 5073d4c: chore: chore: update TypeScript version to ^5.9.3 across all plugins and packages
8
+ feat: enhance ai-text-as-image output registration with off handler for cleanup
9
+ fix: remove unnecessary logging in ensureBuiltinFontsCached function
10
+ refactor: simplify action handlers in html-renderer tools
11
+ chore: add README files for queue-sandbox-poc and event-delivery packages
12
+ chore: adjust pnpm workspace configuration to exclude games directory
13
+ chore: update tsconfig to include plugins directory for TypeScript compilation
14
+ - Updated dependencies [5073d4c]
15
+ - zhin.js@1.0.60
16
+ - @zhin.js/logger@0.1.44
17
+
18
+ ## 1.0.61
19
+
20
+ ### Patch Changes
21
+
22
+ - c212bf7: fix: 适配器优化
23
+ - Updated dependencies [c212bf7]
24
+ - @zhin.js/logger@0.1.43
25
+ - zhin.js@1.0.59
26
+
27
+ ## 1.0.60
28
+
29
+ ### Patch Changes
30
+
31
+ - zhin.js@1.0.58
32
+ - @zhin.js/logger@0.1.42
33
+
3
34
  ## 1.0.59
4
35
 
5
36
  ### Patch Changes
package/lib/adapter.d.ts CHANGED
@@ -13,9 +13,5 @@ export declare class QQAdapter extends Adapter<QQBot<ReceiverMode>> {
13
13
  listMembers(botId: string, sceneId: string): Promise<any[]>;
14
14
  getGroupInfo(botId: string, sceneId: string): Promise<any>;
15
15
  start(): Promise<void>;
16
- /**
17
- * 注册 QQ 官方平台特有工具(频道列表等)
18
- */
19
- private registerQQPlatformTools;
20
16
  }
21
17
  //# sourceMappingURL=adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,OAAO,EACP,MAAM,EAGP,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE5D,qBAAa,SAAU,SAAQ,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAC7C,MAAM,EAAE,MAAM;IAI1B,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC;IAM3D,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAMzD,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,SAAM;IAMzE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAO;IAMrD,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAM1C,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAQ3C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5B;;OAEG;IACH,OAAO,CAAC,uBAAuB;CA2MhC"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,OAAO,EACP,MAAM,EACP,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE5D,qBAAa,SAAU,SAAQ,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAC7C,MAAM,EAAE,MAAM;IAI1B,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC;IAM3D,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAMzD,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,SAAM;IAMzE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAO;IAMrD,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAM1C,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAQ3C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAI7B"}
package/lib/adapter.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * QQ 官方适配器
3
3
  */
4
- import { Adapter, createGroupManagementTools, } from "zhin.js";
4
+ import { Adapter, } from "zhin.js";
5
5
  import { QQBot } from "./bot.js";
6
6
  export class QQAdapter extends Adapter {
7
7
  constructor(plugin) {
@@ -43,216 +43,7 @@ export class QQAdapter extends Adapter {
43
43
  }
44
44
  // ── 生命周期 ───────────────────────────────────────────────────────
45
45
  async start() {
46
- this.registerQQPlatformTools();
47
- const groupTools = createGroupManagementTools(this, this.name);
48
- groupTools.forEach((t) => this.addTool(t));
49
46
  await super.start();
50
47
  }
51
- /**
52
- * 注册 QQ 官方平台特有工具(频道列表等)
53
- */
54
- registerQQPlatformTools() {
55
- // 获取频道列表工具
56
- this.addTool({
57
- name: 'qq_list_guilds',
58
- description: '获取 QQ 频道列表',
59
- parameters: {
60
- type: 'object',
61
- properties: {
62
- bot: { type: 'string', description: 'Bot 名称' },
63
- },
64
- required: ['bot'],
65
- },
66
- platforms: ['qq'],
67
- scopes: ['channel'],
68
- permissionLevel: 'user',
69
- execute: async (args) => {
70
- const { bot: botId } = args;
71
- const bot = this.bots.get(botId);
72
- if (!bot)
73
- throw new Error(`Bot ${botId} 不存在`);
74
- const guilds = await bot.getGuilds();
75
- return { guilds, count: guilds.length };
76
- },
77
- });
78
- // 获取子频道列表工具
79
- this.addTool({
80
- name: 'qq_list_channels',
81
- description: '获取 QQ 频道下的子频道列表',
82
- parameters: {
83
- type: 'object',
84
- properties: {
85
- bot: { type: 'string', description: 'Bot 名称' },
86
- guild_id: { type: 'string', description: '频道 ID' },
87
- },
88
- required: ['bot', 'guild_id'],
89
- },
90
- platforms: ['qq'],
91
- scopes: ['channel'],
92
- permissionLevel: 'user',
93
- execute: async (args) => {
94
- const { bot: botId, guild_id } = args;
95
- const bot = this.bots.get(botId);
96
- if (!bot)
97
- throw new Error(`Bot ${botId} 不存在`);
98
- const channels = await bot.getChannels(guild_id);
99
- return { channels, count: channels.length };
100
- },
101
- });
102
- // 获取角色列表工具
103
- this.addTool({
104
- name: 'qq_list_roles',
105
- description: '获取 QQ 频道角色列表',
106
- parameters: {
107
- type: 'object',
108
- properties: {
109
- bot: { type: 'string', description: 'Bot 名称' },
110
- guild_id: { type: 'string', description: '频道 ID' },
111
- },
112
- required: ['bot', 'guild_id'],
113
- },
114
- platforms: ['qq'],
115
- scopes: ['channel'],
116
- permissionLevel: 'user',
117
- execute: async (args) => {
118
- const { bot: botId, guild_id } = args;
119
- const bot = this.bots.get(botId);
120
- if (!bot)
121
- throw new Error(`Bot ${botId} 不存在`);
122
- const roles = await bot.getGuildRoles(guild_id);
123
- return { roles, count: roles.length };
124
- },
125
- });
126
- // 创建角色工具
127
- this.addTool({
128
- name: 'qq_create_role',
129
- description: '创建 QQ 频道角色',
130
- parameters: {
131
- type: 'object',
132
- properties: {
133
- bot: { type: 'string', description: 'Bot 名称' },
134
- guild_id: { type: 'string', description: '频道 ID' },
135
- name: { type: 'string', description: '角色名称' },
136
- color: { type: 'number', description: '颜色(RGB 十进制数值)' },
137
- },
138
- required: ['bot', 'guild_id', 'name'],
139
- },
140
- platforms: ['qq'],
141
- scopes: ['channel'],
142
- permissionLevel: 'group_admin',
143
- execute: async (args) => {
144
- const { bot: botId, guild_id, name, color } = args;
145
- const bot = this.bots.get(botId);
146
- if (!bot)
147
- throw new Error(`Bot ${botId} 不存在`);
148
- const role = await bot.createGuildRole(guild_id, name, color);
149
- return { success: !!role, role, message: role ? `角色 "${name}" 创建成功` : '创建失败' };
150
- },
151
- });
152
- // 添加角色工具
153
- this.addTool({
154
- name: 'qq_add_role',
155
- description: '给成员添加 QQ 频道角色',
156
- parameters: {
157
- type: 'object',
158
- properties: {
159
- bot: { type: 'string', description: 'Bot 名称' },
160
- guild_id: { type: 'string', description: '频道 ID' },
161
- channel_id: { type: 'string', description: '子频道 ID' },
162
- user_id: { type: 'string', description: '用户 ID' },
163
- role_id: { type: 'string', description: '角色 ID' },
164
- },
165
- required: ['bot', 'guild_id', 'channel_id', 'user_id', 'role_id'],
166
- },
167
- platforms: ['qq'],
168
- scopes: ['channel'],
169
- permissionLevel: 'group_admin',
170
- execute: async (args) => {
171
- const { bot: botId, guild_id, channel_id, user_id, role_id } = args;
172
- const bot = this.bots.get(botId);
173
- if (!bot)
174
- throw new Error(`Bot ${botId} 不存在`);
175
- const success = await bot.addMemberRole(guild_id, channel_id, user_id, role_id);
176
- return { success, message: success ? `已给成员添加角色` : '操作失败' };
177
- },
178
- });
179
- // 移除角色工具
180
- this.addTool({
181
- name: 'qq_remove_role',
182
- description: '移除成员的 QQ 频道角色',
183
- parameters: {
184
- type: 'object',
185
- properties: {
186
- bot: { type: 'string', description: 'Bot 名称' },
187
- guild_id: { type: 'string', description: '频道 ID' },
188
- channel_id: { type: 'string', description: '子频道 ID' },
189
- user_id: { type: 'string', description: '用户 ID' },
190
- role_id: { type: 'string', description: '角色 ID' },
191
- },
192
- required: ['bot', 'guild_id', 'channel_id', 'user_id', 'role_id'],
193
- },
194
- platforms: ['qq'],
195
- scopes: ['channel'],
196
- permissionLevel: 'group_admin',
197
- execute: async (args) => {
198
- const { bot: botId, guild_id, channel_id, user_id, role_id } = args;
199
- const bot = this.bots.get(botId);
200
- if (!bot)
201
- throw new Error(`Bot ${botId} 不存在`);
202
- const success = await bot.removeMemberRole(guild_id, channel_id, user_id, role_id);
203
- return { success, message: success ? `已移除成员的角色` : '操作失败' };
204
- },
205
- });
206
- // 子频道详情
207
- this.addTool({
208
- name: 'qq_channel_info',
209
- description: '获取 QQ 频道中指定子频道的详细信息',
210
- parameters: {
211
- type: 'object',
212
- properties: {
213
- bot: { type: 'string', description: 'Bot 名称' },
214
- channel_id: { type: 'string', description: '子频道 ID' },
215
- },
216
- required: ['bot', 'channel_id'],
217
- },
218
- platforms: ['qq'],
219
- scopes: ['channel'],
220
- permissionLevel: 'user',
221
- execute: async (args) => {
222
- const { bot: botId, channel_id } = args;
223
- const bot = this.bots.get(botId);
224
- if (!bot)
225
- throw new Error(`Bot ${botId} 不存在`);
226
- const info = await bot.getChannelInfo(channel_id);
227
- return info;
228
- },
229
- });
230
- // 单成员详情
231
- this.addTool({
232
- name: 'qq_member_detail',
233
- description: '获取 QQ 频道中指定成员的详细信息',
234
- parameters: {
235
- type: 'object',
236
- properties: {
237
- bot: { type: 'string', description: 'Bot 名称' },
238
- guild_id: { type: 'string', description: '频道 ID' },
239
- user_id: { type: 'string', description: '用户 ID' },
240
- },
241
- required: ['bot', 'guild_id', 'user_id'],
242
- },
243
- platforms: ['qq'],
244
- scopes: ['channel'],
245
- permissionLevel: 'user',
246
- execute: async (args) => {
247
- const { bot: botId, guild_id, user_id } = args;
248
- const bot = this.bots.get(botId);
249
- if (!bot)
250
- throw new Error(`Bot ${botId} 不存在`);
251
- const member = await bot.getGuildMember(guild_id, user_id);
252
- return member;
253
- },
254
- });
255
- this.plugin.logger.debug('已注册 QQ 官方平台频道管理工具');
256
- }
257
48
  }
258
49
  //# sourceMappingURL=adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,OAAO,EAEP,0BAA0B,GAE3B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGjC,MAAM,OAAO,SAAU,SAAQ,OAA4B;IACzD,YAAY,MAAc;QACxB,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED,SAAS,CAAC,MAAiC;QACzC,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,gEAAgE;IAEhE,KAAK,CAAC,UAAU,CAAC,KAAa,EAAE,OAAe,EAAE,MAAc;QAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;QAC9C,OAAO,GAAG,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAa,EAAE,OAAe,EAAE,MAAc,EAAE,QAAQ,GAAG,GAAG;QAC7E,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;QAC9C,OAAO,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,OAAe,EAAE,MAAM,GAAG,IAAI;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;QAC9C,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAa,EAAE,OAAe;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;QAC9C,OAAO,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAa,EAAE,OAAe;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;QAC9C,OAAO,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,kEAAkE;IAElE,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,0BAA0B,CAAC,IAAmC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9F,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAED;;OAEG;IACK,uBAAuB;QAC7B,WAAW;QACX,IAAI,CAAC,OAAO,CAAC;YACX,IAAI,EAAE,gBAAgB;YACtB,WAAW,EAAE,YAAY;YACzB,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;iBAC/C;gBACD,QAAQ,EAAE,CAAC,KAAK,CAAC;aAClB;YACD,SAAS,EAAE,CAAC,IAAI,CAAC;YACjB,MAAM,EAAE,CAAC,SAAS,CAAC;YACnB,eAAe,EAAE,MAAM;YACvB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;gBAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,CAAC,GAAG;oBAAE,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;gBAC9C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,SAAS,EAAE,CAAC;gBACrC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;YAC1C,CAAC;SACF,CAAC,CAAC;QAEH,YAAY;QACZ,IAAI,CAAC,OAAO,CAAC;YACX,IAAI,EAAE,kBAAkB;YACxB,WAAW,EAAE,iBAAiB;YAC9B,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;oBAC9C,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE;iBACnD;gBACD,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC;aAC9B;YACD,SAAS,EAAE,CAAC,IAAI,CAAC;YACjB,MAAM,EAAE,CAAC,SAAS,CAAC;YACnB,eAAe,EAAE,MAAM;YACvB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;gBACtC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,CAAC,GAAG;oBAAE,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;gBAC9C,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBACjD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC9C,CAAC;SACF,CAAC,CAAC;QAEH,WAAW;QACX,IAAI,CAAC,OAAO,CAAC;YACX,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,cAAc;YAC3B,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;oBAC9C,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE;iBACnD;gBACD,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC;aAC9B;YACD,SAAS,EAAE,CAAC,IAAI,CAAC;YACjB,MAAM,EAAE,CAAC,SAAS,CAAC;YACnB,eAAe,EAAE,MAAM;YACvB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;gBACtC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,CAAC,GAAG;oBAAE,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;gBAC9C,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAChD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;YACxC,CAAC;SACF,CAAC,CAAC;QAEH,SAAS;QACT,IAAI,CAAC,OAAO,CAAC;YACX,IAAI,EAAE,gBAAgB;YACtB,WAAW,EAAE,YAAY;YACzB,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;oBAC9C,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE;oBAClD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE;oBAC7C,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE;iBACxD;gBACD,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC;aACtC;YACD,SAAS,EAAE,CAAC,IAAI,CAAC;YACjB,MAAM,EAAE,CAAC,SAAS,CAAC;YACnB,eAAe,EAAE,aAAa;YAC9B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;gBACnD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,CAAC,GAAG;oBAAE,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;gBAC9C,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC9D,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YACjF,CAAC;SACF,CAAC,CAAC;QAEH,SAAS;QACT,IAAI,CAAC,OAAO,CAAC;YACX,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,eAAe;YAC5B,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;oBAC9C,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE;oBAClD,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;oBACrD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE;oBACjD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE;iBAClD;gBACD,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,CAAC;aAClE;YACD,SAAS,EAAE,CAAC,IAAI,CAAC;YACjB,MAAM,EAAE,CAAC,SAAS,CAAC;YACnB,eAAe,EAAE,aAAa;YAC9B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;gBACpE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,CAAC,GAAG;oBAAE,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;gBAC9C,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;gBAChF,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YAC7D,CAAC;SACF,CAAC,CAAC;QAEH,SAAS;QACT,IAAI,CAAC,OAAO,CAAC;YACX,IAAI,EAAE,gBAAgB;YACtB,WAAW,EAAE,eAAe;YAC5B,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;oBAC9C,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE;oBAClD,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;oBACrD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE;oBACjD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE;iBAClD;gBACD,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,CAAC;aAClE;YACD,SAAS,EAAE,CAAC,IAAI,CAAC;YACjB,MAAM,EAAE,CAAC,SAAS,CAAC;YACnB,eAAe,EAAE,aAAa;YAC9B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;gBACpE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,CAAC,GAAG;oBAAE,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;gBAC9C,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;gBACnF,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YAC7D,CAAC;SACF,CAAC,CAAC;QAEH,QAAQ;QACR,IAAI,CAAC,OAAO,CAAC;YACX,IAAI,EAAE,iBAAiB;YACvB,WAAW,EAAE,qBAAqB;YAClC,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;oBAC9C,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;iBACtD;gBACD,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC;aAChC;YACD,SAAS,EAAE,CAAC,IAAI,CAAC;YACjB,MAAM,EAAE,CAAC,SAAS,CAAC;YACnB,eAAe,EAAE,MAAM;YACvB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;gBACxC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,CAAC,GAAG;oBAAE,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;gBAC9C,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;gBAClD,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC,CAAC;QAEH,QAAQ;QACR,IAAI,CAAC,OAAO,CAAC;YACX,IAAI,EAAE,kBAAkB;YACxB,WAAW,EAAE,oBAAoB;YACjC,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;oBAC9C,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE;oBAClD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE;iBAClD;gBACD,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC;aACzC;YACD,SAAS,EAAE,CAAC,IAAI,CAAC;YACjB,MAAM,EAAE,CAAC,SAAS,CAAC;YACnB,eAAe,EAAE,MAAM;YACvB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;gBAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,CAAC,GAAG;oBAAE,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;gBAC9C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAC3D,OAAO,MAAM,CAAC;YAChB,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAChD,CAAC;CACF"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,OAAO,GAER,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGjC,MAAM,OAAO,SAAU,SAAQ,OAA4B;IACzD,YAAY,MAAc;QACxB,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED,SAAS,CAAC,MAAiC;QACzC,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,gEAAgE;IAEhE,KAAK,CAAC,UAAU,CAAC,KAAa,EAAE,OAAe,EAAE,MAAc;QAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;QAC9C,OAAO,GAAG,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAa,EAAE,OAAe,EAAE,MAAc,EAAE,QAAQ,GAAG,GAAG;QAC7E,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;QAC9C,OAAO,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,OAAe,EAAE,MAAM,GAAG,IAAI;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;QAC9C,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAa,EAAE,OAAe;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;QAC9C,OAAO,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAa,EAAE,OAAe;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;QAC9C,OAAO,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,kEAAkE;IAElE,KAAK,CAAC,KAAK;QACT,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;CAEF"}
package/lib/bot.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,GAAG,EACH,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,GAAG,IAAI,OAAO,EACd,OAAO,EACP,WAAW,EAGZ,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,qBAAa,KAAK,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,CAC5F,SAAQ,GACR,YAAW,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,mBAAmB,GAAG,iBAAiB,CAAC;IAa3D,OAAO,EAAE,SAAS;IAXrC,UAAU,EAAE,OAAO,CAAS;IACpB,OAAO,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEnC,IAAI,YAAY,6BAEf;IAED,IAAI,GAAG,WAEN;gBAEkB,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;IAMhE,OAAO,CAAC,eAAe;IAMjB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAQzB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAOlC,cAAc,CAAC,GAAG,EAAE,mBAAmB,GAAG,iBAAiB;IAqCrD,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IA6BnD,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa/C;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IASjC;;;OAGG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IASjD;;;OAGG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IASlD;;;OAGG;IACG,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IASrD;;;OAGG;IACG,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAStD;;;;OAIG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IASnE;;;;;;OAMG;IACG,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAW/I;;;OAGG;IACG,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IASpD;;;;;;OAMG;IACG,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAWjG;;;;;;OAMG;IACG,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWzG;;;;;;OAMG;IACG,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAW5G;;;;;OAKG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgB5F;;;;OAIG;IACG,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAetE"}
package/lib/bot.js CHANGED
@@ -33,6 +33,8 @@ export class QQBot extends Bot {
33
33
  this.$connected = true;
34
34
  }
35
35
  async $disconnect() {
36
+ // Bot 继承自 EventEmitter,清除 $connect() 注册的所有监听器
37
+ this.removeAllListeners();
36
38
  await this.stop();
37
39
  this.$connected = false;
38
40
  }
package/lib/bot.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bot.js","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bot.js","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"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"}
package/lib/index.js CHANGED
@@ -1,13 +1,13 @@
1
1
  /**
2
2
  * QQ 官方适配器入口:类型扩展、导出、注册
3
3
  */
4
- import { usePlugin } from "zhin.js";
4
+ import { usePlugin, createGroupManagementTools } from "zhin.js";
5
5
  import { QQAdapter } from "./adapter.js";
6
6
  export * from "./types.js";
7
7
  export { QQBot } from "./bot.js";
8
8
  export { QQAdapter } from "./adapter.js";
9
9
  const plugin = usePlugin();
10
- const { provide } = plugin;
10
+ const { provide, useContext } = plugin;
11
11
  provide({
12
12
  name: "qq",
13
13
  description: "QQ Official Bot Adapter",
@@ -20,4 +20,193 @@ provide({
20
20
  await adapter.stop();
21
21
  },
22
22
  });
23
+ useContext('tool', 'qq', (toolService, qq) => {
24
+ const groupTools = createGroupManagementTools(qq, 'qq');
25
+ const disposers = groupTools.map(t => toolService.addTool(t, 'qq'));
26
+ // 获取频道列表
27
+ disposers.push(toolService.addTool({
28
+ name: 'qq_list_guilds',
29
+ description: '获取 QQ 频道列表',
30
+ parameters: {
31
+ type: 'object',
32
+ properties: {
33
+ bot: { type: 'string', description: 'Bot 名称' },
34
+ },
35
+ required: ['bot'],
36
+ },
37
+ platforms: ['qq'],
38
+ tags: ['qq'],
39
+ execute: async (args) => {
40
+ const bot = qq.bots.get(args.bot);
41
+ if (!bot)
42
+ throw new Error(`Bot ${args.bot} 不存在`);
43
+ const guilds = await bot.getGuilds();
44
+ return { guilds, count: guilds.length };
45
+ },
46
+ }, 'qq'));
47
+ // 获取子频道列表
48
+ disposers.push(toolService.addTool({
49
+ name: 'qq_list_channels',
50
+ description: '获取 QQ 频道下的子频道列表',
51
+ parameters: {
52
+ type: 'object',
53
+ properties: {
54
+ bot: { type: 'string', description: 'Bot 名称' },
55
+ guild_id: { type: 'string', description: '频道 ID' },
56
+ },
57
+ required: ['bot', 'guild_id'],
58
+ },
59
+ platforms: ['qq'],
60
+ tags: ['qq'],
61
+ execute: async (args) => {
62
+ const bot = qq.bots.get(args.bot);
63
+ if (!bot)
64
+ throw new Error(`Bot ${args.bot} 不存在`);
65
+ const channels = await bot.getChannels(args.guild_id);
66
+ return { channels, count: channels.length };
67
+ },
68
+ }, 'qq'));
69
+ // 获取角色列表
70
+ disposers.push(toolService.addTool({
71
+ name: 'qq_list_roles',
72
+ description: '获取 QQ 频道角色列表',
73
+ parameters: {
74
+ type: 'object',
75
+ properties: {
76
+ bot: { type: 'string', description: 'Bot 名称' },
77
+ guild_id: { type: 'string', description: '频道 ID' },
78
+ },
79
+ required: ['bot', 'guild_id'],
80
+ },
81
+ platforms: ['qq'],
82
+ tags: ['qq'],
83
+ execute: async (args) => {
84
+ const bot = qq.bots.get(args.bot);
85
+ if (!bot)
86
+ throw new Error(`Bot ${args.bot} 不存在`);
87
+ const roles = await bot.getGuildRoles(args.guild_id);
88
+ return { roles, count: roles.length };
89
+ },
90
+ }, 'qq'));
91
+ // 创建角色
92
+ disposers.push(toolService.addTool({
93
+ name: 'qq_create_role',
94
+ description: '创建 QQ 频道角色',
95
+ parameters: {
96
+ type: 'object',
97
+ properties: {
98
+ bot: { type: 'string', description: 'Bot 名称' },
99
+ guild_id: { type: 'string', description: '频道 ID' },
100
+ name: { type: 'string', description: '角色名称' },
101
+ color: { type: 'number', description: '颜色(RGB 十进制数值)' },
102
+ },
103
+ required: ['bot', 'guild_id', 'name'],
104
+ },
105
+ platforms: ['qq'],
106
+ tags: ['qq'],
107
+ execute: async (args) => {
108
+ const bot = qq.bots.get(args.bot);
109
+ if (!bot)
110
+ throw new Error(`Bot ${args.bot} 不存在`);
111
+ const role = await bot.createGuildRole(args.guild_id, args.name, args.color);
112
+ return { success: !!role, role, message: role ? `角色 "${args.name}" 创建成功` : '创建失败' };
113
+ },
114
+ }, 'qq'));
115
+ // 添加角色
116
+ disposers.push(toolService.addTool({
117
+ name: 'qq_add_role',
118
+ description: '给成员添加 QQ 频道角色',
119
+ parameters: {
120
+ type: 'object',
121
+ properties: {
122
+ bot: { type: 'string', description: 'Bot 名称' },
123
+ guild_id: { type: 'string', description: '频道 ID' },
124
+ channel_id: { type: 'string', description: '子频道 ID' },
125
+ user_id: { type: 'string', description: '用户 ID' },
126
+ role_id: { type: 'string', description: '角色 ID' },
127
+ },
128
+ required: ['bot', 'guild_id', 'channel_id', 'user_id', 'role_id'],
129
+ },
130
+ platforms: ['qq'],
131
+ tags: ['qq'],
132
+ execute: async (args) => {
133
+ const bot = qq.bots.get(args.bot);
134
+ if (!bot)
135
+ throw new Error(`Bot ${args.bot} 不存在`);
136
+ const success = await bot.addMemberRole(args.guild_id, args.channel_id, args.user_id, args.role_id);
137
+ return { success, message: success ? '已给成员添加角色' : '操作失败' };
138
+ },
139
+ }, 'qq'));
140
+ // 移除角色
141
+ disposers.push(toolService.addTool({
142
+ name: 'qq_remove_role',
143
+ description: '移除成员的 QQ 频道角色',
144
+ parameters: {
145
+ type: 'object',
146
+ properties: {
147
+ bot: { type: 'string', description: 'Bot 名称' },
148
+ guild_id: { type: 'string', description: '频道 ID' },
149
+ channel_id: { type: 'string', description: '子频道 ID' },
150
+ user_id: { type: 'string', description: '用户 ID' },
151
+ role_id: { type: 'string', description: '角色 ID' },
152
+ },
153
+ required: ['bot', 'guild_id', 'channel_id', 'user_id', 'role_id'],
154
+ },
155
+ platforms: ['qq'],
156
+ tags: ['qq'],
157
+ execute: async (args) => {
158
+ const bot = qq.bots.get(args.bot);
159
+ if (!bot)
160
+ throw new Error(`Bot ${args.bot} 不存在`);
161
+ const success = await bot.removeMemberRole(args.guild_id, args.channel_id, args.user_id, args.role_id);
162
+ return { success, message: success ? '已移除成员的角色' : '操作失败' };
163
+ },
164
+ }, 'qq'));
165
+ // 子频道详情
166
+ disposers.push(toolService.addTool({
167
+ name: 'qq_channel_info',
168
+ description: '获取 QQ 频道中指定子频道的详细信息',
169
+ parameters: {
170
+ type: 'object',
171
+ properties: {
172
+ bot: { type: 'string', description: 'Bot 名称' },
173
+ channel_id: { type: 'string', description: '子频道 ID' },
174
+ },
175
+ required: ['bot', 'channel_id'],
176
+ },
177
+ platforms: ['qq'],
178
+ tags: ['qq'],
179
+ execute: async (args) => {
180
+ const bot = qq.bots.get(args.bot);
181
+ if (!bot)
182
+ throw new Error(`Bot ${args.bot} 不存在`);
183
+ const info = await bot.getChannelInfo(args.channel_id);
184
+ return info;
185
+ },
186
+ }, 'qq'));
187
+ // 单成员详情
188
+ disposers.push(toolService.addTool({
189
+ name: 'qq_member_detail',
190
+ description: '获取 QQ 频道中指定成员的详细信息',
191
+ parameters: {
192
+ type: 'object',
193
+ properties: {
194
+ bot: { type: 'string', description: 'Bot 名称' },
195
+ guild_id: { type: 'string', description: '频道 ID' },
196
+ user_id: { type: 'string', description: '用户 ID' },
197
+ },
198
+ required: ['bot', 'guild_id', 'user_id'],
199
+ },
200
+ platforms: ['qq'],
201
+ tags: ['qq'],
202
+ execute: async (args) => {
203
+ const bot = qq.bots.get(args.bot);
204
+ if (!bot)
205
+ throw new Error(`Bot ${args.bot} 不存在`);
206
+ const member = await bot.getGuildMember(args.guild_id, args.user_id);
207
+ return member;
208
+ },
209
+ }, 'qq'));
210
+ return () => disposers.forEach(d => d());
211
+ });
23
212
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,SAAS,EAAe,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAQzC,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;AAC3B,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;AAE3B,OAAO,CAAC;IACN,IAAI,EAAE,IAAI;IACV,WAAW,EAAE,yBAAyB;IACtC,OAAO,EAAE,KAAK,EAAE,CAAS,EAAE,EAAE;QAC3B,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,OAAkB,EAAE,EAAE;QACpC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhin.js/adapter-qq",
3
- "version": "1.0.59",
3
+ "version": "1.0.62",
4
4
  "description": "Zhin.js adapter for QQ Official Bot",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",
@@ -37,12 +37,12 @@
37
37
  "qq-official-bot": "^1.0.12"
38
38
  },
39
39
  "devDependencies": {
40
- "typescript": "^5.3.0",
41
- "zhin.js": "1.0.57"
40
+ "typescript": "^5.9.3",
41
+ "zhin.js": "1.0.60"
42
42
  },
43
43
  "peerDependencies": {
44
- "@zhin.js/logger": "0.1.41",
45
- "zhin.js": "1.0.57"
44
+ "@zhin.js/logger": "0.1.44",
45
+ "zhin.js": "1.0.60"
46
46
  },
47
47
  "files": [
48
48
  "src",
@@ -1,18 +1,65 @@
1
1
  ---
2
2
  name: qq
3
- description: QQ 官方机器人群管理:踢人、禁言、设管理员、改群名、查成员等。仅有昵称时请先 list_members 查 user_id 再操作。
3
+ platforms:
4
+ - qq
5
+ description: QQ 官方机器人管理:群管(踢人、禁言、全员禁言、查成员/群信息)、频道/子频道管理、角色管理(创建/添加/移除)、成员详情。仅有昵称时请先 list_members 查 user_id。
4
6
  keywords:
5
7
  - qq
6
8
  - QQ
7
9
  - adapter:qq
8
10
  - 群管理
11
+ - 频道
12
+ - 角色
9
13
  - list_members
10
14
  tags:
11
15
  - group
12
16
  - management
13
- tools: []
17
+ - im
18
+ tools:
19
+ # 平台特有工具
20
+ - qq_list_guilds
21
+ - qq_list_channels
22
+ - qq_list_roles
23
+ - qq_create_role
24
+ - qq_add_role
25
+ - qq_remove_role
26
+ - qq_channel_info
27
+ - qq_member_detail
28
+ # 通用群管工具
29
+ - qq_kick_member
30
+ - qq_mute_member
31
+ - qq_mute_all
32
+ - qq_list_members
33
+ - qq_get_group_info
14
34
  ---
15
35
 
36
+ ## 工具概览
37
+
38
+ ### 平台特有
39
+
40
+ | 工具 | 说明 | 权限 |
41
+ |------|------|------|
42
+ | `qq_list_guilds` | 获取频道列表 | user |
43
+ | `qq_list_channels` | 获取子频道列表 | user |
44
+ | `qq_list_roles` | 获取角色列表 | user |
45
+ | `qq_create_role` | 创建角色 | group_admin |
46
+ | `qq_add_role` | 为成员添加角色 | group_admin |
47
+ | `qq_remove_role` | 移除成员角色 | group_admin |
48
+ | `qq_channel_info` | 获取子频道详情 | user |
49
+ | `qq_member_detail` | 获取成员详情 | user |
50
+
51
+ ### 通用群管
52
+
53
+ | 工具 | 说明 | 权限 |
54
+ |------|------|------|
55
+ | `qq_kick_member` | 踢出成员 | group_admin |
56
+ | `qq_mute_member` | 禁言成员 | group_admin |
57
+ | `qq_mute_all` | 全员禁言/解除 | group_admin |
58
+ | `qq_list_members` | 获取群成员列表 | user |
59
+ | `qq_get_group_info` | 获取群信息 | user |
60
+
16
61
  ## 执行规则
17
62
 
18
- - 使用 `qq_*` 工具;先 list_members。
63
+ 1. 仅有昵称时先 `qq_list_members` 获取用户 ID
64
+ 2. 频道操作需要 guild_id 和 channel_id,先 `qq_list_guilds` → `qq_list_channels`
65
+ 3. 角色操作需要 role_id,先 `qq_list_roles` 查询
package/src/adapter.ts CHANGED
@@ -4,8 +4,6 @@
4
4
  import {
5
5
  Adapter,
6
6
  Plugin,
7
- createGroupManagementTools,
8
- type IGroupManagement,
9
7
  } from "zhin.js";
10
8
  import { QQBot } from "./bot.js";
11
9
  import type { QQBotConfig, ReceiverMode } from "./types.js";
@@ -54,216 +52,7 @@ export class QQAdapter extends Adapter<QQBot<ReceiverMode>> {
54
52
  // ── 生命周期 ───────────────────────────────────────────────────────
55
53
 
56
54
  async start(): Promise<void> {
57
- this.registerQQPlatformTools();
58
- const groupTools = createGroupManagementTools(this as unknown as IGroupManagement, this.name);
59
- groupTools.forEach((t) => this.addTool(t));
60
55
  await super.start();
61
56
  }
62
57
 
63
- /**
64
- * 注册 QQ 官方平台特有工具(频道列表等)
65
- */
66
- private registerQQPlatformTools(): void {
67
- // 获取频道列表工具
68
- this.addTool({
69
- name: 'qq_list_guilds',
70
- description: '获取 QQ 频道列表',
71
- parameters: {
72
- type: 'object',
73
- properties: {
74
- bot: { type: 'string', description: 'Bot 名称' },
75
- },
76
- required: ['bot'],
77
- },
78
- platforms: ['qq'],
79
- scopes: ['channel'],
80
- permissionLevel: 'user',
81
- execute: async (args) => {
82
- const { bot: botId } = args;
83
- const bot = this.bots.get(botId);
84
- if (!bot) throw new Error(`Bot ${botId} 不存在`);
85
- const guilds = await bot.getGuilds();
86
- return { guilds, count: guilds.length };
87
- },
88
- });
89
-
90
- // 获取子频道列表工具
91
- this.addTool({
92
- name: 'qq_list_channels',
93
- description: '获取 QQ 频道下的子频道列表',
94
- parameters: {
95
- type: 'object',
96
- properties: {
97
- bot: { type: 'string', description: 'Bot 名称' },
98
- guild_id: { type: 'string', description: '频道 ID' },
99
- },
100
- required: ['bot', 'guild_id'],
101
- },
102
- platforms: ['qq'],
103
- scopes: ['channel'],
104
- permissionLevel: 'user',
105
- execute: async (args) => {
106
- const { bot: botId, guild_id } = args;
107
- const bot = this.bots.get(botId);
108
- if (!bot) throw new Error(`Bot ${botId} 不存在`);
109
- const channels = await bot.getChannels(guild_id);
110
- return { channels, count: channels.length };
111
- },
112
- });
113
-
114
- // 获取角色列表工具
115
- this.addTool({
116
- name: 'qq_list_roles',
117
- description: '获取 QQ 频道角色列表',
118
- parameters: {
119
- type: 'object',
120
- properties: {
121
- bot: { type: 'string', description: 'Bot 名称' },
122
- guild_id: { type: 'string', description: '频道 ID' },
123
- },
124
- required: ['bot', 'guild_id'],
125
- },
126
- platforms: ['qq'],
127
- scopes: ['channel'],
128
- permissionLevel: 'user',
129
- execute: async (args) => {
130
- const { bot: botId, guild_id } = args;
131
- const bot = this.bots.get(botId);
132
- if (!bot) throw new Error(`Bot ${botId} 不存在`);
133
- const roles = await bot.getGuildRoles(guild_id);
134
- return { roles, count: roles.length };
135
- },
136
- });
137
-
138
- // 创建角色工具
139
- this.addTool({
140
- name: 'qq_create_role',
141
- description: '创建 QQ 频道角色',
142
- parameters: {
143
- type: 'object',
144
- properties: {
145
- bot: { type: 'string', description: 'Bot 名称' },
146
- guild_id: { type: 'string', description: '频道 ID' },
147
- name: { type: 'string', description: '角色名称' },
148
- color: { type: 'number', description: '颜色(RGB 十进制数值)' },
149
- },
150
- required: ['bot', 'guild_id', 'name'],
151
- },
152
- platforms: ['qq'],
153
- scopes: ['channel'],
154
- permissionLevel: 'group_admin',
155
- execute: async (args) => {
156
- const { bot: botId, guild_id, name, color } = args;
157
- const bot = this.bots.get(botId);
158
- if (!bot) throw new Error(`Bot ${botId} 不存在`);
159
- const role = await bot.createGuildRole(guild_id, name, color);
160
- return { success: !!role, role, message: role ? `角色 "${name}" 创建成功` : '创建失败' };
161
- },
162
- });
163
-
164
- // 添加角色工具
165
- this.addTool({
166
- name: 'qq_add_role',
167
- description: '给成员添加 QQ 频道角色',
168
- parameters: {
169
- type: 'object',
170
- properties: {
171
- bot: { type: 'string', description: 'Bot 名称' },
172
- guild_id: { type: 'string', description: '频道 ID' },
173
- channel_id: { type: 'string', description: '子频道 ID' },
174
- user_id: { type: 'string', description: '用户 ID' },
175
- role_id: { type: 'string', description: '角色 ID' },
176
- },
177
- required: ['bot', 'guild_id', 'channel_id', 'user_id', 'role_id'],
178
- },
179
- platforms: ['qq'],
180
- scopes: ['channel'],
181
- permissionLevel: 'group_admin',
182
- execute: async (args) => {
183
- const { bot: botId, guild_id, channel_id, user_id, role_id } = args;
184
- const bot = this.bots.get(botId);
185
- if (!bot) throw new Error(`Bot ${botId} 不存在`);
186
- const success = await bot.addMemberRole(guild_id, channel_id, user_id, role_id);
187
- return { success, message: success ? `已给成员添加角色` : '操作失败' };
188
- },
189
- });
190
-
191
- // 移除角色工具
192
- this.addTool({
193
- name: 'qq_remove_role',
194
- description: '移除成员的 QQ 频道角色',
195
- parameters: {
196
- type: 'object',
197
- properties: {
198
- bot: { type: 'string', description: 'Bot 名称' },
199
- guild_id: { type: 'string', description: '频道 ID' },
200
- channel_id: { type: 'string', description: '子频道 ID' },
201
- user_id: { type: 'string', description: '用户 ID' },
202
- role_id: { type: 'string', description: '角色 ID' },
203
- },
204
- required: ['bot', 'guild_id', 'channel_id', 'user_id', 'role_id'],
205
- },
206
- platforms: ['qq'],
207
- scopes: ['channel'],
208
- permissionLevel: 'group_admin',
209
- execute: async (args) => {
210
- const { bot: botId, guild_id, channel_id, user_id, role_id } = args;
211
- const bot = this.bots.get(botId);
212
- if (!bot) throw new Error(`Bot ${botId} 不存在`);
213
- const success = await bot.removeMemberRole(guild_id, channel_id, user_id, role_id);
214
- return { success, message: success ? `已移除成员的角色` : '操作失败' };
215
- },
216
- });
217
-
218
- // 子频道详情
219
- this.addTool({
220
- name: 'qq_channel_info',
221
- description: '获取 QQ 频道中指定子频道的详细信息',
222
- parameters: {
223
- type: 'object',
224
- properties: {
225
- bot: { type: 'string', description: 'Bot 名称' },
226
- channel_id: { type: 'string', description: '子频道 ID' },
227
- },
228
- required: ['bot', 'channel_id'],
229
- },
230
- platforms: ['qq'],
231
- scopes: ['channel'],
232
- permissionLevel: 'user',
233
- execute: async (args) => {
234
- const { bot: botId, channel_id } = args;
235
- const bot = this.bots.get(botId);
236
- if (!bot) throw new Error(`Bot ${botId} 不存在`);
237
- const info = await bot.getChannelInfo(channel_id);
238
- return info;
239
- },
240
- });
241
-
242
- // 单成员详情
243
- this.addTool({
244
- name: 'qq_member_detail',
245
- description: '获取 QQ 频道中指定成员的详细信息',
246
- parameters: {
247
- type: 'object',
248
- properties: {
249
- bot: { type: 'string', description: 'Bot 名称' },
250
- guild_id: { type: 'string', description: '频道 ID' },
251
- user_id: { type: 'string', description: '用户 ID' },
252
- },
253
- required: ['bot', 'guild_id', 'user_id'],
254
- },
255
- platforms: ['qq'],
256
- scopes: ['channel'],
257
- permissionLevel: 'user',
258
- execute: async (args) => {
259
- const { bot: botId, guild_id, user_id } = args;
260
- const bot = this.bots.get(botId);
261
- if (!bot) throw new Error(`Bot ${botId} 不存在`);
262
- const member = await bot.getGuildMember(guild_id, user_id);
263
- return member;
264
- },
265
- });
266
-
267
- this.plugin.logger.debug('已注册 QQ 官方平台频道管理工具');
268
- }
269
58
  }
package/src/bot.ts CHANGED
@@ -54,6 +54,8 @@ export class QQBot<T extends ReceiverMode, M extends ApplicationPlatform = Appli
54
54
  }
55
55
 
56
56
  async $disconnect(): Promise<void> {
57
+ // Bot 继承自 EventEmitter,清除 $connect() 注册的所有监听器
58
+ (this as unknown as import('node:events').EventEmitter).removeAllListeners();
57
59
  await this.stop();
58
60
  this.$connected = false;
59
61
  }
package/src/index.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * QQ 官方适配器入口:类型扩展、导出、注册
3
3
  */
4
- import { usePlugin, type Plugin } from "zhin.js";
4
+ import { usePlugin, type Plugin, type IGroupManagement, createGroupManagementTools, type ToolFeature } from "zhin.js";
5
5
  import { QQAdapter } from "./adapter.js";
6
6
 
7
7
  declare module "zhin.js" {
@@ -15,7 +15,7 @@ export { QQBot } from "./bot.js";
15
15
  export { QQAdapter } from "./adapter.js";
16
16
 
17
17
  const plugin = usePlugin();
18
- const { provide } = plugin;
18
+ const { provide, useContext } = plugin;
19
19
 
20
20
  provide({
21
21
  name: "qq",
@@ -29,3 +29,197 @@ provide({
29
29
  await adapter.stop();
30
30
  },
31
31
  });
32
+
33
+ useContext('tool', 'qq', (toolService: ToolFeature, qq: QQAdapter) => {
34
+ const groupTools = createGroupManagementTools(
35
+ qq as unknown as IGroupManagement,
36
+ 'qq',
37
+ );
38
+ const disposers: (() => void)[] = groupTools.map(t => toolService.addTool(t, 'qq'));
39
+
40
+ // 获取频道列表
41
+ disposers.push(toolService.addTool({
42
+ name: 'qq_list_guilds',
43
+ description: '获取 QQ 频道列表',
44
+ parameters: {
45
+ type: 'object',
46
+ properties: {
47
+ bot: { type: 'string', description: 'Bot 名称' },
48
+ },
49
+ required: ['bot'],
50
+ },
51
+ platforms: ['qq'],
52
+ tags: ['qq'],
53
+ execute: async (args: Record<string, any>) => {
54
+ const bot = qq.bots.get(args.bot);
55
+ if (!bot) throw new Error(`Bot ${args.bot} 不存在`);
56
+ const guilds = await bot.getGuilds();
57
+ return { guilds, count: guilds.length };
58
+ },
59
+ }, 'qq'));
60
+
61
+ // 获取子频道列表
62
+ disposers.push(toolService.addTool({
63
+ name: 'qq_list_channels',
64
+ description: '获取 QQ 频道下的子频道列表',
65
+ parameters: {
66
+ type: 'object',
67
+ properties: {
68
+ bot: { type: 'string', description: 'Bot 名称' },
69
+ guild_id: { type: 'string', description: '频道 ID' },
70
+ },
71
+ required: ['bot', 'guild_id'],
72
+ },
73
+ platforms: ['qq'],
74
+ tags: ['qq'],
75
+ execute: async (args: Record<string, any>) => {
76
+ const bot = qq.bots.get(args.bot);
77
+ if (!bot) throw new Error(`Bot ${args.bot} 不存在`);
78
+ const channels = await bot.getChannels(args.guild_id);
79
+ return { channels, count: channels.length };
80
+ },
81
+ }, 'qq'));
82
+
83
+ // 获取角色列表
84
+ disposers.push(toolService.addTool({
85
+ name: 'qq_list_roles',
86
+ description: '获取 QQ 频道角色列表',
87
+ parameters: {
88
+ type: 'object',
89
+ properties: {
90
+ bot: { type: 'string', description: 'Bot 名称' },
91
+ guild_id: { type: 'string', description: '频道 ID' },
92
+ },
93
+ required: ['bot', 'guild_id'],
94
+ },
95
+ platforms: ['qq'],
96
+ tags: ['qq'],
97
+ execute: async (args: Record<string, any>) => {
98
+ const bot = qq.bots.get(args.bot);
99
+ if (!bot) throw new Error(`Bot ${args.bot} 不存在`);
100
+ const roles = await bot.getGuildRoles(args.guild_id);
101
+ return { roles, count: roles.length };
102
+ },
103
+ }, 'qq'));
104
+
105
+ // 创建角色
106
+ disposers.push(toolService.addTool({
107
+ name: 'qq_create_role',
108
+ description: '创建 QQ 频道角色',
109
+ parameters: {
110
+ type: 'object',
111
+ properties: {
112
+ bot: { type: 'string', description: 'Bot 名称' },
113
+ guild_id: { type: 'string', description: '频道 ID' },
114
+ name: { type: 'string', description: '角色名称' },
115
+ color: { type: 'number', description: '颜色(RGB 十进制数值)' },
116
+ },
117
+ required: ['bot', 'guild_id', 'name'],
118
+ },
119
+ platforms: ['qq'],
120
+ tags: ['qq'],
121
+ execute: async (args: Record<string, any>) => {
122
+ const bot = qq.bots.get(args.bot);
123
+ if (!bot) throw new Error(`Bot ${args.bot} 不存在`);
124
+ const role = await bot.createGuildRole(args.guild_id, args.name, args.color);
125
+ return { success: !!role, role, message: role ? `角色 "${args.name}" 创建成功` : '创建失败' };
126
+ },
127
+ }, 'qq'));
128
+
129
+ // 添加角色
130
+ disposers.push(toolService.addTool({
131
+ name: 'qq_add_role',
132
+ description: '给成员添加 QQ 频道角色',
133
+ parameters: {
134
+ type: 'object',
135
+ properties: {
136
+ bot: { type: 'string', description: 'Bot 名称' },
137
+ guild_id: { type: 'string', description: '频道 ID' },
138
+ channel_id: { type: 'string', description: '子频道 ID' },
139
+ user_id: { type: 'string', description: '用户 ID' },
140
+ role_id: { type: 'string', description: '角色 ID' },
141
+ },
142
+ required: ['bot', 'guild_id', 'channel_id', 'user_id', 'role_id'],
143
+ },
144
+ platforms: ['qq'],
145
+ tags: ['qq'],
146
+ execute: async (args: Record<string, any>) => {
147
+ const bot = qq.bots.get(args.bot);
148
+ if (!bot) throw new Error(`Bot ${args.bot} 不存在`);
149
+ const success = await bot.addMemberRole(args.guild_id, args.channel_id, args.user_id, args.role_id);
150
+ return { success, message: success ? '已给成员添加角色' : '操作失败' };
151
+ },
152
+ }, 'qq'));
153
+
154
+ // 移除角色
155
+ disposers.push(toolService.addTool({
156
+ name: 'qq_remove_role',
157
+ description: '移除成员的 QQ 频道角色',
158
+ parameters: {
159
+ type: 'object',
160
+ properties: {
161
+ bot: { type: 'string', description: 'Bot 名称' },
162
+ guild_id: { type: 'string', description: '频道 ID' },
163
+ channel_id: { type: 'string', description: '子频道 ID' },
164
+ user_id: { type: 'string', description: '用户 ID' },
165
+ role_id: { type: 'string', description: '角色 ID' },
166
+ },
167
+ required: ['bot', 'guild_id', 'channel_id', 'user_id', 'role_id'],
168
+ },
169
+ platforms: ['qq'],
170
+ tags: ['qq'],
171
+ execute: async (args: Record<string, any>) => {
172
+ const bot = qq.bots.get(args.bot);
173
+ if (!bot) throw new Error(`Bot ${args.bot} 不存在`);
174
+ const success = await bot.removeMemberRole(args.guild_id, args.channel_id, args.user_id, args.role_id);
175
+ return { success, message: success ? '已移除成员的角色' : '操作失败' };
176
+ },
177
+ }, 'qq'));
178
+
179
+ // 子频道详情
180
+ disposers.push(toolService.addTool({
181
+ name: 'qq_channel_info',
182
+ description: '获取 QQ 频道中指定子频道的详细信息',
183
+ parameters: {
184
+ type: 'object',
185
+ properties: {
186
+ bot: { type: 'string', description: 'Bot 名称' },
187
+ channel_id: { type: 'string', description: '子频道 ID' },
188
+ },
189
+ required: ['bot', 'channel_id'],
190
+ },
191
+ platforms: ['qq'],
192
+ tags: ['qq'],
193
+ execute: async (args: Record<string, any>) => {
194
+ const bot = qq.bots.get(args.bot);
195
+ if (!bot) throw new Error(`Bot ${args.bot} 不存在`);
196
+ const info = await bot.getChannelInfo(args.channel_id);
197
+ return info;
198
+ },
199
+ }, 'qq'));
200
+
201
+ // 单成员详情
202
+ disposers.push(toolService.addTool({
203
+ name: 'qq_member_detail',
204
+ description: '获取 QQ 频道中指定成员的详细信息',
205
+ parameters: {
206
+ type: 'object',
207
+ properties: {
208
+ bot: { type: 'string', description: 'Bot 名称' },
209
+ guild_id: { type: 'string', description: '频道 ID' },
210
+ user_id: { type: 'string', description: '用户 ID' },
211
+ },
212
+ required: ['bot', 'guild_id', 'user_id'],
213
+ },
214
+ platforms: ['qq'],
215
+ tags: ['qq'],
216
+ execute: async (args: Record<string, any>) => {
217
+ const bot = qq.bots.get(args.bot);
218
+ if (!bot) throw new Error(`Bot ${args.bot} 不存在`);
219
+ const member = await bot.getGuildMember(args.guild_id, args.user_id);
220
+ return member;
221
+ },
222
+ }, 'qq'));
223
+
224
+ return () => disposers.forEach(d => d());
225
+ });