@zhin.js/adapter-napcat 1.0.1 → 1.1.2

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 (202) hide show
  1. package/CHANGELOG.md +757 -0
  2. package/{skills/napcat/PERMITS.md → PERMITS.md} +3 -3
  3. package/README.md +63 -95
  4. package/adapters/napcat/index.js +47 -0
  5. package/adapters/napcat/index.ts +64 -0
  6. package/agents/napcat/agent.json +20 -0
  7. package/agents/napcat/boundaries.md +3 -0
  8. package/agents/napcat/conventions.md +3 -0
  9. package/agents/napcat/skills/napcat-account/SKILL.md +25 -0
  10. package/agents/napcat/skills/napcat-account/tools/delete_friend/index.js +18 -0
  11. package/agents/napcat/skills/napcat-account/tools/delete_friend/index.ts +18 -0
  12. package/agents/napcat/skills/napcat-account/tools/get_user_status/index.js +16 -0
  13. package/agents/napcat/skills/napcat-account/tools/get_user_status/index.ts +16 -0
  14. package/agents/napcat/skills/napcat-account/tools/send_like/index.js +18 -0
  15. package/agents/napcat/skills/napcat-account/tools/send_like/index.ts +18 -0
  16. package/agents/napcat/skills/napcat-account/tools/set_avatar/index.js +17 -0
  17. package/agents/napcat/skills/napcat-account/tools/set_avatar/index.ts +17 -0
  18. package/agents/napcat/skills/napcat-account/tools/set_online_status/index.js +18 -0
  19. package/agents/napcat/skills/napcat-account/tools/set_online_status/index.ts +18 -0
  20. package/agents/napcat/skills/napcat-account/tools/set_profile/index.js +21 -0
  21. package/agents/napcat/skills/napcat-account/tools/set_profile/index.ts +21 -0
  22. package/agents/napcat/skills/napcat-account/tools/set_signature/index.js +17 -0
  23. package/agents/napcat/skills/napcat-account/tools/set_signature/index.ts +17 -0
  24. package/agents/napcat/skills/napcat-files-history/SKILL.md +22 -0
  25. package/agents/napcat/skills/napcat-files-history/tools/download_file/index.js +17 -0
  26. package/agents/napcat/skills/napcat-files-history/tools/download_file/index.ts +17 -0
  27. package/agents/napcat/skills/napcat-files-history/tools/get_friend_msg_history/index.js +18 -0
  28. package/agents/napcat/skills/napcat-files-history/tools/get_friend_msg_history/index.ts +18 -0
  29. package/agents/napcat/skills/napcat-files-history/tools/get_group_file_url/index.js +19 -0
  30. package/agents/napcat/skills/napcat-files-history/tools/get_group_file_url/index.ts +19 -0
  31. package/agents/napcat/skills/napcat-files-history/tools/get_group_msg_history/index.js +19 -0
  32. package/agents/napcat/skills/napcat-files-history/tools/get_group_msg_history/index.ts +19 -0
  33. package/agents/napcat/skills/napcat-files-history/tools/get_group_root_files/index.js +17 -0
  34. package/agents/napcat/skills/napcat-files-history/tools/get_group_root_files/index.ts +17 -0
  35. package/agents/napcat/skills/napcat-files-history/tools/upload_group_file/index.js +21 -0
  36. package/agents/napcat/skills/napcat-files-history/tools/upload_group_file/index.ts +21 -0
  37. package/agents/napcat/skills/napcat-group-content/SKILL.md +21 -0
  38. package/agents/napcat/skills/napcat-group-content/tools/del_group_notice/index.js +20 -0
  39. package/agents/napcat/skills/napcat-group-content/tools/del_group_notice/index.ts +20 -0
  40. package/agents/napcat/skills/napcat-group-content/tools/delete_essence_msg/index.js +19 -0
  41. package/agents/napcat/skills/napcat-group-content/tools/delete_essence_msg/index.ts +19 -0
  42. package/agents/napcat/skills/napcat-group-content/tools/get_essence_list/index.js +17 -0
  43. package/agents/napcat/skills/napcat-group-content/tools/get_essence_list/index.ts +17 -0
  44. package/agents/napcat/skills/napcat-group-content/tools/get_group_notice/index.js +17 -0
  45. package/agents/napcat/skills/napcat-group-content/tools/get_group_notice/index.ts +17 -0
  46. package/agents/napcat/skills/napcat-group-content/tools/send_group_notice/index.js +21 -0
  47. package/agents/napcat/skills/napcat-group-content/tools/send_group_notice/index.ts +21 -0
  48. package/agents/napcat/skills/napcat-group-content/tools/set_essence_msg/index.js +19 -0
  49. package/agents/napcat/skills/napcat-group-content/tools/set_essence_msg/index.ts +19 -0
  50. package/agents/napcat/skills/napcat-group-settings/SKILL.md +23 -0
  51. package/agents/napcat/skills/napcat-group-settings/tools/get_group_info_ex/index.js +17 -0
  52. package/agents/napcat/skills/napcat-group-settings/tools/get_group_info_ex/index.ts +17 -0
  53. package/agents/napcat/skills/napcat-group-settings/tools/get_group_shut_list/index.js +17 -0
  54. package/agents/napcat/skills/napcat-group-settings/tools/get_group_shut_list/index.ts +17 -0
  55. package/agents/napcat/skills/napcat-group-settings/tools/group_sign/index.js +18 -0
  56. package/agents/napcat/skills/napcat-group-settings/tools/group_sign/index.ts +18 -0
  57. package/agents/napcat/skills/napcat-group-settings/tools/set_group_portrait/index.js +20 -0
  58. package/agents/napcat/skills/napcat-group-settings/tools/set_group_portrait/index.ts +20 -0
  59. package/agents/napcat/skills/napcat-group-settings/tools/set_title/index.js +21 -0
  60. package/agents/napcat/skills/napcat-group-settings/tools/set_title/index.ts +21 -0
  61. package/agents/napcat/skills/napcat-media/SKILL.md +23 -0
  62. package/agents/napcat/skills/napcat-media/tools/ai_tts/index.js +19 -0
  63. package/agents/napcat/skills/napcat-media/tools/ai_tts/index.ts +19 -0
  64. package/agents/napcat/skills/napcat-media/tools/get_ai_characters/index.js +17 -0
  65. package/agents/napcat/skills/napcat-media/tools/get_ai_characters/index.ts +17 -0
  66. package/agents/napcat/skills/napcat-media/tools/get_mini_app_ark/index.js +20 -0
  67. package/agents/napcat/skills/napcat-media/tools/get_mini_app_ark/index.ts +20 -0
  68. package/agents/napcat/skills/napcat-media/tools/ocr_image/index.js +16 -0
  69. package/agents/napcat/skills/napcat-media/tools/ocr_image/index.ts +16 -0
  70. package/agents/napcat/skills/napcat-media/tools/translate/index.js +16 -0
  71. package/agents/napcat/skills/napcat-media/tools/translate/index.ts +16 -0
  72. package/agents/napcat/skills/napcat-messaging/SKILL.md +22 -0
  73. package/agents/napcat/skills/napcat-messaging/tools/forward_single_msg/index.js +22 -0
  74. package/agents/napcat/skills/napcat-messaging/tools/forward_single_msg/index.ts +28 -0
  75. package/agents/napcat/skills/napcat-messaging/tools/mark_msg_as_read/index.js +17 -0
  76. package/agents/napcat/skills/napcat-messaging/tools/mark_msg_as_read/index.ts +17 -0
  77. package/agents/napcat/skills/napcat-messaging/tools/send_forward_msg/index.js +19 -0
  78. package/agents/napcat/skills/napcat-messaging/tools/send_forward_msg/index.ts +27 -0
  79. package/agents/napcat/skills/napcat-messaging/tools/send_poke/index.js +18 -0
  80. package/agents/napcat/skills/napcat-messaging/tools/send_poke/index.ts +18 -0
  81. package/agents/napcat/skills/napcat-messaging/tools/set_emoji_reaction/index.js +18 -0
  82. package/agents/napcat/skills/napcat-messaging/tools/set_emoji_reaction/index.ts +18 -0
  83. package/agents/napcat/system.md +3 -0
  84. package/commands/napcat/endpoint/add/[id]/index.js +3 -0
  85. package/commands/napcat/endpoint/add/[id]/index.ts +3 -0
  86. package/commands/napcat/endpoint/definition.js +29 -0
  87. package/commands/napcat/endpoint/definition.ts +26 -0
  88. package/commands/napcat/endpoint/list/index.js +3 -0
  89. package/commands/napcat/endpoint/list/index.ts +3 -0
  90. package/commands/napcat/endpoint/remove/[id]/index.js +3 -0
  91. package/commands/napcat/endpoint/remove/[id]/index.ts +3 -0
  92. package/lib/client.d.ts +52 -0
  93. package/lib/client.js +62 -0
  94. package/lib/endpoint-management.d.ts +15 -0
  95. package/lib/endpoint-management.js +47 -0
  96. package/lib/http-endpoint.d.ts +27 -0
  97. package/lib/http-endpoint.js +177 -0
  98. package/lib/index.d.ts +11 -22
  99. package/lib/index.js +10 -59
  100. package/lib/napcat-inbound.d.ts +12 -5
  101. package/lib/napcat-inbound.js +28 -13
  102. package/lib/napcat-runtime-state.d.ts +1 -0
  103. package/lib/napcat-runtime-state.js +6 -0
  104. package/lib/onebot-get-msg.d.ts +16 -3
  105. package/lib/onebot-get-msg.js +53 -1
  106. package/lib/protocol.d.ts +147 -0
  107. package/lib/protocol.js +318 -0
  108. package/lib/side-event-dispatch.d.ts +7 -0
  109. package/lib/side-event-dispatch.js +36 -0
  110. package/lib/webhook.d.ts +2 -0
  111. package/lib/webhook.js +14 -0
  112. package/lib/ws-endpoint.d.ts +27 -0
  113. package/lib/ws-endpoint.js +241 -0
  114. package/lib/ws-transport.d.ts +13 -0
  115. package/lib/ws-transport.js +75 -0
  116. package/lib/ws-types.d.ts +17 -0
  117. package/lib/ws-types.js +1 -0
  118. package/lib/wss-auth.d.ts +2 -0
  119. package/lib/wss-auth.js +16 -0
  120. package/lib/wss-endpoint.d.ts +29 -0
  121. package/lib/wss-endpoint.js +196 -0
  122. package/package.json +76 -34
  123. package/plugin.js +18 -0
  124. package/schema.json +131 -0
  125. package/src/client.ts +79 -0
  126. package/src/endpoint-management.ts +72 -0
  127. package/src/http-endpoint.ts +234 -0
  128. package/src/index.ts +62 -87
  129. package/src/napcat-inbound.ts +34 -10
  130. package/src/napcat-runtime-state.ts +7 -0
  131. package/src/onebot-get-msg.ts +69 -5
  132. package/src/protocol.ts +465 -0
  133. package/src/side-event-dispatch.ts +48 -0
  134. package/src/webhook.ts +16 -0
  135. package/src/ws-endpoint.ts +301 -0
  136. package/src/ws-transport.ts +105 -0
  137. package/src/ws-types.ts +20 -0
  138. package/src/wss-auth.ts +17 -0
  139. package/src/wss-endpoint.ts +247 -0
  140. package/client/NapCatManagement.tsx +0 -113
  141. package/client/index.tsx +0 -11
  142. package/client/tsconfig.json +0 -7
  143. package/client/utils/api.ts +0 -30
  144. package/dist/index.js +0 -27
  145. package/lib/adapter.d.ts +0 -28
  146. package/lib/adapter.d.ts.map +0 -1
  147. package/lib/adapter.js +0 -94
  148. package/lib/adapter.js.map +0 -1
  149. package/lib/agent-prompt.d.ts +0 -3
  150. package/lib/agent-prompt.d.ts.map +0 -1
  151. package/lib/agent-prompt.js +0 -105
  152. package/lib/agent-prompt.js.map +0 -1
  153. package/lib/endpoint-base.d.ts +0 -143
  154. package/lib/endpoint-base.d.ts.map +0 -1
  155. package/lib/endpoint-base.js +0 -334
  156. package/lib/endpoint-base.js.map +0 -1
  157. package/lib/endpoint-http.d.ts +0 -18
  158. package/lib/endpoint-http.d.ts.map +0 -1
  159. package/lib/endpoint-http.js +0 -119
  160. package/lib/endpoint-http.js.map +0 -1
  161. package/lib/endpoint-ws-client.d.ts +0 -21
  162. package/lib/endpoint-ws-client.d.ts.map +0 -1
  163. package/lib/endpoint-ws-client.js +0 -165
  164. package/lib/endpoint-ws-client.js.map +0 -1
  165. package/lib/endpoint-ws-server.d.ts +0 -21
  166. package/lib/endpoint-ws-server.d.ts.map +0 -1
  167. package/lib/endpoint-ws-server.js +0 -150
  168. package/lib/endpoint-ws-server.js.map +0 -1
  169. package/lib/index.d.ts.map +0 -1
  170. package/lib/index.js.map +0 -1
  171. package/lib/napcat-inbound.d.ts.map +0 -1
  172. package/lib/napcat-inbound.js.map +0 -1
  173. package/lib/onebot-get-msg.d.ts.map +0 -1
  174. package/lib/onebot-get-msg.js.map +0 -1
  175. package/lib/routes.d.ts +0 -4
  176. package/lib/routes.d.ts.map +0 -1
  177. package/lib/routes.js +0 -61
  178. package/lib/routes.js.map +0 -1
  179. package/lib/tools.d.ts +0 -8
  180. package/lib/tools.d.ts.map +0 -1
  181. package/lib/tools.js +0 -605
  182. package/lib/tools.js.map +0 -1
  183. package/lib/types.d.ts +0 -293
  184. package/lib/types.d.ts.map +0 -1
  185. package/lib/types.js +0 -6
  186. package/lib/types.js.map +0 -1
  187. package/lib/typing-indicator.d.ts +0 -45
  188. package/lib/typing-indicator.d.ts.map +0 -1
  189. package/lib/typing-indicator.js +0 -132
  190. package/lib/typing-indicator.js.map +0 -1
  191. package/plugin.yml +0 -3
  192. package/skills/napcat/SKILL.md +0 -311
  193. package/src/adapter.ts +0 -101
  194. package/src/agent-prompt.ts +0 -114
  195. package/src/endpoint-base.ts +0 -376
  196. package/src/endpoint-http.ts +0 -109
  197. package/src/endpoint-ws-client.ts +0 -164
  198. package/src/endpoint-ws-server.ts +0 -150
  199. package/src/routes.ts +0 -61
  200. package/src/tools.ts +0 -632
  201. package/src/types.ts +0 -279
  202. package/src/typing-indicator.ts +0 -184
