@zhin.js/adapter-qq 1.1.14 → 1.1.15

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 (34) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +25 -1
  3. package/agents/qq/skills/qq/SKILL.md +16 -10
  4. package/agents/qq/skills/qq/tools/add_role/index.js +1 -0
  5. package/agents/qq/skills/qq/tools/add_role/index.ts +1 -0
  6. package/agents/qq/skills/qq/tools/channel_info/index.js +1 -0
  7. package/agents/qq/skills/qq/tools/channel_info/index.ts +1 -0
  8. package/agents/qq/skills/qq/tools/create_role/index.js +1 -0
  9. package/agents/qq/skills/qq/tools/create_role/index.ts +1 -0
  10. package/agents/qq/skills/qq/tools/list_channels/index.js +1 -0
  11. package/agents/qq/skills/qq/tools/list_channels/index.ts +1 -0
  12. package/agents/qq/skills/qq/tools/list_roles/index.js +1 -0
  13. package/agents/qq/skills/qq/tools/list_roles/index.ts +1 -0
  14. package/agents/qq/skills/qq/tools/member_detail/index.js +1 -0
  15. package/agents/qq/skills/qq/tools/member_detail/index.ts +1 -0
  16. package/agents/qq/skills/qq/tools/remove_role/index.js +1 -0
  17. package/agents/qq/skills/qq/tools/remove_role/index.ts +1 -0
  18. package/agents/qq/skills/qq-directory/SKILL.md +14 -0
  19. package/lib/endpoint.js +28 -36
  20. package/lib/passive-reply.d.ts +61 -0
  21. package/lib/passive-reply.js +122 -0
  22. package/lib/qq-send.d.ts +28 -0
  23. package/lib/qq-send.js +109 -0
  24. package/lib/webhook.js +4 -4
  25. package/lib/ws.d.ts +10 -4
  26. package/lib/ws.js +4 -4
  27. package/package.json +18 -18
  28. package/src/endpoint.ts +26 -34
  29. package/src/passive-reply.ts +159 -0
  30. package/src/qq-send.ts +138 -0
  31. package/src/webhook.ts +4 -4
  32. package/src/ws.ts +15 -8
  33. /package/agents/qq/skills/{qq → qq-directory}/tools/list_guilds/index.js +0 -0
  34. /package/agents/qq/skills/{qq → qq-directory}/tools/list_guilds/index.ts +0 -0
package/src/webhook.ts CHANGED
@@ -100,10 +100,10 @@ export function defaultCreateHttpBot(config: ResolvedQqHttpConfig): QqHttpBotTra
100
100
  removeAllListeners: () => {
101
101
  bot.removeAllListeners(undefined as never);
102
102
  },
103
- sendPrivateMessage: (userId, message) => bot.sendPrivateMessage(userId, message as Sendable),
104
- sendGroupMessage: (groupId, message) => bot.sendGroupMessage(groupId, message as Sendable),
105
- sendGuildMessage: (channelId, message) => bot.sendGuildMessage(channelId, message as Sendable),
106
- sendDirectMessage: (guildId, message) => bot.sendDirectMessage(guildId, message as Sendable),
103
+ sendPrivateMessage: (userId, message, source, options) => bot.sendPrivateMessage(userId, message as Sendable, source, options),
104
+ sendGroupMessage: (groupId, message, source, options) => bot.sendGroupMessage(groupId, message as Sendable, source, options),
105
+ sendGuildMessage: (channelId, message, source, options) => bot.sendGuildMessage(channelId, message as Sendable, source, options),
106
+ sendDirectMessage: (guildId, message, source, options) => bot.sendDirectMessage(guildId, message as Sendable, source, options),
107
107
  recallPrivateMessage: (userId, messageId) => bot.recallPrivateMessage(userId, messageId),
108
108
  recallGroupMessage: (groupId, messageId) => bot.recallGroupMessage(groupId, messageId),
109
109
  recallGuildMessage: (channelId, messageId) => bot.recallGuildMessage(channelId, messageId),
