@zhin.js/adapter-icqq 4.0.0 → 5.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 +26 -0
- package/README.md +30 -30
- package/client/ICQQManagement.tsx +15 -15
- package/client/LoginAssistPanel.tsx +2 -2
- package/dist/index.js +1 -2
- package/lib/adapter.d.ts +14 -13
- package/lib/adapter.d.ts.map +1 -1
- package/lib/adapter.js +31 -30
- package/lib/adapter.js.map +1 -1
- package/lib/{bot.d.ts → endpoint.d.ts} +9 -9
- package/lib/endpoint.d.ts.map +1 -0
- package/lib/{bot.js → endpoint.js} +30 -41
- package/lib/endpoint.js.map +1 -0
- package/lib/icqq-side-events.d.ts +2 -2
- package/lib/icqq-side-events.d.ts.map +1 -1
- package/lib/icqq-side-events.js +4 -4
- package/lib/icqq-side-events.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/ipc-client.js +2 -2
- package/lib/ipc-client.js.map +1 -1
- package/lib/outbound-media.d.ts +2 -2
- package/lib/outbound-media.d.ts.map +1 -1
- package/lib/outbound-media.js.map +1 -1
- package/lib/routes.js +14 -14
- package/lib/routes.js.map +1 -1
- package/lib/tools/index.d.ts.map +1 -1
- package/lib/tools/index.js +80 -75
- package/lib/tools/index.js.map +1 -1
- package/lib/types.d.ts +2 -2
- package/lib/types.d.ts.map +1 -1
- package/lib/typing-indicator-example.d.ts +10 -10
- package/lib/typing-indicator-example.d.ts.map +1 -1
- package/lib/typing-indicator-example.js +24 -24
- package/lib/typing-indicator-example.js.map +1 -1
- package/lib/typing-indicator.d.ts +10 -10
- package/lib/typing-indicator.d.ts.map +1 -1
- package/lib/typing-indicator.js +37 -37
- package/lib/typing-indicator.js.map +1 -1
- package/package.json +15 -11
- package/skills/icqq/PERMITS.md +22 -0
- package/src/adapter.ts +33 -31
- package/src/{bot.ts → endpoint.ts} +30 -40
- package/src/icqq-side-events.ts +4 -4
- package/src/index.ts +1 -1
- package/src/ipc-client.ts +2 -2
- package/src/outbound-media.ts +2 -2
- package/src/routes.ts +14 -14
- package/src/tools/index.ts +68 -63
- package/src/types.ts +2 -2
- package/src/typing-indicator-example.ts +25 -25
- package/src/typing-indicator.ts +40 -40
- package/lib/bot.d.ts.map +0 -1
- package/lib/bot.js.map +0 -1
package/src/typing-indicator.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* 使用消息回应(表情)来提示用户"AI 正在处理"。
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import type {
|
|
8
|
+
import type { IcqqEndpoint } from './endpoint.js';
|
|
9
9
|
import {
|
|
10
10
|
TypingIndicatorManager,
|
|
11
11
|
ReactionTypingIndicatorAdapter,
|
|
@@ -55,10 +55,10 @@ const DEFAULT_ICQQ_CONFIG: ICQQTypingIndicatorConfig = {
|
|
|
55
55
|
export class ICQQTypingIndicatorManager {
|
|
56
56
|
private manager: TypingIndicatorManager;
|
|
57
57
|
private config: ICQQTypingIndicatorConfig;
|
|
58
|
-
private
|
|
58
|
+
private endpoint: IcqqEndpoint;
|
|
59
59
|
|
|
60
|
-
constructor(
|
|
61
|
-
this.
|
|
60
|
+
constructor(endpoint: IcqqEndpoint, config: Partial<ICQQTypingIndicatorConfig> = {}) {
|
|
61
|
+
this.endpoint = endpoint;
|
|
62
62
|
this.config = { ...DEFAULT_ICQQ_CONFIG, ...config };
|
|
63
63
|
|
|
64
64
|
// 创建 Typing Indicator 管理器
|
|
@@ -81,16 +81,16 @@ export class ICQQTypingIndicatorManager {
|
|
|
81
81
|
'icqq',
|
|
82
82
|
// addReaction
|
|
83
83
|
async (messageId: string, emoji: string, _options) => {
|
|
84
|
-
return await this.
|
|
84
|
+
return await this.endpoint.$addReaction(messageId, emoji);
|
|
85
85
|
},
|
|
86
86
|
// removeReaction
|
|
87
87
|
async (messageId: string, reactionId: string) => {
|
|
88
|
-
await this.
|
|
88
|
+
await this.endpoint.$removeReaction(messageId, reactionId);
|
|
89
89
|
},
|
|
90
90
|
// sendMessage
|
|
91
91
|
async (options: TypingIndicatorOptions, content: string) => {
|
|
92
92
|
try {
|
|
93
|
-
this.
|
|
93
|
+
this.endpoint.logger.debug('[ICQQ:TypingIndicator] sendMessage called', {
|
|
94
94
|
sessionId: options.sessionId,
|
|
95
95
|
content,
|
|
96
96
|
sceneType: options.sceneType,
|
|
@@ -100,46 +100,46 @@ export class ICQQTypingIndicatorManager {
|
|
|
100
100
|
|
|
101
101
|
// 根据场景类型发送消息
|
|
102
102
|
if (options.sceneType === 'group' && options.groupId) {
|
|
103
|
-
this.
|
|
103
|
+
this.endpoint.logger.debug('[ICQQ:TypingIndicator] sending group message', {
|
|
104
104
|
groupId: options.groupId,
|
|
105
105
|
});
|
|
106
|
-
return await this.
|
|
106
|
+
return await this.endpoint.$sendMessage({
|
|
107
107
|
type: 'group',
|
|
108
108
|
id: options.groupId,
|
|
109
109
|
context: 'icqq',
|
|
110
|
-
|
|
110
|
+
endpoint: this.endpoint.$id,
|
|
111
111
|
content: [{ type: 'text', data: { text: content } }],
|
|
112
112
|
});
|
|
113
113
|
} else if (options.userId) {
|
|
114
|
-
this.
|
|
114
|
+
this.endpoint.logger.debug('[ICQQ:TypingIndicator] sending private message', {
|
|
115
115
|
userId: options.userId,
|
|
116
116
|
});
|
|
117
|
-
return await this.
|
|
117
|
+
return await this.endpoint.$sendMessage({
|
|
118
118
|
type: 'private',
|
|
119
119
|
id: options.userId,
|
|
120
120
|
context: 'icqq',
|
|
121
|
-
|
|
121
|
+
endpoint: this.endpoint.$id,
|
|
122
122
|
content: [{ type: 'text', data: { text: content } }],
|
|
123
123
|
});
|
|
124
124
|
}
|
|
125
125
|
|
|
126
|
-
this.
|
|
126
|
+
this.endpoint.logger.debug('[ICQQ:TypingIndicator] no valid target', {
|
|
127
127
|
sceneType: options.sceneType,
|
|
128
128
|
groupId: options.groupId,
|
|
129
129
|
userId: options.userId,
|
|
130
130
|
});
|
|
131
131
|
return null;
|
|
132
132
|
} catch (error) {
|
|
133
|
-
this.
|
|
133
|
+
this.endpoint.logger.error('[ICQQ:TypingIndicator] Failed to send typing message:', error);
|
|
134
134
|
return null;
|
|
135
135
|
}
|
|
136
136
|
},
|
|
137
137
|
// deleteMessage
|
|
138
138
|
async (messageId: string) => {
|
|
139
139
|
try {
|
|
140
|
-
await this.
|
|
140
|
+
await this.endpoint.$recallMessage(messageId);
|
|
141
141
|
} catch (error) {
|
|
142
|
-
this.
|
|
142
|
+
this.endpoint.logger.error('[ICQQ:TypingIndicator] Failed to delete typing message:', error);
|
|
143
143
|
}
|
|
144
144
|
},
|
|
145
145
|
);
|
|
@@ -157,7 +157,7 @@ export class ICQQTypingIndicatorManager {
|
|
|
157
157
|
groupId?: string;
|
|
158
158
|
sceneType: 'private' | 'group';
|
|
159
159
|
}): Promise<TypingIndicator> {
|
|
160
|
-
this.
|
|
160
|
+
this.endpoint.logger.debug('[ICQQ:TypingIndicator] start called', {
|
|
161
161
|
enabled: this.config.enabled,
|
|
162
162
|
sceneType: options.sceneType,
|
|
163
163
|
messageId: options.messageId,
|
|
@@ -167,7 +167,7 @@ export class ICQQTypingIndicatorManager {
|
|
|
167
167
|
});
|
|
168
168
|
|
|
169
169
|
if (!this.config.enabled) {
|
|
170
|
-
this.
|
|
170
|
+
this.endpoint.logger.debug('[ICQQ:TypingIndicator] disabled, returning noop');
|
|
171
171
|
return {
|
|
172
172
|
start: async () => {},
|
|
173
173
|
stop: async () => {},
|
|
@@ -180,7 +180,7 @@ export class ICQQTypingIndicatorManager {
|
|
|
180
180
|
? this.config.groupConfig
|
|
181
181
|
: this.config.privateConfig;
|
|
182
182
|
|
|
183
|
-
this.
|
|
183
|
+
this.endpoint.logger.debug('[ICQQ:TypingIndicator] using config', {
|
|
184
184
|
sceneType: options.sceneType,
|
|
185
185
|
configType: config?.type,
|
|
186
186
|
configEmoji: config?.emoji,
|
|
@@ -193,15 +193,15 @@ export class ICQQTypingIndicatorManager {
|
|
|
193
193
|
userId: options.userId,
|
|
194
194
|
groupId: options.groupId,
|
|
195
195
|
platform: 'icqq',
|
|
196
|
-
|
|
196
|
+
endpointId: this.endpoint.$id,
|
|
197
197
|
sceneType: options.sceneType,
|
|
198
198
|
};
|
|
199
199
|
|
|
200
|
-
this.
|
|
200
|
+
this.endpoint.logger.debug('[ICQQ:TypingIndicator] starting manager', typingOptions);
|
|
201
201
|
|
|
202
202
|
const result = await this.manager.start(typingOptions, config);
|
|
203
203
|
|
|
204
|
-
this.
|
|
204
|
+
this.endpoint.logger.debug('[ICQQ:TypingIndicator] started', {
|
|
205
205
|
isActive: result.isActive(),
|
|
206
206
|
});
|
|
207
207
|
|
|
@@ -216,7 +216,7 @@ export class ICQQTypingIndicatorManager {
|
|
|
216
216
|
userId?: string;
|
|
217
217
|
groupId?: string;
|
|
218
218
|
}): Promise<void> {
|
|
219
|
-
this.
|
|
219
|
+
this.endpoint.logger.debug('[ICQQ:TypingIndicator] stop called', {
|
|
220
220
|
sessionId: options.sessionId,
|
|
221
221
|
userId: options.userId,
|
|
222
222
|
groupId: options.groupId,
|
|
@@ -227,22 +227,22 @@ export class ICQQTypingIndicatorManager {
|
|
|
227
227
|
userId: options.userId,
|
|
228
228
|
groupId: options.groupId,
|
|
229
229
|
platform: 'icqq',
|
|
230
|
-
|
|
230
|
+
endpointId: this.endpoint.$id,
|
|
231
231
|
sceneType: 'private', // 默认值,实际会根据 sessionId 判断
|
|
232
232
|
};
|
|
233
233
|
|
|
234
234
|
await this.manager.stop(typingOptions);
|
|
235
235
|
|
|
236
|
-
this.
|
|
236
|
+
this.endpoint.logger.debug('[ICQQ:TypingIndicator] stopped');
|
|
237
237
|
}
|
|
238
238
|
|
|
239
239
|
/**
|
|
240
240
|
* 停止所有提示
|
|
241
241
|
*/
|
|
242
242
|
async stopAll(): Promise<void> {
|
|
243
|
-
this.
|
|
243
|
+
this.endpoint.logger.debug('[ICQQ:TypingIndicator] stopAll called');
|
|
244
244
|
await this.manager.stopAll();
|
|
245
|
-
this.
|
|
245
|
+
this.endpoint.logger.debug('[ICQQ:TypingIndicator] stopAll completed');
|
|
246
246
|
}
|
|
247
247
|
|
|
248
248
|
/**
|
|
@@ -263,20 +263,20 @@ export class ICQQTypingIndicatorManager {
|
|
|
263
263
|
// ── 便捷函数 ──────────────────────────────────────────────────────────
|
|
264
264
|
|
|
265
265
|
/**
|
|
266
|
-
* 为 ICQQ
|
|
266
|
+
* 为 ICQQ Endpoint 创建 Typing Indicator 管理器
|
|
267
267
|
*/
|
|
268
268
|
export function createICQQTypingIndicatorManager(
|
|
269
|
-
|
|
269
|
+
endpoint: IcqqEndpoint,
|
|
270
270
|
config?: Partial<ICQQTypingIndicatorConfig>,
|
|
271
271
|
): ICQQTypingIndicatorManager {
|
|
272
|
-
return new ICQQTypingIndicatorManager(
|
|
272
|
+
return new ICQQTypingIndicatorManager(endpoint, config);
|
|
273
273
|
}
|
|
274
274
|
|
|
275
275
|
/**
|
|
276
276
|
* 快速开始提示
|
|
277
277
|
*/
|
|
278
278
|
export async function startICQQTypingIndicator(
|
|
279
|
-
|
|
279
|
+
endpoint: IcqqEndpoint,
|
|
280
280
|
options: {
|
|
281
281
|
messageId?: string;
|
|
282
282
|
sessionId: string;
|
|
@@ -286,28 +286,28 @@ export async function startICQQTypingIndicator(
|
|
|
286
286
|
},
|
|
287
287
|
config?: Partial<ICQQTypingIndicatorConfig>,
|
|
288
288
|
): Promise<TypingIndicator> {
|
|
289
|
-
const manager = createICQQTypingIndicatorManager(
|
|
289
|
+
const manager = createICQQTypingIndicatorManager(endpoint, config);
|
|
290
290
|
return await manager.start(options);
|
|
291
291
|
}
|
|
292
292
|
|
|
293
293
|
// ── 类型扩展 ──────────────────────────────────────────────────────────
|
|
294
294
|
|
|
295
|
-
declare module './
|
|
296
|
-
interface
|
|
295
|
+
declare module './endpoint.js' {
|
|
296
|
+
interface IcqqEndpoint {
|
|
297
297
|
/** Typing Indicator 管理器 */
|
|
298
298
|
$typingIndicator?: ICQQTypingIndicatorManager;
|
|
299
299
|
}
|
|
300
300
|
}
|
|
301
301
|
|
|
302
302
|
/**
|
|
303
|
-
* 为
|
|
303
|
+
* 为 IcqqEndpoint 添加 Typing Indicator 支持
|
|
304
304
|
*/
|
|
305
305
|
export function enableTypingIndicator(
|
|
306
|
-
|
|
306
|
+
endpoint: IcqqEndpoint,
|
|
307
307
|
config?: Partial<ICQQTypingIndicatorConfig>,
|
|
308
308
|
): ICQQTypingIndicatorManager {
|
|
309
|
-
if (!
|
|
310
|
-
|
|
309
|
+
if (!endpoint.$typingIndicator) {
|
|
310
|
+
endpoint.$typingIndicator = createICQQTypingIndicatorManager(endpoint, config);
|
|
311
311
|
}
|
|
312
|
-
return
|
|
312
|
+
return endpoint.$typingIndicator;
|
|
313
313
|
}
|
package/lib/bot.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"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"}
|
package/lib/bot.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bot.js","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"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"}
|