@@ -1,334 +0,0 @@
1
- /**
2
- * NapCat Endpoint 抽象基类
3
- * 子类只需实现 callApi / $connect / $disconnect,其余 API 方法和事件处理全部复用。
4
- */
5
- import { EventEmitter } from 'events';
6
- import { Message, segment, Notice, Request, } from 'zhin.js';
7
- import { parseOneBotGetMsgResponse } from './onebot-get-msg.js';
8
- import { InboundMessageDeduper, isSelfMessage, normalizeMessage, resolveSideEventDedupeKey } from './napcat-inbound.js';
9
- export class NapCatEndpointBase extends EventEmitter {
10
- adapter;
11
- $config;
12
- $connected = false;
13
- inboundDeduper = new InboundMessageDeduper();
14
- get logger() { return this.adapter.plugin.logger; }
15
- get $id() { return this.$config.name; }
16
- constructor(adapter, $config) {
17
- super();
18
- this.adapter = adapter;
19
- this.$config = $config;
20
- }
21
- // ══════════════════════════════════════════════════════════════════
22
- // 消息格式化
23
- // ══════════════════════════════════════════════════════════════════
24
- $formatMessage(ev) {
25
- const content = normalizeMessage(ev.message);
26
- const quoteId = Message.quoteIdFromContent(content);
27
- Message.alignReplySegments(content, quoteId);
28
- const message = Message.from(ev, {
29
- $id: ev.message_id.toString(),
30
- $adapter: 'napcat',
31
- $endpoint: this.$config.name,
32
- $sender: {
33
- id: ev.user_id.toString(),
34
- name: ev.sender?.nickname || ev.user_id.toString(),
35
- role: ev.sender?.role,
36
- },
37
- $channel: {
38
- id: (ev.group_id || ev.user_id).toString(),
39
- type: ev.group_id ? 'group' : 'private',
40
- },
41
- $content: content,
42
- $quote_id: quoteId,
43
- $raw: ev.raw_message,
44
- $timestamp: ev.time,
45
- $recall: async () => { await this.deleteMsg(ev.message_id); },
46
- $reply: async (content, quote) => {
47
- if (!Array.isArray(content))
48
- content = [content];
49
- if (quote)
50
- content.unshift({ type: 'reply', data: { message_id: ev.message_id.toString() } });
51
- return await this.adapter.sendMessage({
52
- id: (ev.group_id || ev.user_id).toString(),
53
- type: ev.group_id ? 'group' : 'private',
54
- context: 'napcat',
55
- endpoint: this.$config.name,
56
- content,
57
- });
58
- },
59
- });
60
- return message;
61
- }
62
- async $sendMessage(options) {
63
- const msg = { message: options.content };
64
- if (options.type === 'group') {
65
- const result = await this.callApi('send_group_msg', { group_id: parseInt(options.id), ...msg });
66
- this.logger.debug(`${this.$id} send group(${options.id}):${segment.raw(options.content)}`);
67
- return result.message_id.toString();
68
- }
69
- if (options.type === 'private') {
70
- const result = await this.callApi('send_private_msg', { user_id: parseInt(options.id), ...msg });
71
- this.logger.debug(`${this.$id} send private(${options.id}):${segment.raw(options.content)}`);
72
- return result.message_id.toString();
73
- }
74
- throw new Error('Either group_id or user_id must be provided');
75
- }
76
- async $recallMessage(id) {
77
- await this.deleteMsg(parseInt(id));
78
- }
79
- async $addReaction(messageId, emojiId) {
80
- await this.setMsgEmojiLike(parseInt(messageId), emojiId);
81
- return `reaction:${messageId}:${emojiId}`;
82
- }
83
- async $removeReaction(messageId, _reactionId) {
84
- // NapCat 的 set_msg_emoji_like 是 toggle 行为,再调一次即取消
85
- const parts = _reactionId.split(':');
86
- const emojiId = parts[2] || parts[0];
87
- await this.setMsgEmojiLike(parseInt(messageId), emojiId);
88
- }
89
- // ══════════════════════════════════════════════════════════════════
90
- // 事件分发
91
- // ══════════════════════════════════════════════════════════════════
92
- dispatchEvent(event) {
93
- switch (event.post_type) {
94
- case 'message':
95
- case 'message_sent':
96
- return this.handleMessage(event);
97
- case 'notice':
98
- return this.handleNotice(event);
99
- case 'request':
100
- return this.handleRequest(event);
101
- case 'meta_event':
102
- return this.handleMeta(event);
103
- }
104
- }
105
- handleMessage(ev) {
106
- if (isSelfMessage(ev))
107
- return;
108
- const msgId = ev.message_id.toString();
109
- if (!this.inboundDeduper.shouldProcess(msgId))
110
- return;
111
- ev.message = normalizeMessage(ev.message);
112
- const message = this.$formatMessage(ev);
113
- this.adapter.emit('message.receive', message);
114
- this.logger.debug(`${this.$id} recv ${message.$channel.type}(${message.$channel.id}):${segment.raw(message.$content)}`);
115
- }
116
- handleNotice(event) {
117
- const dedupeKey = resolveSideEventDedupeKey(event, 'notice');
118
- if (!this.inboundDeduper.shouldProcess(dedupeKey))
119
- return;
120
- const noticeTypeMap = {
121
- group_increase: 'group_member_increase',
122
- group_decrease: 'group_member_decrease',
123
- group_admin: 'group_admin_change',
124
- group_ban: 'group_ban',
125
- group_recall: 'group_recall',
126
- friend_recall: 'friend_recall',
127
- friend_add: 'friend_add',
128
- group_upload: 'group_upload',
129
- group_card: 'group_card_change',
130
- essence: event.sub_type === 'add' ? 'essence_add' : 'essence_delete',
131
- notify: this.resolveNotifyType(event),
132
- group_msg_emoji_like: 'group_emoji_reaction',
133
- };
134
- const $type = noticeTypeMap[event.notice_type] || event.notice_type;
135
- const isGroup = !!event.group_id;
136
- const notice = Notice.from(event, {
137
- $id: `${event.time}_${event.notice_type}_${event.group_id || event.user_id}`,
138
- $adapter: 'napcat',
139
- $endpoint: this.$config.name,
140
- $type,
141
- $subType: event.sub_type,
142
- $channel: {
143
- id: (event.group_id || event.user_id)?.toString() || '',
144
- type: isGroup ? 'group' : 'private',
145
- },
146
- $operator: event.operator_id ? { id: event.operator_id.toString(), name: event.operator_id.toString() } : undefined,
147
- $target: event.user_id ? { id: event.user_id.toString(), name: event.user_id.toString() } : undefined,
148
- $timestamp: event.time || Math.floor(Date.now() / 1000),
149
- });
150
- this.adapter.emit('notice.receive', notice);
151
- }
152
- resolveNotifyType(event) {
153
- switch (event.sub_type) {
154
- case 'poke': return event.group_id ? 'group_poke' : 'friend_poke';
155
- case 'input_status': return 'input_status';
156
- case 'title': return 'title_change';
157
- case 'profile_like': return 'profile_like';
158
- default: return `notify_${event.sub_type}`;
159
- }
160
- }
161
- handleRequest(event) {
162
- const dedupeKey = resolveSideEventDedupeKey(event, 'request');
163
- if (!this.inboundDeduper.shouldProcess(dedupeKey))
164
- return;
165
- const typeMap = {
166
- friend: 'friend_add',
167
- group: event.sub_type === 'invite' ? 'group_invite' : 'group_add',
168
- };
169
- const $type = typeMap[event.request_type] || event.request_type;
170
- const request = Request.from(event, {
171
- $id: event.flag || `${event.time}_${event.request_type}_${event.user_id}`,
172
- $adapter: 'napcat',
173
- $endpoint: this.$config.name,
174
- $type,
175
- $subType: event.sub_type,
176
- $channel: {
177
- id: (event.group_id || event.user_id)?.toString() || '',
178
- type: event.group_id ? 'group' : 'private',
179
- },
180
- $sender: { id: event.user_id?.toString() || '', name: event.user_id?.toString() || '' },
181
- $comment: event.comment,
182
- $timestamp: event.time || Math.floor(Date.now() / 1000),
183
- $approve: async (remark) => {
184
- await this.callApi(event.request_type === 'friend' ? 'set_friend_add_request' : 'set_group_add_request', { flag: event.flag, approve: true, remark });
185
- },
186
- $reject: async (reason) => {
187
- await this.callApi(event.request_type === 'friend' ? 'set_friend_add_request' : 'set_group_add_request', { flag: event.flag, approve: false, reason });
188
- },
189
- });
190
- this.adapter.emit('request.receive', request);
191
- }
192
- handleMeta(event) {
193
- // subclass may override for lifecycle handling
194
- }
195
- // ══════════════════════════════════════════════════════════════════
196
- // OneBot11 标准 API
197
- // ══════════════════════════════════════════════════════════════════
198
- async sendMsg(messageType, id, message) {
199
- return this.callApi('send_msg', { message_type: messageType, [messageType === 'group' ? 'group_id' : 'user_id']: id, message });
200
- }
201
- async deleteMsg(messageId) { return this.callApi('delete_msg', { message_id: messageId }); }
202
- async getMsg(messageId) { return this.callApi('get_msg', { message_id: messageId }); }
203
- async $getMsg(messageId) {
204
- const idParam = /^\d+$/.test(messageId) ? Number(messageId) : messageId;
205
- const data = await this.callApi('get_msg', { message_id: idParam });
206
- return parseOneBotGetMsgResponse(messageId, data);
207
- }
208
- async getForwardMsg(id) { return this.callApi('get_forward_msg', { id }); }
209
- async sendLike(userId, times = 1) { return this.callApi('send_like', { user_id: userId, times }); }
210
- // 群管理
211
- async setGroupKick(groupId, userId, rejectAddRequest = false) { return this.callApi('set_group_kick', { group_id: groupId, user_id: userId, reject_add_request: rejectAddRequest }); }
212
- async setGroupBan(groupId, userId, duration = 600) { return this.callApi('set_group_ban', { group_id: groupId, user_id: userId, duration }); }
213
- async setGroupWholeBan(groupId, enable = true) { return this.callApi('set_group_whole_ban', { group_id: groupId, enable }); }
214
- async setGroupAdmin(groupId, userId, enable = true) { return this.callApi('set_group_admin', { group_id: groupId, user_id: userId, enable }); }
215
- async setGroupCard(groupId, userId, card) { return this.callApi('set_group_card', { group_id: groupId, user_id: userId, card }); }
216
- async setGroupName(groupId, groupName) { return this.callApi('set_group_name', { group_id: groupId, group_name: groupName }); }
217
- async setGroupLeave(groupId, isDismiss = false) { return this.callApi('set_group_leave', { group_id: groupId, is_dismiss: isDismiss }); }
218
- async setGroupSpecialTitle(groupId, userId, specialTitle, duration = -1) { return this.callApi('set_group_special_title', { group_id: groupId, user_id: userId, special_title: specialTitle, duration }); }
219
- // 好友/群请求
220
- async setFriendAddRequest(flag, approve = true, remark) { return this.callApi('set_friend_add_request', { flag, approve, remark }); }
221
- async setGroupAddRequest(flag, subType, approve = true, reason) { return this.callApi('set_group_add_request', { flag, sub_type: subType, approve, reason }); }
222
- // 信息查询
223
- async getLoginInfo() { return this.callApi('get_login_info'); }
224
- async getStrangerInfo(userId, noCache = false) { return this.callApi('get_stranger_info', { user_id: userId, no_cache: noCache }); }
225
- async getFriendList() { return this.callApi('get_friend_list'); }
226
- async getGroupInfo(groupId, noCache = false) { return this.callApi('get_group_info', { group_id: groupId, no_cache: noCache }); }
227
- async getGroupList() { return this.callApi('get_group_list'); }
228
- async getGroupMemberInfo(groupId, userId, noCache = false) { return this.callApi('get_group_member_info', { group_id: groupId, user_id: userId, no_cache: noCache }); }
229
- async getGroupMemberList(groupId) { return this.callApi('get_group_member_list', { group_id: groupId }); }
230
- async getGroupHonorInfo(groupId, type) { return this.callApi('get_group_honor_info', { group_id: groupId, type }); }
231
- // 凭证
232
- async getCookies(domain) { return this.callApi('get_cookies', { domain }); }
233
- async getCsrfToken() { return this.callApi('get_csrf_token'); }
234
- async getCredentials(domain) { return this.callApi('get_credentials', { domain }); }
235
- // 媒体
236
- async getRecord(file, outFormat) { return this.callApi('get_record', { file, out_format: outFormat }); }
237
- async getImage(file) { return this.callApi('get_image', { file }); }
238
- async canSendImage() { return this.callApi('can_send_image'); }
239
- async canSendRecord() { return this.callApi('can_send_record'); }
240
- // 系统
241
- async getStatus() { return this.callApi('get_status'); }
242
- async getVersionInfo() { return this.callApi('get_version_info'); }
243
- async cleanCache() { return this.callApi('clean_cache'); }
244
- // ══════════════════════════════════════════════════════════════════
245
- // go-cqhttp 扩展 API
246
- // ══════════════════════════════════════════════════════════════════
247
- async setQQProfile(nickname, company, email, college, personalNote) {
248
- return this.callApi('set_qq_profile', { nickname, company, email, college, personal_note: personalNote });
249
- }
250
- async getOnlineClients(noCache = false) { return this.callApi('get_online_clients', { no_cache: noCache }); }
251
- async deleteFriend(userId) { return this.callApi('delete_friend', { user_id: userId }); }
252
- async markMsgAsRead(messageId) { return this.callApi('mark_msg_as_read', { message_id: messageId }); }
253
- async sendGroupForwardMsg(groupId, messages) { return this.callApi('send_group_forward_msg', { group_id: groupId, messages }); }
254
- async sendPrivateForwardMsg(userId, messages) { return this.callApi('send_private_forward_msg', { user_id: userId, messages }); }
255
- async getGroupMsgHistory(groupId, messageSeq, count) { return this.callApi('get_group_msg_history', { group_id: groupId, message_seq: messageSeq, count }); }
256
- async ocrImage(image) { return this.callApi('ocr_image', { image }); }
257
- async getGroupSystemMsg() { return this.callApi('get_group_system_msg'); }
258
- async getEssenceMsgList(groupId) { return this.callApi('get_essence_msg_list', { group_id: groupId }); }
259
- async getGroupAtAllRemain(groupId) { return this.callApi('get_group_at_all_remain', { group_id: groupId }); }
260
- async setGroupPortrait(groupId, file) { return this.callApi('set_group_portrait', { group_id: groupId, file }); }
261
- async setEssenceMsg(messageId) { return this.callApi('set_essence_msg', { message_id: messageId }); }
262
- async deleteEssenceMsg(messageId) { return this.callApi('delete_essence_msg', { message_id: messageId }); }
263
- async sendGroupSign(groupId) { return this.callApi('send_group_sign', { group_id: groupId }); }
264
- async sendGroupNotice(groupId, content, image) { return this.callApi('_send_group_notice', { group_id: groupId, content, image }); }
265
- async getGroupNotice(groupId) { return this.callApi('_get_group_notice', { group_id: groupId }); }
266
- async deleteGroupNotice(groupId, noticeId) { return this.callApi('_del_group_notice', { group_id: groupId, notice_id: noticeId }); }
267
- async uploadGroupFile(groupId, file, name, folder) { return this.callApi('upload_group_file', { group_id: groupId, file, name, folder }); }
268
- async deleteGroupFile(groupId, fileId, busid) { return this.callApi('delete_group_file', { group_id: groupId, file_id: fileId, busid }); }
269
- async createGroupFileFolder(groupId, name, parentId = '/') { return this.callApi('create_group_file_folder', { group_id: groupId, name, parent_id: parentId }); }
270
- async deleteGroupFolder(groupId, folderId) { return this.callApi('delete_group_folder', { group_id: groupId, folder_id: folderId }); }
271
- async getGroupFileSystemInfo(groupId) { return this.callApi('get_group_file_system_info', { group_id: groupId }); }
272
- async getGroupRootFiles(groupId) { return this.callApi('get_group_root_files', { group_id: groupId }); }
273
- async getGroupFilesByFolder(groupId, folderId) { return this.callApi('get_group_files_by_folder', { group_id: groupId, folder_id: folderId }); }
274
- async getGroupFileUrl(groupId, fileId, busid) { return this.callApi('get_group_file_url', { group_id: groupId, file_id: fileId, busid }); }
275
- async uploadPrivateFile(userId, file, name) { return this.callApi('upload_private_file', { user_id: userId, file, name }); }
276
- async downloadFile(url, threadCount = 1, headers) { return this.callApi('download_file', { url, thread_count: threadCount, headers }); }
277
- async checkUrlSafely(url) { return this.callApi('check_url_safely', { url }); }
278
- // ══════════════════════════════════════════════════════════════════
279
- // NapCat 独有 API
280
- // ══════════════════════════════════════════════════════════════════
281
- async setGroupSign(groupId) { return this.callApi('set_group_sign', { group_id: groupId }); }
282
- async arkSharePeer(userId) { return this.callApi('ArkSharePeer', { user_id: userId }); }
283
- async arkShareGroup(groupId) { return this.callApi('ArkShareGroup', { group_id: groupId }); }
284
- async getRobotUinRange() { return this.callApi('get_robot_uin_range'); }
285
- async setOnlineStatus(status, extStatus) { return this.callApi('set_online_status', { status, ext_status: extStatus }); }
286
- async getFriendsWithCategory() { return this.callApi('get_friends_with_category'); }
287
- async setQQAvatar(file) { return this.callApi('set_qq_avatar', { file }); }
288
- async getFile(fileId) { return this.callApi('get_file', { file_id: fileId }); }
289
- async forwardFriendSingleMsg(userId, messageId) { return this.callApi('forward_friend_single_msg', { user_id: userId, message_id: messageId }); }
290
- async forwardGroupSingleMsg(groupId, messageId) { return this.callApi('forward_group_single_msg', { group_id: groupId, message_id: messageId }); }
291
- async translateEn2Zh(sourceText) { return this.callApi('translate_en2zh', { source_text: sourceText }); }
292
- async setMsgEmojiLike(messageId, emojiId) { return this.callApi('set_msg_emoji_like', { message_id: messageId, emoji_id: emojiId }); }
293
- async sendForwardMsg(messageType, id, messages) {
294
- return this.callApi('send_forward_msg', { message_type: messageType, [messageType === 'group' ? 'group_id' : 'user_id']: id, messages });
295
- }
296
- async markPrivateMsgAsRead(userId) { return this.callApi('mark_private_msg_as_read', { user_id: userId }); }
297
- async markGroupMsgAsRead(groupId) { return this.callApi('mark_group_msg_as_read', { group_id: groupId }); }
298
- async getFriendMsgHistory(userId, messageSeq, count) { return this.callApi('get_friend_msg_history', { user_id: userId, message_seq: messageSeq, count }); }
299
- async createCollection(briefContent, rawData) { return this.callApi('create_collection', { brief: briefContent, rawData }); }
300
- async getCollectionList(page = 0, limit = 20) { return this.callApi('get_collection_list', { page, limit }); }
301
- async setSelfLongnick(longnick) { return this.callApi('set_self_longnick', { longNick: longnick }); }
302
- async getRecentContact(count = 10) { return this.callApi('get_recent_contact', { count }); }
303
- async markAllAsRead() { return this.callApi('_mark_all_as_read'); }
304
- async getProfileLike() { return this.callApi('get_profile_like'); }
305
- async fetchCustomFace() { return this.callApi('fetch_custom_face'); }
306
- async fetchEmojiLike(messageId, emojiId, emojiType) { return this.callApi('fetch_emoji_like', { message_id: messageId, emoji_id: emojiId, emoji_type: emojiType }); }
307
- async setInputStatus(userId, eventType) { return this.callApi('set_input_status', { user_id: userId, event_type: eventType }); }
308
- async getGroupInfoEx(groupId) { return this.callApi('get_group_info_ex', { group_id: groupId }); }
309
- async getGroupIgnoreAddRequest(groupId) { return this.callApi('get_group_ignore_add_request', { group_id: groupId }); }
310
- async friendPoke(userId) { return this.callApi('friend_poke', { user_id: userId }); }
311
- async groupPoke(groupId, userId) { return this.callApi('group_poke', { group_id: groupId, user_id: userId }); }
312
- async sendPoke(userId, groupId) { return this.callApi('send_poke', { user_id: userId, group_id: groupId }); }
313
- async ncGetPacketStatus() { return this.callApi('nc_get_packet_status'); }
314
- async ncGetUserStatus(userId) { return this.callApi('nc_get_user_status', { user_id: userId }); }
315
- async ncGetRkey() { return this.callApi('nc_get_rkey'); }
316
- async getGroupShutList(groupId) { return this.callApi('get_group_shut_list', { group_id: groupId }); }
317
- async getMiniAppArk(type, title, desc, picUrl, jumpUrl) {
318
- return this.callApi('get_mini_app_ark', { type, title, desc, picUrl, jumpUrl });
319
- }
320
- async getAiRecord(groupId, characterId, text) { return this.callApi('get_ai_record', { group_id: groupId, character: characterId, text }); }
321
- async getAiCharacters(groupId) { return this.callApi('get_ai_characters', { group_id: groupId }); }
322
- async sendGroupAiRecord(groupId, characterId, text) { return this.callApi('send_group_ai_record', { group_id: groupId, character: characterId, text }); }
323
- // ══════════════════════════════════════════════════════════════════
324
- // Adapter 群管理接口适配
325
- // ══════════════════════════════════════════════════════════════════
326
- async kickMember(groupId, userId, reject = false) { await this.setGroupKick(groupId, userId, reject); return true; }
327
- async muteMember(groupId, userId, duration = 600) { await this.setGroupBan(groupId, userId, duration); return true; }
328
- async muteAll(groupId, enable = true) { await this.setGroupWholeBan(groupId, enable); return true; }
329
- async setAdmin(groupId, userId, enable = true) { await this.setGroupAdmin(groupId, userId, enable); return true; }
330
- async setCard(groupId, userId, card) { await this.setGroupCard(groupId, userId, card); return true; }
331
- async setTitle(groupId, userId, title, duration = -1) { await this.setGroupSpecialTitle(groupId, userId, title, duration); return true; }
332
- async getMemberList(groupId) { return this.getGroupMemberList(groupId); }
333
- }
334
- //# sourceMappingURL=endpoint-base.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"endpoint-base.js","sourceRoot":"","sources":["../src/endpoint-base.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- import { NapCatEndpointBase } from './endpoint-base.js';
2
- import type { NapCatHttpConfig } from './types.js';
3
- import type { NapCatAdapter } from './adapter.js';
4
- import { type Router } from '@zhin.js/host-router/router';
5
- export declare class NapCatHttpEndpoint extends NapCatEndpointBase {
6
- router: Router;
7
- private pollTimer?;
8
- $config: NapCatHttpConfig;
9
- constructor(adapter: NapCatAdapter, router: Router, config: NapCatHttpConfig);
10
- $connect(): Promise<void>;
11
- $disconnect(): Promise<void>;
12
- callApi<T = any>(action: string, params?: Record<string, any>): Promise<T>;
13
- private mountWebhook;
14
- private checkConnection;
15
- private startPoll;
16
- private initTypingIndicator;
17
- }
18
- //# sourceMappingURL=endpoint-http.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"endpoint-http.d.ts","sourceRoot":"","sources":["../src/endpoint-http.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAe,MAAM,YAAY,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAsB,KAAK,MAAM,EAAsB,MAAM,6BAA6B,CAAC;AAIlG,qBAAa,kBAAmB,SAAQ,kBAAkB;IAKb,MAAM,EAAE,MAAM;IAJzD,OAAO,CAAC,SAAS,CAAC,CAAiB;IAE3B,OAAO,EAAE,gBAAgB,CAAC;gBAEtB,OAAO,EAAE,aAAa,EAAS,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB;IAI7E,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IASzB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAcpF,OAAO,CAAC,YAAY;YA0BN,eAAe;IAQ7B,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,mBAAmB;CAW5B"}
@@ -1,119 +0,0 @@
1
- /**
2
- * NapCat HTTP 连接方式
3
- * 出站:HTTP POST 调用 NapCat API
4
- * 入站:挂载 webhook 路由接收 NapCat 的 HTTP POST 事件上报
5
- */
6
- import { formatCompact } from 'zhin.js';
7
- import { NapCatEndpointBase } from './endpoint-base.js';
8
- import { registerFetchRoute } from '@zhin.js/host-router/router';
9
- import * as crypto from 'crypto';
10
- import { enableTypingIndicator } from './typing-indicator.js';
11
- export class NapCatHttpEndpoint extends NapCatEndpointBase {
12
- router;
13
- pollTimer;
14
- constructor(adapter, router, config) {
15
- super(adapter, config);
16
- this.router = router;
17
- }
18
- async $connect() {
19
- this.mountWebhook();
20
- await this.checkConnection();
21
- this.startPoll();
22
- this.$connected = true;
23
- this.initTypingIndicator();
24
- this.logger.info(formatCompact({ endpoint: this.$id, mode: 'http' }));
25
- }
26
- async $disconnect() {
27
- if (this.pollTimer) {
28
- clearInterval(this.pollTimer);
29
- this.pollTimer = undefined;
30
- }
31
- this.inboundDeduper.clear();
32
- this.$connected = false;
33
- }
34
- async callApi(action, params = {}) {
35
- const url = `${this.$config.http_url.replace(/\/$/, '')}/${action}`;
36
- const headers = { 'Content-Type': 'application/json' };
37
- if (this.$config.access_token)
38
- headers['Authorization'] = `Bearer ${this.$config.access_token}`;
39
- const resp = await fetch(url, { method: 'POST', headers, body: JSON.stringify(params) });
40
- if (!resp.ok)
41
- throw new Error(`HTTP ${resp.status} ${resp.statusText} for ${action}`);
42
- const json = await resp.json();
43
- if (json.status !== 'ok' && json.retcode !== 0) {
44
- throw new Error(`API error [${json.retcode}]: ${json.message || json.wording || 'unknown'}`);
45
- }
46
- return json.data;
47
- }
48
- mountWebhook() {
49
- const postPath = this.$config.post_path;
50
- registerFetchRoute(this.router, 'POST', postPath, async (ctx) => {
51
- const body = ctx.request.body;
52
- if (!body || typeof body !== 'object') {
53
- ctx.status = 400;
54
- ctx.body = { error: 'invalid body' };
55
- return;
56
- }
57
- if (this.$config.access_token) {
58
- const sig = ctx.get('x-signature');
59
- const authHeader = ctx.get('authorization');
60
- if (sig) {
61
- const expected = 'sha1=' + crypto.createHmac('sha1', this.$config.access_token).update(JSON.stringify(body)).digest('hex');
62
- if (sig !== expected) {
63
- ctx.status = 403;
64
- ctx.body = { error: 'signature mismatch' };
65
- return;
66
- }
67
- }
68
- else if (authHeader) {
69
- if (authHeader !== `Bearer ${this.$config.access_token}`) {
70
- ctx.status = 403;
71
- ctx.body = { error: 'auth failed' };
72
- return;
73
- }
74
- }
75
- }
76
- ctx.status = 204;
77
- ctx.body = '';
78
- try {
79
- this.dispatchEvent(body);
80
- }
81
- catch (e) {
82
- this.logger.warn(formatCompact({ op: 'recv', endpoint: this.$id, ok: false, error: String(e) }));
83
- }
84
- });
85
- this.logger.info(formatCompact({ op: 'webhook', endpoint: this.$id, path: postPath }));
86
- }
87
- async checkConnection() {
88
- try {
89
- await this.callApi('get_login_info');
90
- }
91
- catch (e) {
92
- throw new Error(`${this.$id} cannot connect to NapCat HTTP API at ${this.$config.http_url}: ${e}`);
93
- }
94
- }
95
- startPoll() {
96
- const interval = this.$config.poll_interval || 30000;
97
- this.pollTimer = setInterval(async () => {
98
- try {
99
- await this.callApi('get_status');
100
- }
101
- catch {
102
- this.$connected = false;
103
- this.logger.warn(formatCompact({ op: 'heartbeat', endpoint: this.$id, ok: false }));
104
- }
105
- }, interval);
106
- }
107
- initTypingIndicator() {
108
- const tiConfig = this.$config.typingIndicator;
109
- if (tiConfig && tiConfig.enabled !== false) {
110
- enableTypingIndicator(this, {
111
- enabled: true,
112
- defaultEmoji: tiConfig.defaultEmoji || '128516',
113
- autoRemove: true,
114
- removeDelay: 5000,
115
- });
116
- }
117
- }
118
- }
119
- //# sourceMappingURL=endpoint-http.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"endpoint-http.js","sourceRoot":"","sources":["../src/endpoint-http.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import { NapCatEndpointBase } from './endpoint-base.js';
2
- import type { NapCatWsClientConfig } from './types.js';
3
- import type { NapCatAdapter } from './adapter.js';
4
- export declare class NapCatWsClient extends NapCatEndpointBase {
5
- private ws?;
6
- private reconnectTimer?;
7
- private heartbeatTimer?;
8
- private requestId;
9
- private pendingRequests;
10
- $config: NapCatWsClientConfig;
11
- constructor(adapter: NapCatAdapter, config: NapCatWsClientConfig);
12
- $connect(): Promise<void>;
13
- $disconnect(): Promise<void>;
14
- callApi<T = any>(action: string, params?: Record<string, any>): Promise<T>;
15
- private handleWsMessage;
16
- private startHeartbeat;
17
- private scheduleReconnect;
18
- protected handleMeta(event: any): void;
19
- private initTypingIndicator;
20
- }
21
- //# sourceMappingURL=endpoint-ws-client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"endpoint-ws-client.d.ts","sourceRoot":"","sources":["../src/endpoint-ws-client.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAe,MAAM,YAAY,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGlD,qBAAa,cAAe,SAAQ,kBAAkB;IACpD,OAAO,CAAC,EAAE,CAAC,CAAY;IACvB,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,eAAe,CAIlB;IAEG,OAAO,EAAE,oBAAoB,CAAC;gBAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,oBAAoB;IAI1D,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IA0DzB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAU5B,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAUpF,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,iBAAiB;IASzB,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAMtC,OAAO,CAAC,mBAAmB;CAwB5B"}