package/src/ws.ts CHANGED
@@ -12,6 +12,12 @@ import {
12
12
  import type { EndpointTransportState } from 'zhin.js/adapter';
13
13
  import type { MediaRef, Segment } from '@zhin.js/im-contract';
14
14
  import type { QqOutboundMessage } from './outbound.js';
15
+ import type { QqReplySource } from './passive-reply.js';
16
+
17
+ /** Per-send options. `msgSeq` numbers replies to one passive source (qq-official-bot ≥ 1.3.3). */
18
+ export interface QqSendOptions {
19
+ readonly msgSeq?: number;
20
+ }
15
21
  import type { QqChannelKind, QqInboundMessage, ResolvedQqWebsocketConfig } from './protocol.js';
16
22
 
17
23
  /** SDK business surface exposed to plugins without bypassing Endpoint lifecycle ownership. */
@@ -45,10 +51,11 @@ export interface QqBotTransport {
45
51
  stop(): Promise<void>;
46
52
  on(event: string, listener: (...args: unknown[]) => void): void;
47
53
  removeAllListeners(): void;
48
- sendPrivateMessage(userId: string, message: QqOutboundMessage): Promise<unknown>;
49
- sendGroupMessage(groupId: string, message: QqOutboundMessage): Promise<unknown>;
50
- sendGuildMessage(channelId: string, message: QqOutboundMessage): Promise<unknown>;
51
- sendDirectMessage?(guildId: string, message: QqOutboundMessage): Promise<unknown>;
54
+ /** `source` makes it a passive reply; without it the platform treats the message as active. */
55
+ sendPrivateMessage(userId: string, message: QqOutboundMessage, source?: QqReplySource, options?: QqSendOptions): Promise<unknown>;
56
+ sendGroupMessage(groupId: string, message: QqOutboundMessage, source?: QqReplySource, options?: QqSendOptions): Promise<unknown>;
57
+ sendGuildMessage(channelId: string, message: QqOutboundMessage, source?: QqReplySource, options?: QqSendOptions): Promise<unknown>;
58
+ sendDirectMessage?(guildId: string, message: QqOutboundMessage, source?: QqReplySource, options?: QqSendOptions): Promise<unknown>;
52
59
  recallPrivateMessage?(userId: string, messageId: string): Promise<unknown>;
53
60
  recallGroupMessage?(groupId: string, messageId: string): Promise<unknown>;
54
61
  recallGuildMessage?(channelId: string, messageId: string): Promise<unknown>;
@@ -325,10 +332,10 @@ export function defaultCreateBot(config: ResolvedQqWebsocketConfig): QqBotTransp
325
332
  for (const entry of receiverListeners.splice(0)) receiver.removeListener(entry.event, entry.listener);
326
333
  bot.removeAllListeners(undefined as never);
327
334
  },
328
- sendPrivateMessage: (userId, message) => bot.sendPrivateMessage(userId, message as Sendable),
329
- sendGroupMessage: (groupId, message) => bot.sendGroupMessage(groupId, message as Sendable),
330
- sendGuildMessage: (channelId, message) => bot.sendGuildMessage(channelId, message as Sendable),
331
- sendDirectMessage: (guildId, message) => bot.sendDirectMessage(guildId, message as Sendable),
335
+ sendPrivateMessage: (userId, message, source, options) => bot.sendPrivateMessage(userId, message as Sendable, source, options),
336
+ sendGroupMessage: (groupId, message, source, options) => bot.sendGroupMessage(groupId, message as Sendable, source, options),
337
+ sendGuildMessage: (channelId, message, source, options) => bot.sendGuildMessage(channelId, message as Sendable, source, options),
338
+ sendDirectMessage: (guildId, message, source, options) => bot.sendDirectMessage(guildId, message as Sendable, source, options),
332
339
  recallPrivateMessage: (userId, messageId) => bot.recallPrivateMessage(userId, messageId),
333
340
  recallGroupMessage: (groupId, messageId) => bot.recallGroupMessage(groupId, messageId),
334
341
  recallGuildMessage: (channelId, messageId) => bot.recallGuildMessage(channelId, messageId),