@zhin.js/adapter-napcat 1.0.0 → 1.1.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.
Files changed (159) hide show
  1. package/CHANGELOG.md +674 -0
  2. package/README.md +60 -95
  3. package/adapters/napcat.js +47 -0
  4. package/adapters/napcat.ts +64 -0
  5. package/agent/PERMITS.md +19 -0
  6. package/{skills/napcat/SKILL.md → agent/skills/napcat.md} +6 -6
  7. package/agent/tools/ai_tts.ts +19 -0
  8. package/agent/tools/del_group_notice.ts +20 -0
  9. package/agent/tools/delete_essence_msg.ts +19 -0
  10. package/agent/tools/delete_friend.ts +18 -0
  11. package/agent/tools/download_file.ts +17 -0
  12. package/agent/tools/forward_single_msg.ts +28 -0
  13. package/agent/tools/get_ai_characters.ts +17 -0
  14. package/agent/tools/get_essence_list.ts +17 -0
  15. package/agent/tools/get_friend_msg_history.ts +18 -0
  16. package/agent/tools/get_group_file_url.ts +19 -0
  17. package/agent/tools/get_group_info_ex.ts +17 -0
  18. package/agent/tools/get_group_msg_history.ts +19 -0
  19. package/agent/tools/get_group_notice.ts +17 -0
  20. package/agent/tools/get_group_root_files.ts +17 -0
  21. package/agent/tools/get_group_shut_list.ts +17 -0
  22. package/agent/tools/get_mini_app_ark.ts +20 -0
  23. package/agent/tools/get_user_status.ts +16 -0
  24. package/agent/tools/group_sign.ts +18 -0
  25. package/agent/tools/mark_msg_as_read.ts +17 -0
  26. package/agent/tools/ocr_image.ts +16 -0
  27. package/agent/tools/send_forward_msg.ts +27 -0
  28. package/agent/tools/send_group_notice.ts +21 -0
  29. package/agent/tools/send_like.ts +18 -0
  30. package/agent/tools/send_poke.ts +18 -0
  31. package/agent/tools/set_avatar.ts +17 -0
  32. package/agent/tools/set_emoji_reaction.ts +18 -0
  33. package/agent/tools/set_essence_msg.ts +19 -0
  34. package/agent/tools/set_group_portrait.ts +20 -0
  35. package/agent/tools/set_online_status.ts +18 -0
  36. package/agent/tools/set_profile.ts +21 -0
  37. package/agent/tools/set_signature.ts +17 -0
  38. package/agent/tools/set_title.ts +21 -0
  39. package/agent/tools/translate.ts +16 -0
  40. package/agent/tools/upload_group_file.ts +21 -0
  41. package/commands/endpoint/add/[id].js +3 -0
  42. package/commands/endpoint/add/[id].ts +3 -0
  43. package/commands/endpoint/list.js +3 -0
  44. package/commands/endpoint/list.ts +3 -0
  45. package/commands/endpoint/remove/[id].js +3 -0
  46. package/commands/endpoint/remove/[id].ts +3 -0
  47. package/lib/client.d.ts +52 -0
  48. package/lib/client.js +62 -0
  49. package/lib/endpoint-management.d.ts +15 -0
  50. package/lib/endpoint-management.js +47 -0
  51. package/lib/http-endpoint.d.ts +27 -0
  52. package/lib/http-endpoint.js +177 -0
  53. package/lib/index.d.ts +11 -22
  54. package/lib/index.js +10 -58
  55. package/lib/napcat-endpoint-commands.d.ts +1 -0
  56. package/lib/napcat-endpoint-commands.js +28 -0
  57. package/lib/napcat-inbound.d.ts +12 -5
  58. package/lib/napcat-inbound.js +28 -13
  59. package/lib/napcat-runtime-state.d.ts +1 -0
  60. package/lib/napcat-runtime-state.js +6 -0
  61. package/lib/onebot-get-msg.d.ts +16 -3
  62. package/lib/onebot-get-msg.js +53 -1
  63. package/lib/protocol.d.ts +165 -0
  64. package/lib/protocol.js +305 -0
  65. package/lib/side-event-dispatch.d.ts +7 -0
  66. package/lib/side-event-dispatch.js +36 -0
  67. package/lib/webhook.d.ts +2 -0
  68. package/lib/webhook.js +14 -0
  69. package/lib/ws-endpoint.d.ts +27 -0
  70. package/lib/ws-endpoint.js +241 -0
  71. package/lib/ws-transport.d.ts +13 -0
  72. package/lib/ws-transport.js +75 -0
  73. package/lib/ws-types.d.ts +17 -0
  74. package/lib/ws-types.js +1 -0
  75. package/lib/wss-auth.d.ts +2 -0
  76. package/lib/wss-auth.js +16 -0
  77. package/lib/wss-endpoint.d.ts +26 -0
  78. package/lib/wss-endpoint.js +187 -0
  79. package/package.json +62 -30
  80. package/plugin.js +18 -0
  81. package/schema.json +110 -0
  82. package/src/client.ts +79 -0
  83. package/src/endpoint-management.ts +72 -0
  84. package/src/http-endpoint.ts +234 -0
  85. package/src/index.ts +63 -85
  86. package/src/napcat-endpoint-commands.ts +26 -0
  87. package/src/napcat-inbound.ts +34 -10
  88. package/src/napcat-runtime-state.ts +7 -0
  89. package/src/onebot-get-msg.ts +69 -5
  90. package/src/protocol.ts +468 -0
  91. package/src/side-event-dispatch.ts +48 -0
  92. package/src/webhook.ts +16 -0
  93. package/src/ws-endpoint.ts +301 -0
  94. package/src/ws-transport.ts +105 -0
  95. package/src/ws-types.ts +20 -0
  96. package/src/wss-auth.ts +17 -0
  97. package/src/wss-endpoint.ts +242 -0
  98. package/client/NapCatManagement.tsx +0 -113
  99. package/client/index.tsx +0 -11
  100. package/client/tsconfig.json +0 -7
  101. package/client/utils/api.ts +0 -30
  102. package/dist/index.js +0 -27
  103. package/lib/adapter.d.ts +0 -27
  104. package/lib/adapter.d.ts.map +0 -1
  105. package/lib/adapter.js +0 -93
  106. package/lib/adapter.js.map +0 -1
  107. package/lib/agent-prompt.d.ts +0 -3
  108. package/lib/agent-prompt.d.ts.map +0 -1
  109. package/lib/agent-prompt.js +0 -105
  110. package/lib/agent-prompt.js.map +0 -1
  111. package/lib/bot-base.d.ts +0 -143
  112. package/lib/bot-base.d.ts.map +0 -1
  113. package/lib/bot-base.js +0 -334
  114. package/lib/bot-base.js.map +0 -1
  115. package/lib/bot-http.d.ts +0 -18
  116. package/lib/bot-http.d.ts.map +0 -1
  117. package/lib/bot-http.js +0 -119
  118. package/lib/bot-http.js.map +0 -1
  119. package/lib/bot-ws-client.d.ts +0 -21
  120. package/lib/bot-ws-client.d.ts.map +0 -1
  121. package/lib/bot-ws-client.js +0 -165
  122. package/lib/bot-ws-client.js.map +0 -1
  123. package/lib/bot-ws-server.d.ts +0 -21
  124. package/lib/bot-ws-server.d.ts.map +0 -1
  125. package/lib/bot-ws-server.js +0 -150
  126. package/lib/bot-ws-server.js.map +0 -1
  127. package/lib/index.d.ts.map +0 -1
  128. package/lib/index.js.map +0 -1
  129. package/lib/napcat-inbound.d.ts.map +0 -1
  130. package/lib/napcat-inbound.js.map +0 -1
  131. package/lib/onebot-get-msg.d.ts.map +0 -1
  132. package/lib/onebot-get-msg.js.map +0 -1
  133. package/lib/routes.d.ts +0 -4
  134. package/lib/routes.d.ts.map +0 -1
  135. package/lib/routes.js +0 -61
  136. package/lib/routes.js.map +0 -1
  137. package/lib/tools.d.ts +0 -8
  138. package/lib/tools.d.ts.map +0 -1
  139. package/lib/tools.js +0 -605
  140. package/lib/tools.js.map +0 -1
  141. package/lib/types.d.ts +0 -293
  142. package/lib/types.d.ts.map +0 -1
  143. package/lib/types.js +0 -6
  144. package/lib/types.js.map +0 -1
  145. package/lib/typing-indicator.d.ts +0 -45
  146. package/lib/typing-indicator.d.ts.map +0 -1
  147. package/lib/typing-indicator.js +0 -132
  148. package/lib/typing-indicator.js.map +0 -1
  149. package/plugin.yml +0 -3
  150. package/src/adapter.ts +0 -99
  151. package/src/agent-prompt.ts +0 -114
  152. package/src/bot-base.ts +0 -376
  153. package/src/bot-http.ts +0 -109
  154. package/src/bot-ws-client.ts +0 -164
  155. package/src/bot-ws-server.ts +0 -150
  156. package/src/routes.ts +0 -61
  157. package/src/tools.ts +0 -632
  158. package/src/types.ts +0 -279
  159. package/src/typing-indicator.ts +0 -184
package/lib/types.d.ts DELETED
@@ -1,293 +0,0 @@
1
- /**
2
- * NapCat 适配器类型定义
3
- * 覆盖 OneBot11 标准 + go-cqhttp 扩展 + NapCat 独有 API
4
- */
5
- export interface TypingIndicatorConfig {
6
- /** 是否启用(默认 true) */
7
- enabled?: boolean;
8
- /** 默认表情 ID */
9
- defaultEmoji?: string;
10
- /** 私聊配置 */
11
- privateConfig?: {
12
- type?: 'message' | 'typing';
13
- message?: string;
14
- };
15
- /** 群聊配置 */
16
- groupConfig?: {
17
- type?: 'reaction';
18
- emoji?: string;
19
- };
20
- }
21
- export interface NapCatConfigBase {
22
- context: 'napcat';
23
- name: string;
24
- access_token?: string;
25
- /** Typing Indicator 配置 */
26
- typingIndicator?: TypingIndicatorConfig;
27
- }
28
- /** 正向 WebSocket */
29
- export interface NapCatWsClientConfig extends NapCatConfigBase {
30
- connection: 'ws';
31
- url: string;
32
- reconnect_interval?: number;
33
- heartbeat_interval?: number;
34
- }
35
- /** 反向 WebSocket */
36
- export interface NapCatWsServerConfig extends NapCatConfigBase {
37
- connection: 'wss';
38
- path: string;
39
- heartbeat_interval?: number;
40
- }
41
- /** HTTP API + POST 上报 */
42
- export interface NapCatHttpConfig extends NapCatConfigBase {
43
- connection: 'http';
44
- /** NapCat HTTP API 地址,如 http://127.0.0.1:3000 */
45
- http_url: string;
46
- /** HTTP POST 事件上报接收路径,如 /napcat/post */
47
- post_path: string;
48
- /** 轮询间隔(ms),用于 HTTP 心跳检测,默认 30000 */
49
- poll_interval?: number;
50
- }
51
- export type NapCatBotConfig = NapCatWsClientConfig | NapCatWsServerConfig | NapCatHttpConfig;
52
- export interface ApiResponse<T = any> {
53
- status: string;
54
- retcode: number;
55
- data: T;
56
- echo?: string;
57
- message?: string;
58
- wording?: string;
59
- }
60
- export interface MessageSegment {
61
- type: string;
62
- data: Record<string, any>;
63
- }
64
- export interface NapCatEvent {
65
- post_type: 'message' | 'message_sent' | 'notice' | 'request' | 'meta_event';
66
- self_id: number;
67
- time: number;
68
- }
69
- export interface NapCatMessageEvent extends NapCatEvent {
70
- post_type: 'message' | 'message_sent';
71
- message_type: 'private' | 'group';
72
- sub_type: string;
73
- message_id: number;
74
- user_id: number;
75
- group_id?: number;
76
- message: MessageSegment[];
77
- raw_message: string;
78
- font: number;
79
- sender: {
80
- user_id: number;
81
- nickname: string;
82
- card?: string;
83
- sex?: string;
84
- age?: number;
85
- area?: string;
86
- level?: string;
87
- role?: 'owner' | 'admin' | 'member';
88
- title?: string;
89
- };
90
- }
91
- export interface NapCatNoticeEvent extends NapCatEvent {
92
- post_type: 'notice';
93
- notice_type: string;
94
- sub_type?: string;
95
- group_id?: number;
96
- user_id?: number;
97
- operator_id?: number;
98
- message_id?: number;
99
- target_id?: number;
100
- file?: {
101
- id: string;
102
- name: string;
103
- size: number;
104
- busid: number;
105
- url?: string;
106
- };
107
- duration?: number;
108
- sender_id?: number;
109
- title?: string;
110
- action?: string;
111
- suffix?: string;
112
- comment?: string;
113
- flag?: string;
114
- }
115
- export interface NapCatRequestEvent extends NapCatEvent {
116
- post_type: 'request';
117
- request_type: 'friend' | 'group';
118
- sub_type?: string;
119
- user_id: number;
120
- group_id?: number;
121
- comment?: string;
122
- flag: string;
123
- }
124
- export interface NapCatMetaEvent extends NapCatEvent {
125
- post_type: 'meta_event';
126
- meta_event_type: string;
127
- sub_type?: string;
128
- status?: any;
129
- interval?: number;
130
- }
131
- export interface SenderInfo {
132
- id: string;
133
- name: string;
134
- role?: 'owner' | 'admin' | 'member';
135
- isOwner?: boolean;
136
- isAdmin?: boolean;
137
- card?: string;
138
- title?: string;
139
- }
140
- export interface LoginInfo {
141
- user_id: number;
142
- nickname: string;
143
- }
144
- export interface StrangerInfo {
145
- user_id: number;
146
- nickname: string;
147
- sex: string;
148
- age: number;
149
- qid?: string;
150
- level?: number;
151
- login_days?: number;
152
- }
153
- export interface FriendInfo {
154
- user_id: number;
155
- nickname: string;
156
- remark: string;
157
- }
158
- export interface GroupInfo {
159
- group_id: number;
160
- group_name: string;
161
- group_memo?: string;
162
- group_create_time?: number;
163
- group_level?: number;
164
- member_count: number;
165
- max_member_count: number;
166
- }
167
- export interface GroupMemberInfo {
168
- group_id: number;
169
- user_id: number;
170
- nickname: string;
171
- card: string;
172
- sex: string;
173
- age: number;
174
- area: string;
175
- join_time: number;
176
- last_sent_time: number;
177
- level: string;
178
- role: 'owner' | 'admin' | 'member';
179
- unfriendly: boolean;
180
- title: string;
181
- title_expire_time: number;
182
- card_changeable: boolean;
183
- shut_up_timestamp?: number;
184
- }
185
- export interface MessageInfo {
186
- time: number;
187
- message_type: string;
188
- message_id: number;
189
- real_id: number;
190
- sender: {
191
- user_id: number;
192
- nickname: string;
193
- card?: string;
194
- };
195
- message: MessageSegment[];
196
- }
197
- export interface ForwardMessage {
198
- messages: Array<{
199
- content: MessageSegment[];
200
- sender: {
201
- nickname: string;
202
- user_id: number;
203
- };
204
- time: number;
205
- }>;
206
- }
207
- export interface GroupHonorInfo {
208
- group_id: number;
209
- current_talkative?: {
210
- user_id: number;
211
- nickname: string;
212
- avatar: string;
213
- day_count: number;
214
- };
215
- talkative_list?: any[];
216
- performer_list?: any[];
217
- legend_list?: any[];
218
- strong_newbie_list?: any[];
219
- emotion_list?: any[];
220
- }
221
- export interface EssenceMessage {
222
- sender_id: number;
223
- sender_nick: string;
224
- sender_time: number;
225
- operator_id: number;
226
- operator_nick: string;
227
- operator_time: number;
228
- message_id: number;
229
- }
230
- export interface GroupFileSystemInfo {
231
- file_count: number;
232
- limit_count: number;
233
- used_space: number;
234
- total_space: number;
235
- }
236
- export interface GroupFileInfo {
237
- files: Array<{
238
- group_id: number;
239
- file_id: string;
240
- file_name: string;
241
- busid: number;
242
- file_size: number;
243
- upload_time: number;
244
- dead_time: number;
245
- modify_time: number;
246
- download_times: number;
247
- uploader: number;
248
- uploader_name: string;
249
- }>;
250
- folders: Array<{
251
- group_id: number;
252
- folder_id: string;
253
- folder_name: string;
254
- create_time: number;
255
- creator: number;
256
- creator_name: string;
257
- total_file_count: number;
258
- }>;
259
- }
260
- export interface GroupNotice {
261
- sender_id: number;
262
- publish_time: number;
263
- message: {
264
- text: string;
265
- images?: Array<{
266
- id: string;
267
- height: string;
268
- width: string;
269
- }>;
270
- };
271
- }
272
- export interface VersionInfo {
273
- app_name: string;
274
- app_version: string;
275
- protocol_version: string;
276
- [key: string]: any;
277
- }
278
- export interface OnlineStatus {
279
- status: number;
280
- ext_status: number;
281
- }
282
- export interface AiCharacter {
283
- character_id: string;
284
- character_name: string;
285
- preview_url?: string;
286
- }
287
- export interface CollectionItem {
288
- id: string;
289
- type: number;
290
- content: string;
291
- create_time: number;
292
- }
293
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/lib/types.js DELETED
@@ -1,6 +0,0 @@
1
- /**
2
- * NapCat 适配器类型定义
3
- * 覆盖 OneBot11 标准 + go-cqhttp 扩展 + NapCat 独有 API
4
- */
5
- export {};
6
- //# sourceMappingURL=types.js.map
package/lib/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -1,45 +0,0 @@
1
- /**
2
- * NapCat Typing Indicator 集成
3
- *
4
- * 群聊:set_msg_emoji_like(表情回应)
5
- * 私聊:set_input_status(输入状态)或短暂提示消息
6
- */
7
- import type { NapCatBotBase } from './bot-base.js';
8
- import { type TypingIndicatorConfig, type TypingIndicator } from '@zhin.js/agent';
9
- export interface NapCatTypingIndicatorConfig {
10
- enabled: boolean;
11
- defaultEmoji: string;
12
- autoRemove: boolean;
13
- removeDelay: number;
14
- privateConfig?: Partial<TypingIndicatorConfig>;
15
- groupConfig?: Partial<TypingIndicatorConfig>;
16
- }
17
- export declare class NapCatTypingIndicatorManager {
18
- private manager;
19
- private config;
20
- private bot;
21
- constructor(bot: NapCatBotBase, config?: Partial<NapCatTypingIndicatorConfig>);
22
- private registerAdapter;
23
- start(options: {
24
- messageId?: string;
25
- sessionId: string;
26
- userId?: string;
27
- groupId?: string;
28
- sceneType: 'private' | 'group';
29
- }): Promise<TypingIndicator>;
30
- stop(options: {
31
- sessionId: string;
32
- userId?: string;
33
- groupId?: string;
34
- }): Promise<void>;
35
- stopAll(): Promise<void>;
36
- updateConfig(config: Partial<NapCatTypingIndicatorConfig>): void;
37
- getConfig(): NapCatTypingIndicatorConfig;
38
- }
39
- declare module './bot-base.js' {
40
- interface NapCatBotBase {
41
- $typingIndicator?: NapCatTypingIndicatorManager;
42
- }
43
- }
44
- export declare function enableTypingIndicator(bot: NapCatBotBase, config?: Partial<NapCatTypingIndicatorConfig>): NapCatTypingIndicatorManager;
45
- //# sourceMappingURL=typing-indicator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"typing-indicator.d.ts","sourceRoot":"","sources":["../src/typing-indicator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAIL,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACrB,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC/C,WAAW,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;CAC9C;AAqBD,qBAAa,4BAA4B;IACvC,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,GAAG,CAAgB;gBAEf,GAAG,EAAE,aAAa,EAAE,MAAM,GAAE,OAAO,CAAC,2BAA2B,CAAM;IAYjF,OAAO,CAAC,eAAe;IA0CjB,KAAK,CAAC,OAAO,EAAE;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC;KAChC,GAAG,OAAO,CAAC,eAAe,CAAC;IA+BtB,IAAI,CAAC,OAAO,EAAE;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,IAAI,CAAC;IAYX,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,2BAA2B,CAAC,GAAG,IAAI;IAIhE,SAAS,IAAI,2BAA2B;CAGzC;AAED,OAAO,QAAQ,eAAe,CAAC;IAC7B,UAAU,aAAa;QACrB,gBAAgB,CAAC,EAAE,4BAA4B,CAAC;KACjD;CACF;AAED,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,aAAa,EAClB,MAAM,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,GAC5C,4BAA4B,CAK9B"}
@@ -1,132 +0,0 @@
1
- /**
2
- * NapCat Typing Indicator 集成
3
- *
4
- * 群聊:set_msg_emoji_like(表情回应)
5
- * 私聊:set_input_status(输入状态)或短暂提示消息
6
- */
7
- import { TypingIndicatorManager, ReactionTypingIndicatorAdapter, } from '@zhin.js/agent';
8
- const DEFAULT_CONFIG = {
9
- enabled: true,
10
- defaultEmoji: '128516',
11
- autoRemove: true,
12
- removeDelay: 5000,
13
- privateConfig: {
14
- type: 'message',
15
- message: '正在思考中...',
16
- autoRemove: true,
17
- removeDelay: 3000,
18
- },
19
- groupConfig: {
20
- type: 'reaction',
21
- emoji: '128516',
22
- autoRemove: true,
23
- removeDelay: 5000,
24
- },
25
- };
26
- export class NapCatTypingIndicatorManager {
27
- manager;
28
- config;
29
- bot;
30
- constructor(bot, config = {}) {
31
- this.bot = bot;
32
- this.config = { ...DEFAULT_CONFIG, ...config };
33
- this.manager = new TypingIndicatorManager({
34
- type: 'reaction',
35
- emoji: this.config.defaultEmoji,
36
- autoRemove: this.config.autoRemove,
37
- removeDelay: this.config.removeDelay,
38
- });
39
- this.registerAdapter();
40
- }
41
- registerAdapter() {
42
- const adapter = new ReactionTypingIndicatorAdapter('napcat', async (messageId, emoji, _options) => {
43
- return await this.bot.$addReaction(messageId, emoji);
44
- }, async (messageId, reactionId) => {
45
- await this.bot.$removeReaction(messageId, reactionId);
46
- }, async (options, content) => {
47
- try {
48
- if (options.sceneType === 'group' && options.groupId) {
49
- return await this.bot.$sendMessage({
50
- type: 'group',
51
- id: options.groupId,
52
- context: 'napcat',
53
- bot: this.bot.$id,
54
- content: [{ type: 'text', data: { text: content } }],
55
- });
56
- }
57
- else if (options.userId) {
58
- return await this.bot.$sendMessage({
59
- type: 'private',
60
- id: options.userId,
61
- context: 'napcat',
62
- bot: this.bot.$id,
63
- content: [{ type: 'text', data: { text: content } }],
64
- });
65
- }
66
- return null;
67
- }
68
- catch {
69
- return null;
70
- }
71
- }, async (messageId) => {
72
- try {
73
- await this.bot.$recallMessage(messageId);
74
- }
75
- catch { /* ignore */ }
76
- });
77
- this.manager.registerAdapter(adapter);
78
- }
79
- async start(options) {
80
- this.bot.logger.debug('[NapCat:TypingIndicator] start called', {
81
- enabled: this.config.enabled,
82
- sceneType: options.sceneType,
83
- });
84
- if (!this.config.enabled) {
85
- return {
86
- start: async () => { },
87
- stop: async () => { },
88
- isActive: () => false,
89
- };
90
- }
91
- const config = options.sceneType === 'group'
92
- ? this.config.groupConfig
93
- : this.config.privateConfig;
94
- const typingOptions = {
95
- messageId: options.messageId,
96
- sessionId: options.sessionId,
97
- userId: options.userId,
98
- groupId: options.groupId,
99
- platform: 'napcat',
100
- botId: this.bot.$id,
101
- sceneType: options.sceneType,
102
- };
103
- return await this.manager.start(typingOptions, config);
104
- }
105
- async stop(options) {
106
- const typingOptions = {
107
- sessionId: options.sessionId,
108
- userId: options.userId,
109
- groupId: options.groupId,
110
- platform: 'napcat',
111
- botId: this.bot.$id,
112
- sceneType: 'private',
113
- };
114
- await this.manager.stop(typingOptions);
115
- }
116
- async stopAll() {
117
- await this.manager.stopAll();
118
- }
119
- updateConfig(config) {
120
- this.config = { ...this.config, ...config };
121
- }
122
- getConfig() {
123
- return { ...this.config };
124
- }
125
- }
126
- export function enableTypingIndicator(bot, config) {
127
- if (!bot.$typingIndicator) {
128
- bot.$typingIndicator = new NapCatTypingIndicatorManager(bot, config);
129
- }
130
- return bot.$typingIndicator;
131
- }
132
- //# sourceMappingURL=typing-indicator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"typing-indicator.js","sourceRoot":"","sources":["../src/typing-indicator.ts"],"names":[],"mappings":"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"}
package/plugin.yml DELETED
@@ -1,3 +0,0 @@
1
- name: adapter-napcat
2
- description: NapCatQQ 适配器:OneBot11 + go-cqhttp 扩展 + NapCat 独有 API(戳一戳、表情回应、AI语音、群文件、精华消息、群公告等)
3
- version: 0.1.13
package/src/adapter.ts DELETED
@@ -1,99 +0,0 @@
1
- /**
2
- * NapCat 适配器:支持正向 WS / 反向 WS / HTTP
3
- */
4
- import { formatCompact, Adapter, Plugin } from 'zhin.js';
5
- import type { Router } from '@zhin.js/host-router';
6
- import { NapCatWsClient } from './bot-ws-client.js';
7
- import { NapCatWsServer } from './bot-ws-server.js';
8
- import { NapCatHttpBot } from './bot-http.js';
9
- import type { NapCatBotConfig, NapCatWsClientConfig, NapCatWsServerConfig, NapCatHttpConfig } from './types.js';
10
-
11
- export type NapCatBot = NapCatWsClient | NapCatWsServer | NapCatHttpBot;
12
-
13
- export class NapCatAdapter extends Adapter<NapCatBot> {
14
- #router?: Router;
15
-
16
- constructor(plugin: Plugin) {
17
- super(plugin, 'napcat', []);
18
- }
19
-
20
- createBot(config: NapCatBotConfig): NapCatBot {
21
- const connection = config.connection ?? 'ws';
22
- switch (connection) {
23
- case 'ws':
24
- return new NapCatWsClient(this, config as NapCatWsClientConfig);
25
- case 'wss':
26
- if (!this.#router) throw new Error('NapCat connection: wss requires router. Enable @zhin.js/host-router first.');
27
- return new NapCatWsServer(this, this.#router, config as NapCatWsServerConfig);
28
- case 'http':
29
- if (!this.#router) throw new Error('NapCat connection: http requires router. Enable @zhin.js/host-router first.');
30
- return new NapCatHttpBot(this, this.#router, config as NapCatHttpConfig);
31
- default:
32
- throw new Error(`Unknown NapCat connection: ${connection}`);
33
- }
34
- }
35
-
36
- // ── 群管理接口(IGroupManagement 适配)──────────────────────────
37
-
38
- async kickMember(botId: string, sceneId: string, userId: string) {
39
- const bot = this.bots.get(botId);
40
- if (!bot) throw new Error(`Bot ${botId} not found`);
41
- return bot.kickMember(Number(sceneId), Number(userId));
42
- }
43
-
44
- async muteMember(botId: string, sceneId: string, userId: string, duration = 600) {
45
- const bot = this.bots.get(botId);
46
- if (!bot) throw new Error(`Bot ${botId} not found`);
47
- return bot.muteMember(Number(sceneId), Number(userId), duration);
48
- }
49
-
50
- async muteAll(botId: string, sceneId: string, enable = true) {
51
- const bot = this.bots.get(botId);
52
- if (!bot) throw new Error(`Bot ${botId} not found`);
53
- return bot.muteAll(Number(sceneId), enable);
54
- }
55
-
56
- async setAdmin(botId: string, sceneId: string, userId: string, enable = true) {
57
- const bot = this.bots.get(botId);
58
- if (!bot) throw new Error(`Bot ${botId} not found`);
59
- return bot.setAdmin(Number(sceneId), Number(userId), enable);
60
- }
61
-
62
- async setMemberNickname(botId: string, sceneId: string, userId: string, nickname: string) {
63
- const bot = this.bots.get(botId);
64
- if (!bot) throw new Error(`Bot ${botId} not found`);
65
- return bot.setCard(Number(sceneId), Number(userId), nickname);
66
- }
67
-
68
- async setGroupName(botId: string, sceneId: string, name: string) {
69
- const bot = this.bots.get(botId);
70
- if (!bot) throw new Error(`Bot ${botId} not found`);
71
- return bot.setGroupName(Number(sceneId), name);
72
- }
73
-
74
- async listMembers(botId: string, sceneId: string) {
75
- const bot = this.bots.get(botId);
76
- if (!bot) throw new Error(`Bot ${botId} not found`);
77
- const members = await bot.getMemberList(Number(sceneId));
78
- return {
79
- members: members.map((m: any) => ({
80
- user_id: m.user_id, nickname: m.nickname, card: m.card, role: m.role, title: m.title,
81
- })),
82
- count: members.length,
83
- };
84
- }
85
-
86
- async getGroupInfo(botId: string, sceneId: string) {
87
- const bot = this.bots.get(botId);
88
- if (!bot) throw new Error(`Bot ${botId} not found`);
89
- return bot.getGroupInfo(Number(sceneId));
90
- }
91
-
92
- async start(): Promise<void> {
93
- this.#router = (this.plugin.inject as (key: string) => Router | undefined)('router');
94
- (this.plugin.useContext as (key: string, fn: (router: Router) => void) => void)('router', (router: Router) => {
95
- this.#router = router;
96
- });
97
- await super.start();
98
- }
99
- }