Compare commits

...

312 Commits

Author SHA1 Message Date
手瓜一十雪
0ff6edd546 style: lint 2024-06-02 20:49:09 +08:00
手瓜一十雪
94f629585a build: v1.4.8-beta2 2024-06-02 20:40:41 +08:00
手瓜一十雪
89c04be02f fix 2024-06-02 13:58:51 +08:00
手瓜一十雪
3151965ea8 build: 1.3.8-beta1 2024-06-02 13:45:48 +08:00
手瓜一十雪
bdf5159be1 refactor: guid 2024-06-02 13:38:33 +08:00
手瓜一十雪
0499ebbea3 release: v1.4.7 2024-06-01 15:52:06 +08:00
手瓜一十雪
d5843b7236 refactor: v1.4.6 2024-06-01 14:09:16 +08:00
手瓜一十雪
1c9c574a90 refactor: v1.4.6 2024-06-01 14:08:10 +08:00
手瓜一十雪
39acf20e48 release: v1.4.6 2024-06-01 14:05:44 +08:00
手瓜一十雪
52eb6ed5ab refactor: group call 2024-06-01 14:02:43 +08:00
手瓜一十雪
ee78d2d59d fix: type hint 2024-06-01 12:14:37 +08:00
手瓜一十雪
60dc5c4a38 refactor: re groupList 2024-06-01 12:10:50 +08:00
手瓜一十雪
50a0dc0355 refactor: GroupListGet 2024-06-01 11:38:50 +08:00
手瓜一十雪
3f681ec914 refactor:NT Event Finish 2024-05-31 23:33:23 +08:00
手瓜一十雪
0bf499f191 release: v1.4.5 2024-05-31 21:25:47 +08:00
手瓜一十雪
389695a0d6 fix: 1.4.5 2024-05-31 21:22:17 +08:00
手瓜一十雪
07f1afb312 fix 2024-05-31 21:03:00 +08:00
手瓜一十雪
ae91e61304 refactor:NTEvent 2024-05-31 21:02:39 +08:00
手瓜一十雪
6248991b01 refactor: NTEvent 2024-05-31 20:38:31 +08:00
手瓜一十雪
7f2d57ef62 refactor: event 2024-05-31 20:29:01 +08:00
手瓜一十雪
31f8f884f1 refactor: NTEvent 2024-05-31 19:09:03 +08:00
手瓜一十雪
4f4af5985a fix: type check & type output 2024-05-31 18:55:18 +08:00
手瓜一十雪
a716fdf6d4 refactor:NTEventDispatch 2024-05-31 14:07:35 +08:00
手瓜一十雪
9717f64abd refactor:NTEvent 2024-05-31 13:55:28 +08:00
手瓜一十雪
adf239183a docs: change 2024-05-31 10:12:59 +08:00
手瓜一十雪
6cf209c79c release: v1.4.4 2024-05-30 22:45:57 +08:00
手瓜一十雪
decc5fb3c0 refactor: checkDate 2024-05-30 22:41:51 +08:00
手瓜一十雪
1e0820d613 refactor: send rate 2024-05-30 22:38:02 +08:00
手瓜一十雪
70124d5177 refactor: GoCQHTTPUploadGroupFile 2024-05-30 22:32:09 +08:00
手瓜一十雪
269de65201 fix: undel 2024-05-30 20:53:58 +08:00
手瓜一十雪
1d11abbfb6 refactor: NTEvent 2024-05-30 19:40:40 +08:00
手瓜一十雪
700f308d6e feat: wrap NT-Event 2024-05-30 17:28:08 +08:00
手瓜一十雪
21b6928ca6 chore: sync core 2024-05-30 16:24:09 +08:00
手瓜一十雪
998c67a649 release: v1.4.3 2024-05-30 16:21:39 +08:00
Version
fb99e878b0 chore:version change 2024-05-30 04:36:42 +00:00
手瓜一十雪
1619adfc27 release: v1.4.2 2024-05-30 12:36:15 +08:00
手瓜一十雪
5510fb473f fix: typo 2024-05-30 12:02:47 +08:00
手瓜一十雪
be1878cb2b build: 1.4.2-fix:file list 2024-05-30 11:01:34 +08:00
手瓜一十雪
15ab121cbd fix: config 2024-05-29 14:26:45 +08:00
手瓜一十雪
aa79b0e861 fix: ocr 2024-05-29 14:18:43 +08:00
手瓜一十雪
b80e550bcd docs: 1.4.2 2024-05-29 12:14:17 +08:00
手瓜一十雪
dbc40b5814 release:1.4.1 2024-05-29 11:38:57 +08:00
Version
0d5696a644 chore:version change 2024-05-29 03:36:54 +00:00
手瓜一十雪
ceffa05802 fix 2024-05-29 11:36:04 +08:00
手瓜一十雪
d5668920b6 release: 1.4.1 2024-05-29 11:34:55 +08:00
手瓜一十雪
516f2da144 feat: en2zh 2024-05-29 10:25:13 +08:00
手瓜一十雪
33c94e1888 docs: 1.4.1 todo 2024-05-29 00:34:44 +08:00
手瓜一十雪
51ab58cd91 fix: webui 2024-05-29 00:07:05 +08:00
手瓜一十雪
aa7798d1d1 feat: wait fix 2024-05-29 00:00:48 +08:00
手瓜一十雪
9067a1fc92 refactor: info record local 2024-05-28 23:24:54 +08:00
手瓜一十雪
4024b6c564 Merge pull request #46 from po-lan/main
Update GetGroupMemberList.ts
2024-05-28 23:20:11 +08:00
po-lan
d39730928b Update GetGroupMemberList.ts
fix
2024-05-28 23:17:39 +08:00
手瓜一十雪
e1f049229c Merge pull request #45 from po-lan/main
对 get_group_member_list 增强
2024-05-28 22:49:21 +08:00
po-lan
8f2676ec19 Update main.ts 2024-05-28 22:43:41 +08:00
po-lan
32d26248dc Update main.ts 2024-05-28 22:41:40 +08:00
po-lan
16f926401b Update db.ts 2024-05-28 22:30:26 +08:00
po-lan
66d60d3599 Update main.ts 2024-05-28 22:27:12 +08:00
po-lan
5a35ab6c34 Update OB11GroupIncreaseEvent.ts 2024-05-28 22:26:02 +08:00
手瓜一十雪
ba1542bd31 Merge pull request #44 from po-lan/main
对 get_group_member_list 增强
2024-05-28 21:49:26 +08:00
po-lan
453060945a Update OB11GroupIncreaseEvent.ts 2024-05-28 21:47:05 +08:00
po-lan
c8351be461 Update config.ts 2024-05-28 21:45:36 +08:00
po-lan
9954da22a6 Update db.ts 2024-05-28 21:44:30 +08:00
手瓜一十雪
907b5611eb chore: sync core 2024-05-28 21:02:57 +08:00
手瓜一十雪
5f075de212 refactor: Info 2024-05-28 20:50:29 +08:00
手瓜一十雪
8fcf3c5079 refactor: GroupInfo 2024-05-28 20:43:16 +08:00
手瓜一十雪
07cee90c7a refactor: MemberInfo-1 2024-05-28 20:08:40 +08:00
手瓜一十雪
75ad495b98 refactor: remove some log 2024-05-28 19:32:08 +08:00
手瓜一十雪
0bb7288ad2 Merge pull request #40 from po-lan/main
对 get_group_member_list 增强
2024-05-28 19:21:25 +08:00
po-lan
ad72415532 对 get_group_member_list 增强开关 2024-05-27 17:11:26 +08:00
po-lan
0ad0353fc0 对 get_group_member_list 增强
监听每一条群聊消息准备写入数据库
2024-05-27 17:09:27 +08:00
po-lan
9fa0dcd7aa 对 get_group_member_list 增强
非管理员的Bot可以通过本地数据库获取到最近的发言时间
2024-05-27 17:07:23 +08:00
po-lan
1f2e80cd39 对 get_group_member_list 增强
一个基于LRU思想写出来的缓存结构
来降低写入数据库的次数
2024-05-27 17:05:28 +08:00
po-lan
6cb6034d43 对 get_group_member_list 增强 2024-05-27 17:01:24 +08:00
手瓜一十雪
25134c6ac6 fix: vite-env 2024-05-26 20:38:18 +08:00
手瓜一十雪
92bf42878a chore: sync core 2024-05-26 11:42:12 +08:00
手瓜一十雪
9f4582d158 docs: update 2024-05-25 19:30:48 +08:00
手瓜一十雪
68af73970e release: 1.4.0 2024-05-25 19:22:52 +08:00
手瓜一十雪
b6ed8d4975 docs: change 2024-05-25 16:55:02 +08:00
手瓜一十雪
d07d3645ce fix: typo 2024-05-25 13:42:10 +08:00
手瓜一十雪
123759ab17 fix: typo 2024-05-25 13:39:49 +08:00
手瓜一十雪
f2f1f893d8 feat: ocr image 2024-05-25 13:38:19 +08:00
手瓜一十雪
db93a8eed2 feat: /get_online_clients 2024-05-25 13:09:47 +08:00
手瓜一十雪
12ab6d4a7d fix 2024-05-25 12:48:13 +08:00
手瓜一十雪
add759e889 feat: try support get_online_clients 2024-05-25 12:02:09 +08:00
手瓜一十雪
f315f7977d feat: support card miniapp 2024-05-25 11:35:08 +08:00
手瓜一十雪
f2f6701ebd feat: support qzone.qq.com Cookies 2024-05-25 11:07:05 +08:00
手瓜一十雪
1a92794d33 chore: sync core 2024-05-24 23:25:14 +08:00
手瓜一十雪
7640deb798 feat: support mini app sign 2024-05-24 23:24:10 +08:00
手瓜一十雪
f1e8ef1cf6 fix: 紧急修复DetailInfo 2024-05-24 18:31:01 +08:00
手瓜一十雪
5e5ac0162e build: 1.3.8 2024-05-24 18:11:32 +08:00
手瓜一十雪
0c013820f0 chore: sync core 2024-05-24 13:51:40 +08:00
手瓜一十雪
4b3a9e5847 release: 1.3.8 2024-05-24 13:47:25 +08:00
手瓜一十雪
e4982256a4 fix: typo 2024-05-24 11:39:46 +08:00
手瓜一十雪
babc4927a8 feat: 注释解码 2024-05-24 11:28:43 +08:00
手瓜一十雪
6dd84cf469 build: 1.4.0-beta8 2024-05-24 11:21:34 +08:00
手瓜一十雪
a8800e3899 feat: 1.4.0-beta8 2024-05-24 11:18:32 +08:00
手瓜一十雪
5f03496046 build: 1.4.0-beta7 2024-05-24 10:45:12 +08:00
手瓜一十雪
41500c17a2 try: fix 2024-05-24 10:42:21 +08:00
手瓜一十雪
2dcfde8b9a build: 1.4.0-beta6 2024-05-23 18:23:11 +08:00
手瓜一十雪
5c3305d8fa Revert "feat: try support LiteLoader"
This reverts commit 8101d17482.
2024-05-23 18:10:18 +08:00
手瓜一十雪
0d1fe99f53 Merge pull request #32 from xihan123/main
fix: set_group_add_request reason 字段错误
2024-05-23 16:48:43 +08:00
xihan123
4c03ffeec7 fix: set_group_add_request reason 字段错误 2024-05-23 16:45:41 +08:00
手瓜一十雪
8101d17482 feat: try support LiteLoader 2024-05-23 16:30:29 +08:00
手瓜一十雪
bc7b4dcc2a build: 1.4.0-beta5 2024-05-23 15:16:35 +08:00
手瓜一十雪
3db8b9078d docs: change 2024-05-23 11:14:42 +08:00
手瓜一十雪
943dbbefd3 build: 1.4.0-beta4-兼容9.7.x换行符 2024-05-23 11:10:31 +08:00
手瓜一十雪
480abcb853 fix: HandlersClear 2024-05-23 10:23:37 +08:00
手瓜一十雪
60aaaff58e fix: UserDetail 2024-05-23 10:19:45 +08:00
手瓜一十雪
e3b889bbe8 fix: test 2024-05-22 21:44:12 +08:00
手瓜一十雪
ac5506a43b style: lint 2024-05-22 20:58:49 +08:00
手瓜一十雪
b29f533a3b feat: 1.4.0 2024-05-22 20:36:38 +08:00
手瓜一十雪
a8ee86b09e build: test 2024-05-22 20:31:16 +08:00
手瓜一十雪
0238c53302 build: 1.4.0-beta2 2024-05-22 20:19:28 +08:00
手瓜一十雪
665e3c806f build: 1.4.0 - beta2 2024-05-22 20:16:24 +08:00
手瓜一十雪
8c96838441 refactor: cjs to es 2024-05-22 20:13:18 +08:00
手瓜一十雪
4a722daec6 chore: sync core 2024-05-22 19:59:36 +08:00
手瓜一十雪
4e0cdbcb91 feat: 破坏性更新 cjs to es 2024-05-22 19:58:45 +08:00
手瓜一十雪
08976624cd feat: debug 2024-05-22 17:30:40 +08:00
手瓜一十雪
fdeba94653 chore: sync core 2024-05-22 16:11:01 +08:00
手瓜一十雪
d3b100b7e5 refactor: member info 2024-05-22 12:52:49 +08:00
手瓜一十雪
1de3e18b08 fix: remove unuse 2024-05-21 19:32:17 +08:00
手瓜一十雪
d5c3c95682 chore: sync core 2024-05-21 19:28:26 +08:00
手瓜一十雪
dabe1e29ed feat: GroupMemberDetailInfo 2024-05-21 19:27:59 +08:00
手瓜一十雪
203d1c0cfc release: v1.3.5 2024-05-20 21:24:11 +08:00
手瓜一十雪
7edd8601be fix 2024-05-20 18:11:13 +08:00
手瓜一十雪
a4423247f4 fix 2024-05-20 18:05:00 +08:00
手瓜一十雪
4834b203a0 fix: stop express 2024-05-20 17:56:36 +08:00
手瓜一十雪
bbabb32d13 fix: 移除调试代码 2024-05-20 17:49:15 +08:00
手瓜一十雪
95112d6bdf fix: 热重载问题 2024-05-20 17:47:13 +08:00
手瓜一十雪
36cdca5a3e fix: 热重载 2024-05-20 16:58:24 +08:00
手瓜一十雪
6980a9f3fc refactor: webui config 2024-05-20 16:56:34 +08:00
手瓜一十雪
7b09479cd2 fix: 拦截错误 2024-05-20 16:26:42 +08:00
手瓜一十雪
5825fd6f36 fix: 拦截异常 2024-05-20 12:35:50 +08:00
手瓜一十雪
2d5b45dd82 feat: test 2024-05-20 12:10:48 +08:00
手瓜一十雪
52dda1d1fe refactor: SysMessage Proto 2024-05-19 22:29:02 +08:00
手瓜一十雪
420624bee4 build: 1.3.5-catch error 2024-05-19 21:48:52 +08:00
手瓜一十雪
8abde7b7d0 Revert "build: 1.3.5-re"
This reverts commit 9e5b1ba28e.
2024-05-19 21:41:57 +08:00
手瓜一十雪
9e5b1ba28e build: 1.3.5-re 2024-05-19 21:18:33 +08:00
手瓜一十雪
b9c7d3c18e build: 1.3.5-re 2024-05-19 21:04:24 +08:00
手瓜一十雪
10aeccbbe5 build: 1.3.5 2024-05-19 20:46:02 +08:00
手瓜一十雪
15d351ebc2 build: 1.3.5-re 2024-05-19 13:30:42 +08:00
手瓜一十雪
7194f31cb6 build: 1.3.5-re 2024-05-19 13:18:29 +08:00
手瓜一十雪
84b7e82446 build: 1.4.0-beta1 2024-05-19 12:36:56 +08:00
手瓜一十雪
8264423b1a fix: 上报问题 2024-05-19 12:36:40 +08:00
手瓜一十雪
37f897f3bf feat: 上报戳一戳 2024-05-19 12:35:15 +08:00
手瓜一十雪
fe3efac145 feat: 解析戳一戳 2024-05-19 12:29:40 +08:00
手瓜一十雪
9773aebefc feat: sys msg decode 2024-05-19 12:12:03 +08:00
手瓜一十雪
06f2b8c371 docs: change init 2024-05-19 11:08:42 +08:00
手瓜一十雪
e8f0bb8350 build: fix check type 2024-05-18 20:48:06 +08:00
手瓜一十雪
9bfa6b827b build: 1.3.5 2024-05-18 20:36:16 +08:00
手瓜一十雪
b21bc17a58 build: 1.3.5 2024-05-18 20:28:35 +08:00
手瓜一十雪
f4d5d417d0 build: 1.3.5 2024-05-18 20:09:33 +08:00
手瓜一十雪
91fc83621e build: 1.3.5 2024-05-18 19:46:53 +08:00
手瓜一十雪
461feca0ca Merge branch 'main' of https://github.com/NapNeko/NapCatQQ 2024-05-18 19:33:24 +08:00
手瓜一十雪
5e9afab3f7 fix: workflow 2024-05-18 18:18:08 +08:00
Version
2599ca6450 chore:version change 2024-05-18 10:15:09 +00:00
手瓜一十雪
fc99ad3a39 Merge branch 'main' of https://github.com/NapNeko/NapCatQQ 2024-05-18 18:08:29 +08:00
手瓜一十雪
10e1c3e72c build: 1.3.5-beta38 2024-05-18 18:08:18 +08:00
手瓜一十雪
af5dedd4d4 docs: change 2024-05-18 18:00:40 +08:00
手瓜一十雪
3b986c1076 build: 1.3.5-beta37 2024-05-18 17:58:09 +08:00
手瓜一十雪
72f77e8b7c feat: support get_group_system_msg 2024-05-18 17:57:42 +08:00
手瓜一十雪
e893bf676f build: 1.3.5-beta36
get_group_system_msg 未标准化
2024-05-18 17:37:10 +08:00
手瓜一十雪
80eb34f611 feat: try add get_group_system_msg 2024-05-18 16:58:46 +08:00
手瓜一十雪
5d01947552 feat: 快速操作msg默认reply模式回应 2024-05-18 16:27:53 +08:00
手瓜一十雪
d3a025ef7b build: 1.3.5-beta35 2024-05-18 14:40:46 +08:00
手瓜一十雪
c466df841e build: 1.3.5-beta34 2024-05-18 14:36:52 +08:00
手瓜一十雪
b3c6e2a0f3 feat: QuickHandle From LLOB 2024-05-18 14:35:24 +08:00
手瓜一十雪
076c9cfed7 feat: send timeout predict 2024-05-18 14:09:57 +08:00
手瓜一十雪
c3f3d12f83 build: 1.3.5-beta33 2024-05-18 13:35:57 +08:00
手瓜一十雪
44974034ec build: 1.3.5-beta32 2024-05-18 12:56:03 +08:00
手瓜一十雪
d6175acd38 feat: check action data 3 2024-05-18 12:40:41 +08:00
手瓜一十雪
62eee5f05c feat: check action data 2 2024-05-18 12:23:15 +08:00
手瓜一十雪
d4e5201913 feat: action check data 2024-05-18 11:48:38 +08:00
手瓜一十雪
f4d584765a build: 1.3.5-beta30 2024-05-17 21:58:48 +08:00
手瓜一十雪
26e224f852 fix: 热重载容错 2024-05-17 21:44:52 +08:00
手瓜一十雪
252358ed66 build: 1.3.5-beta29 2024-05-17 21:41:07 +08:00
手瓜一十雪
475afeb7c8 build: 1.3.5-beta28 2024-05-17 21:30:37 +08:00
手瓜一十雪
7cbbb846eb build: 1.3.5-beta27 2024-05-17 21:26:32 +08:00
手瓜一十雪
25f947968c fix: typo 2024-05-17 19:55:12 +08:00
手瓜一十雪
cad824dcbc refactor: powershell script 2024-05-17 19:22:36 +08:00
手瓜一十雪
e506f50b00 build: 1.3.5-beta24 2024-05-17 18:51:31 +08:00
手瓜一十雪
96ec149a98 fix: webui 2024-05-17 18:23:50 +08:00
手瓜一十雪
8c913512f6 fix: webui 2024-05-17 18:21:03 +08:00
手瓜一十雪
4cc307299d build: 1.3.5-beta23 2024-05-17 18:12:41 +08:00
手瓜一十雪
407c6b4c5f fix: webui 2024-05-17 18:11:53 +08:00
手瓜一十雪
8f87070434 build: 1.3.5-beta22 2024-05-17 17:17:49 +08:00
手瓜一十雪
4a63996ee2 docs: change 2024-05-17 17:08:01 +08:00
手瓜一十雪
0358fe7620 feat: UpdateConfig 2024-05-17 17:03:48 +08:00
手瓜一十雪
55e64395ed build: 1.3.5-beta20 2024-05-17 15:39:31 +08:00
手瓜一十雪
ff5fb18e14 chore: sync core 2024-05-16 20:47:12 +08:00
手瓜一十雪
52dd960857 build: 1.3.5-beta19 2024-05-16 20:24:49 +08:00
手瓜一十雪
430221c2de fix: check msgElement 2024-05-16 20:23:36 +08:00
手瓜一十雪
217bdf8f92 build: 1.3.5-beta17 2024-05-16 12:53:33 +08:00
手瓜一十雪
38c6c869bf docs: change 2024-05-16 12:52:45 +08:00
手瓜一十雪
84d46da67e fix: ws心跳问题 2024-05-16 12:46:27 +08:00
手瓜一十雪
eb9d6240d7 chore: move 2024-05-16 11:57:02 +08:00
linyuchen
2d44a871b0 chore: Sync core 2024-05-15 23:08:57 +08:00
手瓜一十雪
3f89f350ff fix: 移除umami 2024-05-15 22:18:05 +08:00
手瓜一十雪
1a8407a782 refactor: requests 2024-05-15 21:13:41 +08:00
手瓜一十雪
cf288a3f73 feat: 迁移配置辅助函数 2024-05-15 20:55:09 +08:00
手瓜一十雪
f1f37fb180 Merge pull request #23 from Wesley-Young/main
Refactoring onebot11/action/msg/SendMsg
2024-05-15 19:47:37 +08:00
手瓜一十雪
fb0dd079fd Merge branch 'main' into pr/23 2024-05-15 19:47:19 +08:00
手瓜一十雪
a6c584c85c Merge branch 'main' of https://github.com/Wesley-Young/NapCatQQ.Patch into pr/23 2024-05-15 19:46:46 +08:00
手瓜一十雪
77adf35a30 fix: export problem 2024-05-15 19:45:27 +08:00
linyuchen
dc6951c2a9 Merge remote-tracking branch 'origin/main' 2024-05-15 17:55:20 +08:00
linyuchen
d14ba3f0f7 feat: Cache decorator 2024-05-15 17:55:03 +08:00
Wesley F. Young
78ddf36e35 refactor: split types.ts into separate files 2024-05-15 17:02:24 +08:00
Wesley F. Young
d42734624d refactor: move checkSendMessage and handleForwardNode to separate files 2024-05-15 16:43:21 +08:00
Wesley F. Young
b5dbd9d59b refactor: rename function convertMessage2List to normalize 2024-05-15 16:33:15 +08:00
手瓜一十雪
bed3e1289b chore: sync core 2024-05-15 16:11:01 +08:00
手瓜一十雪
b11ca4e60e Merge branch 'main' into pr/23 2024-05-15 16:10:11 +08:00
Wesley F. Young
4fcf3aa2bd refactor: better type inferring; move createSendElement into another file 2024-05-15 14:53:58 +08:00
手瓜一十雪
dc39da8ca5 build: 1.3.5-beta15 2024-05-15 12:13:39 +08:00
手瓜一十雪
c10c87d28e build: 1.3.5-beta14 2024-05-15 12:10:52 +08:00
手瓜一十雪
c6fe6f1cc5 Merge pull request #22 from SherkeyXD/main
refactor: 重构 Onebot 配置格式,增强可读性
2024-05-15 12:07:46 +08:00
手瓜一十雪
1c2bbeb26d fix: webui renderer 2024-05-15 12:06:17 +08:00
SherkeyXD
17ed3692d0 refactor: webui 跟进 Onebot 配置重构 2024-05-15 11:43:20 +08:00
手瓜一十雪
966a00f41e chore: sync code 2024-05-15 11:40:25 +08:00
手瓜一十雪
fd8d8f89aa Merge branch 'main' into pr/22 2024-05-15 11:32:26 +08:00
手瓜一十雪
305bb74072 chore: sync core 2024-05-15 11:00:24 +08:00
手瓜一十雪
7f4dcdd134 Merge branch 'main' into pr/22 2024-05-15 10:59:46 +08:00
手瓜一十雪
aac37dcce1 docs: typo 2024-05-15 09:35:01 +08:00
手瓜一十雪
f539c662a5 docs: todo 2024-05-15 09:32:05 +08:00
SherkeyXD
c82f346dd0 refactor: 重构 Onebot 配置格式,增强可读性 2024-05-15 00:17:59 +08:00
手瓜一十雪
21b4a87837 docs: change 2024-05-14 23:05:01 +08:00
手瓜一十雪
ae73bcf24b chore: sync core 2024-05-14 22:56:24 +08:00
手瓜一十雪
2a3b56bde1 build: 1.3.5-beta12 2024-05-14 22:53:26 +08:00
手瓜一十雪
b8ebededd8 fix: Member Kick Event 2024-05-14 22:48:43 +08:00
手瓜一十雪
227c4c422c build: 1.3.5-beta11 2024-05-14 20:44:04 +08:00
手瓜一十雪
652bfb93cc docs: change 2024-05-14 17:24:17 +08:00
手瓜一十雪
c2278e3536 build: v1.3.5-beta10 2024-05-14 16:40:23 +08:00
手瓜一十雪
caa2fca4e8 refactor: http requests 2024-05-14 15:31:53 +08:00
手瓜一十雪
745cb0175c refactor: requests 2024-05-14 15:19:37 +08:00
手瓜一十雪
e5165a780f feat: 新增群荣誉信息 2024-05-14 14:08:57 +08:00
手瓜一十雪
b4b91af02b feat: 新增群荣誉信息 2024-05-14 14:02:29 +08:00
手瓜一十雪
5649ff9c2e chore: sync core 2024-05-14 11:38:39 +08:00
手瓜一十雪
5b4bf6c62a chore: sync core 2024-05-14 10:20:27 +08:00
手瓜一十雪
93cb662282 refactor: scipt and request 2024-05-14 10:16:30 +08:00
手瓜一十雪
00a8715e58 chore: sync core 2024-05-13 21:24:47 +08:00
手瓜一十雪
7ecd479b3e refactor: webapi http 2024-05-13 21:22:20 +08:00
手瓜一十雪
8fe7d3aaec refactor: sign music 2024-05-13 21:14:48 +08:00
手瓜一十雪
f32a693393 feat: 配置热重载 2024-05-13 21:07:19 +08:00
手瓜一十雪
17ebc01597 fix: linux script env 2024-05-13 18:39:59 +08:00
手瓜一十雪
827fb698e1 chore: version 2024-05-13 18:25:34 +08:00
手瓜一十雪
32bdf10fd2 refactor: check version 2024-05-13 18:13:52 +08:00
手瓜一十雪
b795e6c3d2 refactor: umami 2024-05-13 18:08:46 +08:00
手瓜一十雪
42ba524e4e refactor: HttpGetJson 2024-05-13 17:53:50 +08:00
手瓜一十雪
317c6d96e3 refactor: http_util 2024-05-13 17:41:10 +08:00
手瓜一十雪
3692d1499f refactor: boot script 2024-05-13 17:26:22 +08:00
手瓜一十雪
b21fbad8a3 refactor: boot scipt 2024-05-13 16:57:03 +08:00
手瓜一十雪
743334a68a refactor: version check 2024-05-13 16:46:40 +08:00
手瓜一十雪
951413eb38 docs: change 2024-05-13 16:44:30 +08:00
手瓜一十雪
32dcdef853 fix: build script 2024-05-13 16:43:16 +08:00
手瓜一十雪
34c9254d4a fix: typo 2024-05-13 16:39:24 +08:00
手瓜一十雪
14012a4668 Merge branch 'main' of https://github.com/NapNeko/NapCatQQ 2024-05-13 16:38:19 +08:00
手瓜一十雪
575debca63 fix: reboot on win 2024-05-13 16:37:48 +08:00
linyuchen
763cac8532 Merge remote-tracking branch 'origin/main' 2024-05-13 16:32:52 +08:00
linyuchen
43faacd7a7 doc: changelog history 2024-05-13 16:32:40 +08:00
Version
1d4e307e96 chore:version change 2024-05-13 08:09:02 +00:00
linyuchen
7f8933b0de doc: changelog 2024-05-13 16:05:35 +08:00
手瓜一十雪
81608ff025 docs:change 2024-05-13 13:56:36 +08:00
手瓜一十雪
db63675b8e fix: 修复重启 但win无法及时结束父进程 2024-05-13 13:44:23 +08:00
linyuchen
f74a83bc46 doc: changelog 2024-05-13 12:53:44 +08:00
linyuchen
bc1deba3e4 style: eslint 2024-05-13 12:53:30 +08:00
手瓜一十雪
d6113a8f0a fix: 尝试修复 但仍然无法使用reboot 2024-05-13 12:35:15 +08:00
手瓜一十雪
2062cd48ea fix: RebootNormol 2024-05-13 09:33:00 +08:00
手瓜一十雪
1c965ef515 feat: api Extend RebootNormol 2024-05-13 09:32:25 +08:00
linyuchen
58291b7156 update core 2024-05-13 08:52:55 +08:00
linyuchen
afd1648d80 refactor: GetUserDetailInfo auto map uid2uin 2024-05-13 08:41:48 +08:00
linyuchen
21814ffa9a Merge remote-tracking branch 'origin/main' 2024-05-13 01:28:23 +08:00
手瓜一十雪
9d3522da54 fix: OnGroupNotifiesUpdated catch getUserDetailInfo 2024-05-13 01:28:11 +08:00
手瓜一十雪
e07a76755e docs: todo 2024-05-12 23:22:53 +08:00
手瓜一十雪
ba46bcdeae docs: change 2024-05-12 23:21:48 +08:00
手瓜一十雪
8d7e44314c build: 1.3.5-beta8 2024-05-12 23:18:59 +08:00
手瓜一十雪
35a67498c7 Merge branch 'main' of https://github.com/NapNeko/NapCatQQ 2024-05-12 23:18:39 +08:00
手瓜一十雪
90dd934f95 feat: limit sendMsg 2024-05-12 23:18:27 +08:00
手瓜一十雪
4087045542 docs: change 2024-05-12 22:59:30 +08:00
手瓜一十雪
d11cef5907 build: 1.3.5-beta7 2024-05-12 22:57:32 +08:00
手瓜一十雪
76c91d226c build: 1.3.5-beta6 2024-05-12 22:23:27 +08:00
手瓜一十雪
c2b4dd2afd feat: Reboot Api(未经测试) 2024-05-12 22:19:03 +08:00
手瓜一十雪
25b39cb39a Merge branch 'main' of https://github.com/NapNeko/NapCatQQ 2024-05-12 22:12:13 +08:00
手瓜一十雪
35dcb7b88b feat: reboot util 2024-05-12 22:11:47 +08:00
手瓜一十雪
e5f7e7c26e docs: change 2024-05-12 22:05:07 +08:00
手瓜一十雪
c5c11fd6a6 docs: change 2024-05-12 22:04:49 +08:00
手瓜一十雪
8134083419 build: 1.3.5-beta5 2024-05-12 22:00:18 +08:00
linyuchen
a87e624198 build: fix fetch ua 2024-05-12 21:50:50 +08:00
linyuchen
e4c62d20b4 build: Fix http UA 2024-05-12 21:49:39 +08:00
手瓜一十雪
fa195d9e55 docs: change 2024-05-12 21:48:38 +08:00
linyuchen
5ef5773d23 update core 2024-05-12 21:48:30 +08:00
linyuchen
6eea52afdf Merge remote-tracking branch 'origin/main' 2024-05-12 21:46:27 +08:00
linyuchen
80e64af30f fix: Fetch miss ua 2024-05-12 21:46:13 +08:00
手瓜一十雪
563b6ddc36 refactor: rm SetGroupNotice 2024-05-12 21:24:22 +08:00
手瓜一十雪
c051ab9dc4 fix: rm exist GoCQHTTP_SendGroupNotice 2024-05-12 20:52:40 +08:00
linyuchen
87737a8bdb refactor: Remove random os hostname 2024-05-12 20:41:45 +08:00
linyuchen
94273d80b0 refactor: Random os hostname 2024-05-12 20:32:36 +08:00
手瓜一十雪
a08ec2a4bd docs: CHANGELOG 2024-05-12 18:41:28 +08:00
linyuchen
d246c556f4 update core.lib 2024-05-12 18:00:56 +08:00
linyuchen
65aa365e38 Merge remote-tracking branch 'origin/main'
# Conflicts:
#	src/core.lib/src/adapters/NodeIDependsAdapter.js
#	src/core.lib/src/adapters/NodeIDispatcherAdapter.js
#	src/core.lib/src/adapters/NodeIGlobalAdapter.js
#	src/core.lib/src/adapters/index.js
#	src/core.lib/src/apis/file.js
#	src/core.lib/src/apis/friend.js
#	src/core.lib/src/apis/group.js
#	src/core.lib/src/apis/index.js
#	src/core.lib/src/apis/msg.js
#	src/core.lib/src/apis/sign.js
#	src/core.lib/src/apis/user.js
#	src/core.lib/src/apis/webapi.js
#	src/core.lib/src/core.js
#	src/core.lib/src/data.js
#	src/core.lib/src/entities/cache.js
#	src/core.lib/src/entities/constructor.js
#	src/core.lib/src/entities/group.js
#	src/core.lib/src/entities/index.js
#	src/core.lib/src/entities/msg.js
#	src/core.lib/src/entities/notify.js
#	src/core.lib/src/entities/user.js
#	src/core.lib/src/external/hook.js
#	src/core.lib/src/index.js
#	src/core.lib/src/listeners/NodeIKernelBuddyListener.js
#	src/core.lib/src/listeners/NodeIKernelFileAssistantListener.js
#	src/core.lib/src/listeners/NodeIKernelGroupListener.js
#	src/core.lib/src/listeners/NodeIKernelLoginListener.js
#	src/core.lib/src/listeners/NodeIKernelMsgListener.js
#	src/core.lib/src/listeners/NodeIKernelProfileListener.js
#	src/core.lib/src/listeners/NodeIKernelRobotListener.js
#	src/core.lib/src/listeners/NodeIKernelSessionListener.js
#	src/core.lib/src/listeners/NodeIKernelStorageCleanListener.js
#	src/core.lib/src/listeners/index.js
#	src/core.lib/src/services/common.js
#	src/core.lib/src/services/index.js
#	src/core.lib/src/sessionConfig.js
#	src/core.lib/src/utils/config.js
#	src/core.lib/src/utils/db.js
#	src/core.lib/src/utils/rkey.js
#	src/core.lib/src/wrapper.js
2024-05-12 18:00:42 +08:00
linyuchen
eeeae449b4 update core.lib 2024-05-12 18:00:23 +08:00
linyuchen
17c10a7ba2 update core.lib 2024-05-12 17:59:25 +08:00
手瓜一十雪
69f4383678 feat: try add reboot 2024-05-12 17:56:57 +08:00
linyuchen
07852a7295 fix: Log filename add milliseconds 2024-05-12 17:56:42 +08:00
手瓜一十雪
20b7e9b6b5 fix:build error 2024-05-12 16:59:03 +08:00
手瓜一十雪
75f43ccea4 chore: sync core 2024-05-12 16:56:07 +08:00
手瓜一十雪
59e5785e93 fix: build 2024-05-12 16:55:01 +08:00
手瓜一十雪
b38f52dba9 chore: sync core 2024-05-12 16:46:35 +08:00
手瓜一十雪
2a6b17a48e fix: try support win7 2024-05-12 16:21:04 +08:00
手瓜一十雪
a6c056a894 fix: SendGroupNotice Image Unlink 2024-05-12 15:49:53 +08:00
手瓜一十雪
5c3442a71f feat: 扩展SendGroupNotice 2024-05-12 15:27:02 +08:00
手瓜一十雪
390253242f build: 1.3.5-beta1 2024-05-12 15:21:35 +08:00
手瓜一十雪
9ab80fe1ac feat: Api SendGroupNotice 2024-05-12 12:07:51 +08:00
手瓜一十雪
91fdd09e7a docs: 2024-05-12 00:41:06 +08:00
224 changed files with 9712 additions and 2468 deletions

View File

@@ -5,7 +5,7 @@ root = true
# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
end_of_line = lf|crlf
insert_final_newline = true
# Matches multiple files with brace expansion notation

View File

@@ -1,9 +1,10 @@
module.exports = {
'env': {
'browser': true,
'es2021': true,
'node': true
},
'ignorePatterns': ['src/core/', 'src/core.lib/'],
'ignorePatterns': ['src/core/', 'src/core.lib/','src/proto/'],
'extends': [
'eslint:recommended',
'plugin:@typescript-eslint/recommended'

View File

@@ -121,7 +121,7 @@ jobs:
run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV
- name: Clone Changes Log
run: curl -o CHANGELOG.md https://fastly.jsdelivr.net/gh/NapNeko/NapCatQQ@main/CHANGELOG.md
run: curl -o CHANGELOG.md https://fastly.jsdelivr.net/gh/NapNeko/NapCatQQ@main/docs/changelogs/CHANGELOG.v${{ env.VERSION }}.md
- name: Create Release Draft and Upload Artifacts
uses: softprops/action-gh-release@v1

4
.gitignore vendored
View File

@@ -4,8 +4,8 @@ package-lock.json
pnpm-lock.yaml
out/
dist/
src/core.lib/common/
test
/src/core.lib/common/
/localdebug/
# Editor
.vscode/*

View File

@@ -1,13 +0,0 @@
# v1.3.2
QQ Version: Windows 9.9.9-23424 / Linux 3.2.7-23361
## 修复与优化
* 重置Rkey获取机制,使用接口分发Rkey
* 尝试修复启动时消息处理需要等待过长时间
* 修复多图情况为同一张图片的问题
## 新增与调整
* 新增扩展获取好友分类列表 Api /get_friends_with_category
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,17 @@
# v1.3.3
QQ Version: Windows 9.9.9-23424 / Linux 3.2.7-23361
## 修复与优化
* 尝试修复多开崩溃问题
* 修复群列表更新问题
* 修复兼容性问题支持Win7
* 修复下载 http 资源缺少UA
* 优化少量消息合并转发速度
* 修复加载群通知时出现 getUserDetailInfo timeout 导致程序崩溃
## 新增与调整
* 新增设置群公告 Api: /_send_group_notice
* 新增重启实现 包括重启快速登录/普通重启 副作用: 原进程 无法清理
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,18 @@
# v1.3.5
QQ Version: Windows 9.9.9-23424 / Linux 3.2.7-23361
## 修复与优化
* 优化启动脚本
* 修复非管理时群成员减少事件上报 **无法获取操作者与操作类型**
* 修复快速重启进程清理问题
* 优化配置文件格式 支持自动更新配置 但仍然建议 **备份配置**
* 修复正向反向ws多个客户端周期多次心跳问题
## 新增与调整
* 支持WebUi热重载
* 新增启动输出WEBUI秘钥
* 新增群荣誉信息 /get_group_honor_info
* 支持获取群系统消息 /get_group_system_msg
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,11 @@
# v1.3.6
QQ Version: Windows 9.9.9-23424 / Linux 3.2.7-23361
## 修复与优化
* 修复戳一戳多次上报问题
## 新增与调整
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,15 @@
# v1.3.8
QQ Version: Windows 9.9.9-23873 / Linux 3.2.7-23361
## 修复与优化
* 优化打包后体积问题
* 修复QQ等级获取
* 兼容 9.7.x 版本换行符 统一为 \n
* 修复处理加群请求 字段异常情况
* 修复退群通知问题
## 新增与调整
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,11 @@
# v1.3.9
QQ Version: Windows 9.9.10-23873 / Linux 3.2.7-23361
## 修复与优化
* 修复QQ等级获取与兼容性问题
## 新增与调整
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,12 @@
# v1.4.0
QQ Version: Windows 9.9.10-24108 / Linux 3.2.7-23361
## 修复与优化
## 新增与调整
* 支持空间Cookies获取
* 支持获取在线设备 API /get_online_clients
* 支持图片OCR API /.ocr_image /ocr_image
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,14 @@
# v1.4.1
QQ Version: Windows 9.9.10-24108 / Linux 3.2.7-23361
## 修复与优化
* 提高部分Api兼容性
* 优化日志膨胀问题
* 在线状态刷新问题修复
## 新增与调整
* 支持非管理群 本地记录时间数据 (建议 **备份配置 清空配置 重新配置**)
* 新增英译中接口 Api: /translate_en2zh
* 新增群文件管理相关扩展接口 Api: /get_group_file_count /get_group_file_list /set_group_file_folder /del_group_file /del_group_file_folder
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,12 @@
# v1.4.2
QQ Version: Windows 9.9.10-24108 / Linux 3.2.7-23361
## 修复与优化
* 修复获取群文件列表Api
* 修复退群通知问题
## 新增与调整
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,11 @@
# v1.4.3
QQ Version: Windows 9.9.10-24108 / Linux 3.2.7-23361
## 修复与优化
* 修复名片通知
## 新增与调整
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,10 @@
# v1.4.4
QQ Version: Windows 9.9.10-24108 / Linux 3.2.7-23361
## 更新
* **重大更新:**更新了版本号
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,12 @@
# v1.4.5
QQ Version: Windows 9.9.10-24108 / Linux 3.2.7-23361
## 修复与优化
* 紧急修复二维扫码问题
## 新增与调整
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,12 @@
# v1.4.6
QQ Version: Windows 9.9.10-24108 / Linux 3.2.7-23361
## 修复与优化
* 优化整体稳定性
## 新增与调整
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,11 @@
# v1.4.7
QQ Version: Windows 9.9.10-24108 / Linux 3.2.7-23361
## 修复与优化
* 临时扩展 Api: GoCQHTTPUploadGroupFile folder_id字段 用于选择文件夹
## 新增与调整
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,12 @@
# v1.4.8
QQ Version: Windows 9.9.10-24108 / Linux 3.2.7-23361
## 修复与优化
* 优化Guid的生成方式
* 支持临时消息获取群来源
## 新增与调整
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -2,7 +2,7 @@
"name": "napcat",
"private": true,
"type": "module",
"version": "1.3.2",
"version": "1.4.7",
"scripts": {
"watch:dev": "vite --mode development",
"watch:prod": "vite --mode production",
@@ -19,7 +19,6 @@
},
"devDependencies": {
"@log4js-node/log4js-api": "^1.0.2",
"@rollup/plugin-commonjs": "^25.0.7",
"@rollup/plugin-node-resolve": "^15.2.3",
"@rollup/plugin-typescript": "^11.1.6",
"@types/cors": "^2.8.17",
@@ -37,7 +36,6 @@
"eslint-plugin-import": "^2.29.1",
"i": "^0.3.7",
"javascript-obfuscator": "^4.1.0",
"protobufjs-cli": "^1.1.2",
"rollup": "^4.13.2",
"rollup-plugin-dts": "^6.1.0",
"rollup-plugin-obfuscator": "^1.1.0",
@@ -45,9 +43,11 @@
"vite": "^5.2.6",
"vite-plugin-cp": "^4.0.8",
"vite-plugin-dts": "^3.8.2",
"vite-tsconfig-paths": "^4.3.2"
"vite-tsconfig-paths": "^4.3.2",
"@protobuf-ts/plugin": "^2.9.4"
},
"dependencies": {
"ajv": "^8.13.0",
"commander": "^12.0.0",
"cors": "^2.8.5",
"express": "^5.0.0-beta.2",
@@ -55,6 +55,7 @@
"file-type": "^19.0.0",
"fluent-ffmpeg": "^2.1.2",
"image-size": "^1.1.1",
"json-schema-to-ts": "^3.1.0",
"log4js": "^6.9.1",
"qrcode-terminal": "^0.12.0",
"silk-wasm": "^3.3.4",

View File

@@ -1,13 +1,42 @@
let fs = require("fs");
let process = require("process")
const fs = require("fs");
const process = require("process");
console.log("[NapCat] [CheckVersion] 开始检测当前仓库版本...");
let currentVersion = require("../package.json").version;
let targetVersion = process.env.VERSION;
console.log("[NapCat] [CheckVersion] currentVersion:", currentVersion, " targetVersion:", targetVersion);
// fs.mkdirSync("./dist");
if (currentVersion === targetVersion) {
fs.writeFileSync("./checkVersion.sh", "#!/bin/bashe\necho \"CheckVersion Is Done\"")
} else {
let runscript = "sed -i 's/\"version\": \"" + currentVersion + "\"/\"version\": \"" + targetVersion + "\"/g' package.json";
fs.writeFileSync("./checkVersion.sh", "#!/bin/bashe\ngit config --global user.email \"bot@test.wumiao.wang\"\n git config --global user.name \"Version\"\n" + runscript + "\ngit add .\n git commit -m \"chore:version change\"\n git push -u origin main")
try {
const packageJson = require("../package.json");
const currentVersion = packageJson.version;
const targetVersion = process.env.VERSION;
console.log("[NapCat] [CheckVersion] currentVersion:", currentVersion, "targetVersion:", targetVersion);
// 验证 targetVersion 格式
if (!targetVersion || typeof targetVersion !== 'string') {
console.error("[NapCat] [CheckVersion] 目标版本格式不正确或未设置!");
return;
}
// 写入脚本文件的统一函数
const writeScriptToFile = (content) => {
fs.writeFileSync("./checkVersion.sh", content, { flag: 'w' });
console.log("[NapCat] [CheckVersion] checkVersion.sh 文件已更新。");
};
if (currentVersion === targetVersion) {
// 不需要更新版本,写入一个简单的脚本
const simpleScript = "#!/bin/bash\necho \"CheckVersion Is Done\"";
writeScriptToFile(simpleScript);
} else {
// 更新版本构建安全的sed命令
const safeScriptContent = `
#!/bin/bash
git config --global user.email "bot@test.wumiao.wang"
git config --global user.name "Version"
sed -i "s/\\\"version\\\": \\\"${currentVersion}\\\"/\\\"version\\\": \\\"${targetVersion}\\\"/g" package.json
git add .
git commit -m "chore:version change"
git push -u origin main`;
writeScriptToFile(safeScriptContent);
}
} catch (error) {
console.error("[NapCat] [CheckVersion] 检测过程中发生错误:", error);
}

View File

@@ -15,4 +15,4 @@ for %%a in ("!RetString!") do (
set "QQPath=!pathWithoutUninstall!QQ.exe"
set ELECTRON_RUN_AS_NODE=1
echo !QQPath!
"!QQPath!" ./napcat.cjs %*
"!QQPath!" ./napcat.mjs %*

View File

@@ -5,11 +5,39 @@ function Get-QQpath {
return [System.IO.Path]::GetDirectoryName($uninstallString) + "\QQ.exe"
}
catch {
return "D:\QQ.exe"
throw "get QQ path error: $_"
}
}
function Select-QQPath {
Add-Type -AssemblyName System.Windows.Forms
[System.Windows.Forms.Application]::EnableVisualStyles()
$dialogTitle = "Select QQ.exe"
$filePicker = New-Object System.Windows.Forms.OpenFileDialog
$filePicker.Title = $dialogTitle
$filePicker.Filter = "Executable Files (*.exe)|*.exe|All Files (*.*)|*.*"
$filePicker.FilterIndex = 1
$null = $filePicker.ShowDialog()
if (-not ($filePicker.FileName)) {
throw "User did not select an .exe file."
}
return $filePicker.FileName
}
$params = $args -join " "
$QQpath = Get-QQpath
$Bootfile = Join-Path $PSScriptRoot "napcat.cjs"
Try {
$QQpath = Get-QQpath
}
Catch {
$QQpath = Select-QQPath
}
if (!(Test-Path $QQpath)) {
throw "provided QQ path is invalid: $QQpath"
}
$Bootfile = Join-Path $PSScriptRoot "napcat.mjs"
$env:ELECTRON_RUN_AS_NODE = 1
Start-Process powershell -ArgumentList "-noexit", "-noprofile", "-command &{& chcp 65001;& '$QQpath' $Bootfile $params}"
$commandInfo = Get-Command $QQpath -ErrorAction Stop
Start-Process powershell -ArgumentList "-noexit", "-noprofile", "-command &{& chcp 65001;& '$($commandInfo.Path)' $Bootfile $params}"

View File

@@ -14,4 +14,4 @@ for %%a in ("!RetString!") do (
set "QQPath=!pathWithoutUninstall!QQ.exe"
set ELECTRON_RUN_AS_NODE=1
echo !QQPath!
"!QQPath!" ./napcat.cjs %*
"!QQPath!" ./napcat.mjs %*

View File

@@ -5,11 +5,39 @@ function Get-QQpath {
return [System.IO.Path]::GetDirectoryName($uninstallString) + "\QQ.exe"
}
catch {
return "D:\QQ.exe"
throw "get QQ path error: $_"
}
}
function Select-QQPath {
Add-Type -AssemblyName System.Windows.Forms
[System.Windows.Forms.Application]::EnableVisualStyles()
$dialogTitle = "Select QQ.exe"
$filePicker = New-Object System.Windows.Forms.OpenFileDialog
$filePicker.Title = $dialogTitle
$filePicker.Filter = "Executable Files (*.exe)|*.exe|All Files (*.*)|*.*"
$filePicker.FilterIndex = 1
$null = $filePicker.ShowDialog()
if (-not ($filePicker.FileName)) {
throw "User did not select an .exe file."
}
return $filePicker.FileName
}
$params = $args -join " "
$QQpath = Get-QQpath
$Bootfile = Join-Path $PSScriptRoot "napcat.cjs"
Try {
$QQpath = Get-QQpath
}
Catch {
$QQpath = Select-QQPath
}
if (!(Test-Path $QQpath)) {
throw "provided QQ path is invalid: $QQpath"
}
$Bootfile = Join-Path $PSScriptRoot "napcat.mjs"
$env:ELECTRON_RUN_AS_NODE = 1
Start-Process powershell -ArgumentList "-noexit", "-noprofile", "-command &{& '$QQpath' $Bootfile $params}"
$commandInfo = Get-Command $QQpath -ErrorAction Stop
Start-Process powershell -ArgumentList "-noexit", "-noprofile", "-command &{& '$($commandInfo.Path)' $Bootfile $params}"

View File

@@ -1,4 +1,21 @@
#!/bin/bash
SCRIPT_DIR=$(realpath $(dirname "${BASH_SOURCE[0]}"))
get_script_dir() {
local script_path="${1:-$0}"
local script_dir
script_path=$(readlink -f "$script_path")
script_dir=$(dirname "$script_path")
echo "$script_dir"
}
SCRIPT_DIR=$(get_script_dir)
export ELECTRON_RUN_AS_NODE=1
/opt/QQ/qq ${SCRIPT_DIR}/napcat.cjs $@
if ! [ -x /opt/QQ/qq ]; then
echo "Error: /opt/QQ/qq is not executable or does not exist." >&2
exit 1
fi
/opt/QQ/qq "${SCRIPT_DIR}/napcat.mjs" "$@"

View File

@@ -37,14 +37,14 @@ export abstract class HttpServerBase {
const authHeader = req.get('authorization');
if (authHeader) {
clientToken = authHeader.split('Bearer ').pop() || '';
logDebug('receive http header token', clientToken);
//logDebug('receive http header token', clientToken);
} else if (req.query.access_token) {
if (Array.isArray(req.query.access_token)) {
clientToken = req.query.access_token[0].toString();
} else {
clientToken = req.query.access_token.toString();
}
logDebug('receive http url token', clientToken);
//logDebug('receive http url token', clientToken);
}
if (serverToken && clientToken != serverToken) {
@@ -61,12 +61,12 @@ export abstract class HttpServerBase {
this.listen(port, host);
} catch (e: any) {
logError('HTTP服务启动失败', e.toString());
// llonebotError.httpServerError = "HTTP服务启动失败, " + e.toString()
// httpServerError = "HTTP服务启动失败, " + e.toString()
}
}
stop() {
// llonebotError.httpServerError = ""
// httpServerError = ""
if (this.server) {
this.server.close();
this.server = null;
@@ -114,8 +114,10 @@ export abstract class HttpServerBase {
this.server = this.expressAPP.listen(port, host, () => {
const info = `${this.name} started ${host}:${port}`;
log(info);
}).on('error', (err) => {
logError('HTTP服务启动失败', err.toString());
});
}catch (e: any) {
} catch (e: any) {
logError('HTTP服务启动失败, 请检查监听的ip地址和端口', e.stack.toString());
}
}

View File

@@ -30,9 +30,10 @@ export class WebsocketServerBase {
start(port: number, host: string = '') {
try {
this.ws = new WebSocketServer({
port ,
port,
host: '',
maxPayload: 1024 * 1024 * 1024
}).on('error', () => {
});
log(`ws服务启动成功, ${host}:${port}`);
} catch (e: any) {

View File

@@ -1,6 +1,12 @@
import path from 'node:path';
import fs from 'node:fs';
import { log, logDebug, logError } from '@/common/utils/log';
import { dirname } from 'node:path';
import { fileURLToPath } from 'node:url';
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
const configDir = path.resolve(__dirname, 'config');
fs.mkdirSync(configDir, { recursive: true });

View File

@@ -0,0 +1,182 @@
import { NodeIKernelMsgListener } from '@/core';
import { NodeIQQNTWrapperSession } from '@/core/wrapper';
import { randomUUID } from 'crypto';
interface Internal_MapKey {
timeout: number,
createtime: number,
func: (...arg: any[]) => any,
}
export class ListenerClassBase {
[key: string]: string;
}
export interface ListenerIBase {
// eslint-disable-next-line @typescript-eslint/no-misused-new
new(listener: any): ListenerClassBase;
}
export class NTEventWrapper {
private ListenerMap: { [key: string]: ListenerIBase } | undefined;//ListenerName-Unique -> Listener构造函数
private WrapperSession: NodeIQQNTWrapperSession | undefined;//WrapperSession
private ListenerManger: Map<string, ListenerClassBase> = new Map<string, ListenerClassBase>(); //ListenerName-Unique -> Listener实例
private EventTask = new Map<string, Map<string, Map<string, Internal_MapKey>>>();//tasks ListenerMainName -> ListenerSubName-> uuid -> {timeout,createtime,func}
constructor() {
}
createProxyDispatch(ListenerMainName: string) {
// eslint-disable-next-line @typescript-eslint/no-this-alias
const current = this;
return new Proxy({}, {
get(target: any, prop: any, receiver: any) {
// console.log('get', prop, typeof target[prop]);
if (typeof target[prop] === 'undefined') {
// 如果方法不存在返回一个函数这个函数调用existentMethod
return (...args: any[]) => {
current.DispatcherListener.apply(current, [ListenerMainName, prop, ...args]).then();
};
}
// 如果方法存在,正常返回
return Reflect.get(target, prop, receiver);
}
});
}
init({ ListenerMap, WrapperSession }: { ListenerMap: { [key: string]: typeof ListenerClassBase }, WrapperSession: NodeIQQNTWrapperSession }) {
this.ListenerMap = ListenerMap;
this.WrapperSession = WrapperSession;
}
CreatEventFunction<T extends (...args: any) => any>(eventName: string): T | undefined {
const eventNameArr = eventName.split('/');
type eventType = {
[key: string]: () => { [key: string]: (...params: Parameters<T>) => Promise<ReturnType<T>> }
}
if (eventNameArr.length > 1) {
const serviceName = 'get' + eventNameArr[0].replace('NodeIKernel', '');
const eventName = eventNameArr[1];
//getNodeIKernelGroupListener,GroupService
//console.log('2', eventName);
const services = (this.WrapperSession as unknown as eventType)[serviceName]();
let event = services[eventName];
//重新绑定this
event = event.bind(services);
if (event) {
return event as T;
}
return undefined;
}
}
CreatListenerFunction<T>(listenerMainName: string, uniqueCode: string = ''): T {
const ListenerType = this.ListenerMap![listenerMainName];
let Listener = this.ListenerManger.get(listenerMainName + uniqueCode);
if (!Listener && ListenerType) {
Listener = new ListenerType(this.createProxyDispatch(listenerMainName));
const ServiceSubName = listenerMainName.match(/^NodeIKernel(.*?)Listener$/)![1];
const Service = 'NodeIKernel' + ServiceSubName + 'Service/addKernel' + ServiceSubName + 'Listener';
const addfunc = this.CreatEventFunction<(listener: T) => number>(Service);
addfunc!(Listener as T);
//console.log(addfunc!(Listener as T));
this.ListenerManger.set(listenerMainName + uniqueCode, Listener);
}
return Listener as T;
}
//统一回调清理事件
async DispatcherListener(ListenerMainName: string, ListenerSubName: string, ...args: any[]) {
//console.log(ListenerMainName, this.EventTask.get(ListenerMainName), ListenerSubName, this.EventTask.get(ListenerMainName)?.get(ListenerSubName));
this.EventTask.get(ListenerMainName)?.get(ListenerSubName)?.forEach((task, uuid) => {
//console.log(task.func, uuid, task.createtime, task.timeout);
if (task.createtime + task.timeout < Date.now()) {
this.EventTask.get(ListenerMainName)?.get(ListenerSubName)?.delete(uuid);
return;
}
task.func(...args);
});
}
async CallNoListenerEvent<EventType extends (...args: any[]) => Promise<any>,>(EventName = '', timeout: number = 3000, ...args: Parameters<EventType>) {
return new Promise<ReturnType<EventType>>(async (resolve, reject) => {
const EventFunc = this.CreatEventFunction<EventType>(EventName);
let complete = false;
const Timeouter = setTimeout(() => {
if (!complete) {
reject(new Error('NTEvent EventName:' + EventName + ' timeout'));
}
}, timeout);
const retData = await EventFunc!(...args);
complete = true;
resolve(retData);
});
}
async CallNormalEvent<EventType extends (...args: any[]) => Promise<any>, ListenerType extends (...args: any[]) => void>(EventName = '', ListenerName = '', waitTimes = 1, timeout: number = 3000, ...args: Parameters<EventType>) {
return new Promise<[EventRet: Awaited<ReturnType<EventType>>, ...Parameters<ListenerType>]>(async (resolve, reject) => {
const id = randomUUID();
let complete = 0;
let retData: ArrayLike<Parameters<ListenerType>> | undefined = undefined;
let retEvent: any = {};
const databack = () => {
if (complete < waitTimes) {
reject(new Error('NTEvent EventName:' + EventName + ' ListenerName:' + ListenerName + ' timeout'));
} else {
resolve([retEvent as Awaited<ReturnType<EventType>>, ...(retData as Parameters<ListenerType>)]);
}
};
const Timeouter = setTimeout(databack, timeout);
const ListenerNameList = ListenerName.split('/');
const ListenerMainName = ListenerNameList[0];
const ListenerSubName = ListenerNameList[1];
const eventCallbak = {
timeout: timeout,
createtime: Date.now(),
func: (...args: any[]) => {
complete++;
//console.log('func', ...args);
retData = args as ArrayLike<Parameters<ListenerType>>;
if (complete >= waitTimes) {
clearTimeout(Timeouter);
databack();
}
}
};
if (!this.EventTask.get(ListenerMainName)) {
this.EventTask.set(ListenerMainName, new Map());
}
if (!(this.EventTask.get(ListenerMainName)?.get(ListenerSubName))) {
this.EventTask.get(ListenerMainName)?.set(ListenerSubName, new Map());
}
this.EventTask.get(ListenerMainName)?.get(ListenerSubName)?.set(id, eventCallbak);
this.CreatListenerFunction(ListenerMainName);
const EventFunc = this.CreatEventFunction<EventType>(EventName);
retEvent = await EventFunc!(...args);
});
}
}
export const NTEventDispatch = new NTEventWrapper();
// 示例代码 快速创建事件
// let NTEvent = new NTEventWrapper();
// let TestEvent = NTEvent.CreatEventFunction<(force: boolean) => Promise<Number>>('NodeIKernelProfileLikeService/GetTest');
// if (TestEvent) {
// TestEvent(true);
// }
// 示例代码 快速创建监听Listener类
// let NTEvent = new NTEventWrapper();
// NTEvent.CreatListenerFunction<NodeIKernelMsgListener>('NodeIKernelMsgListener', 'core')
// 调用接口
//let NTEvent = new NTEventWrapper();
//let ret = await NTEvent.CallNormalEvent<(force: boolean) => Promise<Number>, (data1: string, data2: number) => void>('NodeIKernelProfileLikeService/GetTest', 'NodeIKernelMsgListener/onAddSendMsg', 1, 3000, true);
// 注册监听 解除监听
// NTEventDispatch.RigisterListener('NodeIKernelMsgListener/onAddSendMsg','core',cb);
// NTEventDispatch.UnRigisterListener('NodeIKernelMsgListener/onAddSendMsg','core');
// let GetTest = NTEventDispatch.CreatEvent('NodeIKernelProfileLikeService/GetTest','NodeIKernelMsgListener/onAddSendMsg',Mode);
// GetTest('test');
// always模式
// NTEventDispatch.CreatEvent('NodeIKernelProfileLikeService/GetTest','NodeIKernelMsgListener/onAddSendMsg',Mode,(...args:any[])=>{ console.log(args) });

View File

@@ -0,0 +1,145 @@
import { logError, logDebug } from '@/common/utils/log';
type group_id = number;
type user_id = number;
class cacheNode<T> {
value: T;
groupId: group_id;
userId: user_id;
prev: cacheNode<T> | null;
next: cacheNode<T> | null;
timestamp: number;
constructor(groupId: group_id, userId: user_id, value: T) {
this.groupId = groupId;
this.userId = userId;
this.value = value;
this.prev = null;
this.next = null;
this.timestamp = Date.now();
}
}
type cache<T> = { [key: group_id]: { [key: user_id]: cacheNode<T> } };
class LRU<T> {
private maxAge: number;
private maxSize: number;
private currentSize: number;
private cache: cache<T>;
private head: cacheNode<T> | null = null;
private tail: cacheNode<T> | null = null;
private onFuncs: ((node: cacheNode<T>) => void)[] = [];
constructor(maxAge: number = 2e4, maxSize: number = 5e3) {
this.maxAge = maxAge;
this.maxSize = maxSize;
this.cache = Object.create(null);
this.currentSize = 0;
if (maxSize == 0) return;
setInterval(() => this.removeExpired(), this.maxAge);
}
// 移除LRU节点
private removeLRUNode(node: cacheNode<T>) {
logDebug(
'removeLRUNode',
node.groupId,
node.userId,
node.value,
this.currentSize
);
node.prev = node.next = null;
delete this.cache[node.groupId][node.userId];
this.removeNode(node);
this.onFuncs.forEach((func) => func(node));
this.currentSize--;
}
public on(func: (node: cacheNode<T>) => void) {
this.onFuncs.push(func);
}
private removeExpired() {
const now = Date.now();
let current = this.tail;
const nodesToRemove: cacheNode<T>[] = [];
let removedCount = 0;
// 收集需要删除的节点
while (current && now - current.timestamp > this.maxAge) {
nodesToRemove.push(current);
current = current.prev;
removedCount++;
if (removedCount >= 100) break;
}
// 更新链表指向
if (nodesToRemove.length > 0) {
const newTail = nodesToRemove[nodesToRemove.length - 1].prev;
if (newTail) {
newTail.next = null;
} else {
this.head = null;
}
this.tail = newTail;
}
nodesToRemove.forEach((node) => {
node.prev = node.next = null;
delete this.cache[node.groupId][node.userId];
this.currentSize--;
this.onFuncs.forEach((func) => func(node));
});
}
private addNode(node: cacheNode<T>) {
node.next = this.head;
if (this.head) this.head.prev = node;
if (!this.tail) this.tail = node;
this.head = node;
}
private removeNode(node: cacheNode<T>) {
if (node.prev) node.prev.next = node.next;
if (node.next) node.next.prev = node.prev;
if (node === this.head) this.head = node.next;
if (node === this.tail) this.tail = node.prev;
}
private moveToHead(node: cacheNode<T>) {
if (this.head === node) return;
this.removeNode(node);
this.addNode(node);
node.prev = null;
}
public set(groupId: group_id, userId: user_id, value: T) {
if (!this.cache[groupId]) {
this.cache[groupId] = Object.create(null);
}
const groupObject = this.cache[groupId];
if (groupObject[userId]) {
const node = groupObject[userId];
node.value = value;
node.timestamp = Date.now();
this.moveToHead(node);
} else {
const node = new cacheNode(groupId, userId, value);
groupObject[userId] = node;
this.currentSize++;
this.addNode(node);
if (this.currentSize > this.maxSize) {
const tail = this.tail!;
this.removeLRUNode(tail);
}
}
}
}
export default LRU;

View File

@@ -55,7 +55,7 @@ if (fs.existsSync(configVersionInfoPath)) {
export const qqVersionConfigInfo: QQVersionConfigInfo = _qqVersionConfigInfo;
export const qqPkgInfo: QQPkgInfo = require(pkgInfoPath);
export const qqPkgInfo: QQPkgInfo = JSON.parse(fs.readFileSync(pkgInfoPath).toString());
// platform_type: 3,
// app_type: 4,
// app_version: '9.9.9-23159',

View File

@@ -1,7 +1,12 @@
import * as os from 'os';
import path from 'node:path';
import fs from 'fs';
import { dirname } from 'node:path';
import { fileURLToPath } from 'node:url';
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
export function getModuleWithArchName(moduleName: string) {
const systemPlatform = os.platform();
const cpuArch = os.arch();
@@ -14,6 +19,6 @@ export function cpModule(moduleName: string) {
try {
fs.copyFileSync(path.join(currentDir, fileName), path.join(currentDir, `${moduleName}.node`));
} catch (e) {
console.error(e);
}
}

509
src/common/utils/db.ts Normal file
View File

@@ -0,0 +1,509 @@
import { ElementType, FileElement, PicElement, PttElement, RawMessage, VideoElement } from '../../core/src/entities';
import sqlite3 from 'sqlite3';
import { log, logDebug, logError } from '@/common/utils/log';
import { NTQQMsgApi } from '@/core';
import LRU from '@/common/utils/LRUCache';
export interface IRember {
last_sent_time: number;
join_time: number;
user_id: number;
}
type DBMsg = {
id: number,
shortId: number,
longId: string,
seq: number,
peerUid: string,
chatType: number,
}
type DBFile = {
name: string; // 文件名
path: string;
url: string;
size: number;
uuid: string;
msgId: string;
elementId: string;
element: PicElement | VideoElement | FileElement | PttElement;
elementType: ElementType.PIC | ElementType.VIDEO | ElementType.FILE | ElementType.PTT;
}
class DBUtilBase {
protected db: sqlite3.Database | undefined;
async init(dbPath: string) {
if (this.db) {
return;
}
return new Promise<void>((resolve, reject) => {
this.db = new sqlite3.Database(dbPath, sqlite3.OPEN_READWRITE | sqlite3.OPEN_CREATE, (err) => {
if (err) {
logError('Could not connect to database', err);
reject(err);
return;
}
this.createTable();
resolve();
});
});
}
protected createTable() {
throw new Error('Method not implemented.');
}
close() {
this.db?.close();
}
}
class DBUtil extends DBUtilBase {
private msgCache: Map<string | number, RawMessage> = new Map<string | number, RawMessage>();
private globalMsgShortId = -2147483640;
private groupIds: number[] = [];
private LURCache = new LRU<number>();
private LastSentCache = new (class {
private cache: { gid: number; uid: number }[] = [];
private maxSize: number;
constructor(maxSize: number = 5000) {
this.maxSize = maxSize;
}
get(gid: number, uid: number): boolean {
const exists = this.cache.some(
(entry) => entry.gid === gid && entry.uid === uid
);
if (!exists) {
this.cache.push({ gid, uid });
if (this.cache.length > this.maxSize) {
this.cache.shift();
}
}
return exists;
}
})();
constructor() {
super();
const interval = 1000 * 60 * 10; // 10分钟清理一次缓存
setInterval(() => {
logDebug('清理消息缓存');
this.msgCache.forEach((msg, key) => {
if ((Date.now() - parseInt(msg.msgTime) * 1000) > interval) {
this.msgCache.delete(key);
}
});
}, interval);
}
async init(dbPath: string) {
await super.init(dbPath);
this.globalMsgShortId = await this.getCurrentMaxShortId();
// 初始化群缓存列表
this.db!.serialize(() => {
const sql = 'SELECT * FROM sqlite_master WHERE type=\'table\'';
this.db!.all(sql, [], (err, rows: { name: string }[]) => {
if (err) return logError(err);
rows.forEach((row) => this.groupIds.push(parseInt(row.name)));
//logDebug(`已加载 ${groupIds.length} 个群`);
});
});
this.LURCache.on(async (node) => {
const { value: time, groupId, userId } = node;
logDebug('插入发言时间', userId, groupId);
await this.createGroupInfoTimeTableIfNotExist(groupId);
const method = await this.getDataSetMethod(groupId, userId);
logDebug('插入发言时间方法判断', userId, groupId, method);
const sql =
method == 'update'
? `UPDATE "${groupId}" SET last_sent_time = ? WHERE user_id = ?`
: `INSERT INTO "${groupId}" (last_sent_time, user_id) VALUES (?, ?)`;
this.db!.all(sql, [time, userId], (err) => {
if (err) {
return logError('插入/更新发言时间失败', userId, groupId);
}
logDebug('插入/更新发言时间成功', userId, groupId);
});
});
}
async getDataSetMethod(groupId: number, userId: number) {
// 缓存记录
if (this.LastSentCache.get(groupId, userId)) {
logDebug('缓存命中', userId, groupId);
return 'update';
}
// 数据库判断
return new Promise<'insert' | 'update'>((resolve, reject) => {
this.db!.all(
`SELECT * FROM "${groupId}" WHERE user_id = ?`,
[userId],
(err, rows) => {
if (err) {
logError('查询发言时间存在失败', userId, groupId, err);
return logError('插入发言时间失败', userId, groupId, err);
}
if (rows.length === 0) {
logDebug('查询发言时间不存在', userId, groupId);
return resolve('insert');
}
logDebug('查询发言时间存在', userId, groupId);
resolve('update');
}
);
});
}
async createGroupInfoTimeTableIfNotExist(groupId: number) {
const createTableSQL = (groupId: number) =>
`CREATE TABLE IF NOT EXISTS "${groupId}" (
user_id INTEGER,
last_sent_time INTEGER,
join_time INTEGER,
PRIMARY KEY (user_id)
);`;
if (this.groupIds.includes(groupId)) {
return;
}
return new Promise((resolve, reject) => {
const sql = createTableSQL(groupId);
this.db!.all(sql, (err) => {
if (err) {
reject(err);
return;
}
this.groupIds.push(groupId);
resolve(true);
});
});
}
protected createTable() {
// 消息记录
const createTableSQL = `
CREATE TABLE IF NOT EXISTS msgs (
id INTEGER PRIMARY KEY AUTOINCREMENT,
shortId INTEGER NOT NULL UNIQUE,
longId TEXT NOT NULL UNIQUE,
seq INTEGER NOT NULL,
peerUid TEXT NOT NULL,
chatType INTEGER NOT NULL
)`;
this.db!.run(createTableSQL, function (err) {
if (err) {
logError('Could not create table msgs', err.stack);
}
});
// 文件缓存
const createFileTableSQL = `
CREATE TABLE IF NOT EXISTS files (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
path TEXT NOT NULL,
url TEXT,
size INTEGER NOT NULL,
uuid TEXT,
elementType INTEGER,
element TEXT NOT NULL,
elementId TEXT NOT NULL,
msgId TEXT NOT NULL
)`;
this.db!.run(createFileTableSQL, function (err) {
if (err) {
logError('Could not create table files', err);
}
});
// 接收到的临时会话消息uid
const createTempUinTableSQL = `
CREATE TABLE IF NOT EXISTS temp_uins (
id INTEGER PRIMARY KEY AUTOINCREMENT,
uid TEXT,
uin TEXT
)`;
this.db!.run(createTempUinTableSQL, function (err) {
if (err) {
logError('Could not create table temp_uins', err);
}
});
}
private async getCurrentMaxShortId() {
return new Promise<number>((resolve, reject) => {
this.db!.get('SELECT MAX(shortId) as maxId FROM msgs', (err, row: { maxId: number }) => {
if (err) {
logDebug('Could not get max short id, Use default -2147483640', err);
return resolve(-2147483640);
}
logDebug('数据库中消息最大短id', row?.maxId);
resolve(row?.maxId ?? -2147483640);
});
});
}
private async getMsg(query: string, params: any[]) {
const stmt = this.db!.prepare(query);
return new Promise<RawMessage | null>((resolve, reject) => {
stmt.get(...params, (err: any, row: DBMsg) => {
// log("getMsg", row, err);
if (err) {
logError('Could not get msg', err, query, params);
return resolve(null);
}
if (!row) {
// logDebug('不存在数据库中的消息,不进行处理', query, params);
resolve(null);
return;
}
const msgId = row.longId;
NTQQMsgApi.getMsgsByMsgId({ peerUid: row.peerUid, chatType: row.chatType }, [msgId]).then(res => {
const msg = res.msgList[0];
if (!msg) {
resolve(null);
return;
}
msg.id = row.shortId;
resolve(msg);
}).catch(e => {
resolve(null);
});
});
});
}
async getMsgByShortId(shortId: number): Promise<RawMessage | null> {
if (this.msgCache.has(shortId)) {
return this.msgCache.get(shortId)!;
}
const getStmt = 'SELECT * FROM msgs WHERE shortId = ?';
return this.getMsg(getStmt, [shortId]);
}
async getMsgByLongId(longId: string): Promise<RawMessage | null> {
if (this.msgCache.has(longId)) {
return this.msgCache.get(longId)!;
}
return this.getMsg('SELECT * FROM msgs WHERE longId = ?', [longId]);
}
async getMsgBySeq(peerUid: string, seq: string): Promise<RawMessage | null> {
const stmt = 'SELECT * FROM msgs WHERE peerUid = ? AND seq = ?';
return this.getMsg(stmt, [peerUid, seq]);
}
async addMsg(msg: RawMessage, update = true): Promise<number> {
const existMsg = await this.getMsgByLongId(msg.msgId);
if (existMsg) {
// logDebug('消息已存在,更新数据库', msg.msgId);
if (update) this.updateMsg(msg).then();
return existMsg.id!;
}
const stmt = this.db!.prepare('INSERT INTO msgs (shortId, longId, seq, peerUid, chatType) VALUES (?, ?, ?, ?, ?)');
// const runAsync = promisify(stmt.run.bind(stmt));
const shortId = ++this.globalMsgShortId;
msg.id = shortId;
//logDebug(`记录消息到数据库, 消息长id: ${msg.msgId}, 短id: ${msg.id}`);
this.msgCache.set(shortId, msg);
this.msgCache.set(msg.msgId, msg);
stmt.run(this.globalMsgShortId, msg.msgId, msg.msgSeq.toString(), msg.peerUid, msg.chatType, (err: any) => {
if (err) {
if (err.errno === 19) {
this.getMsgByLongId(msg.msgId).then((msg: RawMessage | null) => {
if (msg) {
this.msgCache.set(shortId, msg);
this.msgCache.set(msg.msgId, msg);
// logDebug('获取消息短id成功', msg.id);
} else {
logError('db could not get msg by long id', err);
}
}).catch(e => logError('db getMsgByLongId error', e));
} else {
logError('db could not add msg', err);
}
}
});
return shortId;
}
async updateMsg(msg: RawMessage) {
const existMsg = this.msgCache.get(msg.msgId);
if (existMsg) {
Object.assign(existMsg, msg);
}
//logDebug(`更新消息, shortId:${msg.id}, seq: ${msg.msgSeq}, msgId: ${msg.msgId}`);
const stmt = this.db!.prepare('UPDATE msgs SET seq=? WHERE longId=?');
stmt.run(msg.msgSeq, msg.msgId, (err: any) => {
if (err) {
logError('updateMsg db error', err);
}
});
}
async addFileCache(file: DBFile) {
const stmt = this.db!.prepare('INSERT INTO files (name, path, url, size, uuid, elementType ,element, elementId, msgId) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)');
return new Promise((resolve, reject) => {
stmt.run(file.name, file.path, file.url, file.size, file.uuid,
file.elementType,
JSON.stringify(file.element),
file.elementId,
file.msgId,
function (err: any) {
if (err) {
logError('db could not add file', err);
reject(err);
}
resolve(null);
});
});
}
private async getFileCache(query: string, params: any[]) {
const stmt = this.db!.prepare(query);
return new Promise<DBFile | null>((resolve, reject) => {
stmt.get(...params, (err: any, row: DBFile & { element: string }) => {
if (err) {
logError('db could not get file cache', err);
reject(err);
}
if (row) {
row.element = JSON.parse(row.element);
}
resolve(row);
});
});
}
async getFileCacheByName(name: string): Promise<DBFile | null> {
return this.getFileCache('SELECT * FROM files WHERE name = ?', [name]);
}
async getFileCacheByUuid(uuid: string): Promise<DBFile | null> {
return this.getFileCache('SELECT * FROM files WHERE uuid = ?', [uuid]);
}
// todo: 是否所有的文件都有uuid语音消息有没有uuid
async updateFileCache(file: DBFile) {
const stmt = this.db!.prepare('UPDATE files SET path = ?, url = ? WHERE uuid = ?');
return new Promise((resolve, reject) => {
stmt.run(file.path, file.url, file.uuid, function (err: any) {
if (err) {
logError('db could not update file cache', err);
reject(err);
}
resolve(null);
});
});
}
// 被动收到的临时会话消息uin->uid
async getReceivedTempUinMap() {
const stmt = 'SELECT * FROM temp_uins';
return new Promise<Record<string, string>>((resolve, reject) => {
this.db!.all(stmt, (err, rows: { uin: string, uid: string }[]) => {
if (err) {
logError('db could not get temp uin map', err);
reject(err);
}
const map: Record<string, string> = {};
rows.forEach(row => {
map[row.uin] = row.uid;
});
resolve(map);
});
});
}
// 通过uin获取临时会话消息uid
async getUidByTempUin(uid: string) {
const stmt = 'SELECT * FROM temp_uins WHERE uin = ?';
return new Promise<string>((resolve, reject) => {
this.db!.get(stmt, [uid], (err, row: { uin: string, uid: string }) => {
if (err) {
logError('db could not get temp uin map', err);
reject(err);
}
resolve(row?.uid);
});
});
}
async addTempUin(uin: string, uid: string) {
const existUid = await this.getUidByTempUin(uin);
if (!existUid) {
const stmt = this.db!.prepare('INSERT INTO temp_uins (uin, uid) VALUES (?, ?)');
return new Promise((resolve, reject) => {
stmt.run(uin, uid, function (err: any) {
if (err) {
logError('db could not add temp uin', err);
reject(err);
}
resolve(null);
});
});
}
}
async getLastSentTimeAndJoinTime(
groupId: number
): Promise<IRember[]> {
logDebug('读取发言时间', groupId);
return new Promise<IRember[]>((resolve, reject) => {
this.db!.all(`SELECT * FROM "${groupId}" `, (err, rows: IRember[]) => {
if (err) {
logError('查询发言时间失败', groupId);
return resolve([]);
}
logDebug('查询发言时间成功', groupId, rows);
resolve(rows);
});
});
}
insertLastSentTime(
groupId: number,
userId: number,
time: number
) {
this.LURCache.set(groupId, userId, time);
}
async insertJoinTime(
groupId: number,
userId: number,
time: number
) {
await this.createGroupInfoTimeTableIfNotExist(groupId);
this.db!.all(
`INSERT OR REPLACE INTO "${groupId}" (user_id, last_sent_time, join_time) VALUES (?,?,?)`,
[userId, time, time],
(err) => {
if (err)
logError(err),
Promise.reject(),
console.log('插入入群时间失败', userId, groupId);
}
);
}
}
export const dbUtil = new DBUtil();

View File

@@ -4,7 +4,7 @@ import crypto from 'crypto';
import util from 'util';
import path from 'node:path';
import { log } from './log';
import { dbUtil } from '@/core/utils/db';
import { dbUtil } from '@/common/utils/db';
import * as fileType from 'file-type';
import { v4 as uuidv4 } from 'uuid';
import { napCatCore } from '@/core';
@@ -125,7 +125,7 @@ export async function httpDownload(options: string | HttpDownloadOptions): Promi
}
}
}
const fetchRes = await fetch(url, headers);
const fetchRes = await fetch(url, { headers });
if (!fetchRes.ok) throw new Error(`下载文件失败: ${fetchRes.statusText}`);
const blob = await fetchRes.blob();

View File

@@ -1,5 +1,13 @@
import crypto from 'node:crypto';
import path from 'node:path';
import fs from 'fs/promises';
import { log, logDebug } from './log';
import { dirname } from 'node:path';
import { fileURLToPath } from 'node:url';
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
export function sleep(ms: number): Promise<void> {
return new Promise(resolve => setTimeout(resolve, ms));
}
@@ -35,3 +43,142 @@ export function truncateString(obj: any, maxLength = 500) {
}
return obj;
}
/**
* 函数缓存装饰器根据方法名、参数、自定义key生成缓存键在一定时间内返回缓存结果
* @param ttl 超时时间,单位毫秒
* @param customKey 自定义缓存键前缀,可为空,防止方法名参数名一致时导致缓存键冲突
* @returns 处理后缓存或调用原方法的结果
*/
export function cacheFunc(ttl: number, customKey: string = '') {
const cache = new Map<string, { expiry: number; value: any }>();
return function (target: any, propertyKey: string, descriptor: PropertyDescriptor): PropertyDescriptor {
const originalMethod = descriptor.value;
const className = target.constructor.name; // 获取类名
const methodName = propertyKey; // 获取方法名
descriptor.value = async function (...args: any[]) {
const cacheKey = `${customKey}${className}.${methodName}:${JSON.stringify(args)}`;
const cached = cache.get(cacheKey);
if (cached && cached.expiry > Date.now()) {
return cached.value;
} else {
const result = await originalMethod.apply(this, args);
cache.set(cacheKey, { value: result, expiry: Date.now() + ttl });
return result;
}
};
return descriptor;
};
}
export function isValidOldConfig(config: any) {
if (typeof config !== 'object') {
return false;
}
const requiredKeys = [
'httpHost', 'httpPort', 'httpPostUrls', 'httpSecret',
'wsHost', 'wsPort', 'wsReverseUrls', 'enableHttp',
'enableHttpHeart', 'enableHttpPost', 'enableWs', 'enableWsReverse',
'messagePostFormat', 'reportSelfMessage', 'enableLocalFile2Url',
'debug', 'heartInterval', 'token', 'musicSignUrl'
];
for (const key of requiredKeys) {
if (!(key in config)) {
return false;
}
}
if (!Array.isArray(config.httpPostUrls) || !Array.isArray(config.wsReverseUrls)) {
return false;
}
if (config.httpPostUrls.some((url: any) => typeof url !== 'string')) {
return false;
}
if (config.wsReverseUrls.some((url: any) => typeof url !== 'string')) {
return false;
}
if (typeof config.httpPort !== 'number' || typeof config.wsPort !== 'number' || typeof config.heartInterval !== 'number') {
return false;
}
if (
typeof config.enableHttp !== 'boolean' ||
typeof config.enableHttpHeart !== 'boolean' ||
typeof config.enableHttpPost !== 'boolean' ||
typeof config.enableWs !== 'boolean' ||
typeof config.enableWsReverse !== 'boolean' ||
typeof config.enableLocalFile2Url !== 'boolean' ||
typeof config.reportSelfMessage !== 'boolean'
) {
return false;
}
if (config.messagePostFormat !== 'array' && config.messagePostFormat !== 'string') {
return false;
}
return true;
}
export function migrateConfig(oldConfig: any) {
const newConfig = {
http: {
enable: oldConfig.enableHttp,
host: oldConfig.httpHost,
port: oldConfig.httpPort,
secret: oldConfig.httpSecret,
enableHeart: oldConfig.enableHttpHeart,
enablePost: oldConfig.enableHttpPost,
postUrls: oldConfig.httpPostUrls,
},
ws: {
enable: oldConfig.enableWs,
host: oldConfig.wsHost,
port: oldConfig.wsPort,
},
reverseWs: {
enable: oldConfig.enableWsReverse,
urls: oldConfig.wsReverseUrls,
},
GroupLocalTime: {
Record: false,
RecordList: []
},
debug: oldConfig.debug,
heartInterval: oldConfig.heartInterval,
messagePostFormat: oldConfig.messagePostFormat,
enableLocalFile2Url: oldConfig.enableLocalFile2Url,
musicSignUrl: oldConfig.musicSignUrl,
reportSelfMessage: oldConfig.reportSelfMessage,
token: oldConfig.token,
};
return newConfig;
}
// 升级旧的配置到新的
export async function UpdateConfig() {
const configFiles = await fs.readdir(path.join(__dirname, 'config'));
for (const file of configFiles) {
if (file.match(/^onebot11_\d+.json$/)) {
const CurrentConfig = JSON.parse(await fs.readFile(path.join(__dirname, 'config', file), 'utf8'));
if (isValidOldConfig(CurrentConfig)) {
log('正在迁移旧配置到新配置 File:', file);
const NewConfig = migrateConfig(CurrentConfig);
await fs.writeFile(path.join(__dirname, 'config', file), JSON.stringify(NewConfig, null, 2));
}
}
}
}
export function isEqual(obj1: any, obj2: any) {
if (obj1 === obj2) return true;
if (obj1 == null || obj2 == null) return false;
if (typeof obj1 !== 'object' || typeof obj2 !== 'object') return obj1 === obj2;
const keys1 = Object.keys(obj1);
const keys2 = Object.keys(obj2);
if (keys1.length !== keys2.length) return false;
for (const key of keys1) {
if (!isEqual(obj1[key], obj2[key])) return false;
}
return true;
}

View File

@@ -2,6 +2,12 @@ import log4js, { Configuration } from 'log4js';
import { truncateString } from '@/common/utils/helper';
import path from 'node:path';
import { SelfInfo } from '@/core';
import { dirname } from 'node:path';
import { fileURLToPath } from 'node:url';
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
export enum LogLevel {
DEBUG = 'debug',
@@ -21,7 +27,8 @@ function getFormattedTimestamp() {
const hours = now.getHours().toString().padStart(2, '0');
const minutes = now.getMinutes().toString().padStart(2, '0');
const seconds = now.getSeconds().toString().padStart(2, '0');
return `${year}-${month}-${day}_${hours}-${minutes}-${seconds}`;
const milliseconds = now.getMilliseconds().toString().padStart(3, '0');
return `${year}-${month}-${day}_${hours}-${minutes}-${seconds}.${milliseconds}`;
}
const filename = `${getFormattedTimestamp()}.log`;

View File

@@ -1,5 +1,5 @@
// QQ等级换算
import { QQLevel } from '../../core/src/entities';
import { QQLevel } from '@/core/entities';
export function calcQQLevel(level: QQLevel) {
const { crownNum, sunNum, moonNum, starNum } = level;

View File

@@ -1,15 +1,44 @@
import { exit } from "process";
import { resolve } from "path";
async function reboot() {
let batScript = resolve(__dirname, './napcat.bat');
let batUtf8Script = resolve(__dirname, './napcat-utf8.bat');
let bashScript = resolve(__dirname, './napcat.sh');
//如果是win系统写出 5s延迟启动 默认batUtf8Script启动
// 如果是linux系统写出 5s延迟启动 默认bashScript启动
import { resolve } from 'node:path';
import { spawn } from 'node:child_process';
import { pid, ppid, exit } from 'node:process';
import { dirname } from 'node:path';
import { fileURLToPath } from 'node:url';
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
export async function rebootWithQuickLogin(uin: string) {
const batScript = resolve(__dirname, './napcat.bat');
const batUtf8Script = resolve(__dirname, './napcat-utf8.bat');
const bashScript = resolve(__dirname, './napcat.sh');
if (process.platform === 'win32') {
// console.log('正在重启...');
const subProcess = spawn(`start ${batUtf8Script} -q ${uin}`, { detached: true, windowsHide: false, env: process.env, shell: true, stdio: 'ignore' });
subProcess.unref();
// 子父进程一起送走 有点效果
spawn('cmd /c taskkill /t /f /pid ' + pid.toString(), { detached: true, shell: true, stdio: 'ignore' });
spawn('cmd /c taskkill /t /f /pid ' + ppid.toString(), { detached: true, shell: true, stdio: 'ignore' });
} else if (process.platform === 'linux') {
//console.log('正在重启...');
}
const subProcess = spawn(`${bashScript} -q ${uin}`, { detached: true, windowsHide: false, env: process.env, shell: true, stdio: 'ignore' });
//还没兼容
subProcess.unref();
exit(0);
}
//exit(0);
}
export async function rebootWithNormolLogin() {
const batScript = resolve(__dirname, './napcat.bat');
const batUtf8Script = resolve(__dirname, './napcat-utf8.bat');
const bashScript = resolve(__dirname, './napcat.sh');
if (process.platform === 'win32') {
const subProcess = spawn(`start ${batUtf8Script} `, { detached: true, windowsHide: false, env: process.env, shell: true, stdio: 'ignore' });
subProcess.unref();
// 子父进程一起送走 有点效果
spawn('cmd /c taskkill /t /f /pid ' + pid.toString(), { detached: true, shell: true, stdio: 'ignore' });
spawn('cmd /c taskkill /t /f /pid ' + ppid.toString(), { detached: true, shell: true, stdio: 'ignore' });
} else if (process.platform === 'linux') {
const subProcess = spawn(`${bashScript}`, { detached: true, windowsHide: false, env: process.env, shell: true });
subProcess.unref();
exit(0);
}
}

View File

@@ -1,57 +1,106 @@
const https = require('node:https');
export async function HttpGetCookies(url: string): Promise<Map<string, string>> {
import https from 'node:https';
import http from 'node:http';
export class RequestUtil {
// 适用于获取服务器下发cookies时获取仅GET
static async HttpsGetCookies(url: string): Promise<{ [key: string]: string }> {
const client = url.startsWith('https') ? https : http;
return new Promise((resolve, reject) => {
const result: Map<string, string> = new Map<string, string>();
const req = https.get(url, (res: any) => {
res.on('data', (data: any) => {
client.get(url, (res) => {
let cookies: { [key: string]: string } = {};
const handleRedirect = (res: http.IncomingMessage) => {
//console.log(res.headers.location);
if (res.statusCode === 301 || res.statusCode === 302) {
if (res.headers.location) {
const redirectUrl = new URL(res.headers.location, url);
RequestUtil.HttpsGetCookies(redirectUrl.href).then((redirectCookies) => {
// 合并重定向过程中的cookies
cookies = { ...cookies, ...redirectCookies };
resolve(cookies);
});
} else {
resolve(cookies);
}
} else {
resolve(cookies);
}
};
res.on('data', () => { }); // Necessary to consume the stream
res.on('end', () => {
handleRedirect(res);
});
if (res.headers['set-cookie']) {
//console.log(res.headers['set-cookie']);
res.headers['set-cookie'].forEach((cookie) => {
const parts = cookie.split(';')[0].split('=');
const key = parts[0];
const value = parts[1];
if (key && value && key.length > 0 && value.length > 0) {
cookies[key] = value;
}
});
}
}).on('error', (err) => {
reject(err);
});
});
}
// 请求和回复都是JSON data传原始内容 自动编码json
static async HttpGetJson<T>(url: string, method: string = 'GET', data?: any, headers: Record<string, string> = {}, isJsonRet: boolean = true, isArgJson: boolean = true): Promise<T> {
const option = new URL(url);
const protocol = url.startsWith('https://') ? https : http;
const options = {
hostname: option.hostname,
port: option.port,
path: option.href,
method: method,
headers: headers
};
return new Promise((resolve, reject) => {
const req = protocol.request(options, (res: any) => {
let responseBody = '';
res.on('data', (chunk: string | Buffer) => {
responseBody += chunk.toString();
});
res.on('end', () => {
try {
const responseCookies = res.headers['set-cookie'];
for (const line of responseCookies) {
const parts = line.split(';');
const [key, value] = parts[0].split('=');
result.set(key, value);
if (res.statusCode && res.statusCode >= 200 && res.statusCode < 300) {
if (isJsonRet) {
const responseJson = JSON.parse(responseBody);
resolve(responseJson as T);
} else {
resolve(responseBody as T);
}
} catch (e) {
} else {
reject(new Error(`Unexpected status code: ${res.statusCode}`));
}
resolve(result);
} catch (parseError) {
reject(parseError);
}
});
});
});
});
req.on('error', (error: any) => {
resolve(result);
// console.log(error)
reject(error);
});
if (method === 'POST' || method === 'PUT' || method === 'PATCH') {
if (isArgJson) {
req.write(JSON.stringify(data));
} else {
req.write(data);
}
}
req.end();
});
}
export async function HttpPostCookies(url: string): Promise<Map<string, string>> {
return new Promise((resolve, reject) => {
const result: Map<string, string> = new Map<string, string>();
const req = https.get(url, (res: any) => {
res.on('data', (data: any) => {
});
res.on('end', () => {
try {
const responseCookies = res.headers['set-cookie'];
for (const line of responseCookies) {
const parts = line.split(';');
const [key, value] = parts[0].split('=');
result.set(key, value);
}
} catch (e) {
// 请求返回都是原始内容
static async HttpGetText(url: string, method: string = 'GET', data?: any, headers: Record<string, string> = {}) {
return this.HttpGetJson<string>(url, method, data, headers, false, false);
}
resolve(result);
});
});
req.on('error', (error: any) => {
resolve(result);
// console.log(error)
});
req.end();
});
}

View File

@@ -1,10 +1,74 @@
import os from 'node:os';
import path from 'node:path';
import { networkInterfaces } from 'os';
import { v4 as uuidv4 } from 'uuid';
// 缓解Win7设备兼容性问题
let osName: string;
// 设备ID
let machineId: Promise<string>;
try {
osName = os.hostname();
} catch (e) {
osName = 'NapCat'; // + crypto.randomUUID().substring(0, 4);
}
const invalidMacAddresses = new Set([
'00:00:00:00:00:00',
'ff:ff:ff:ff:ff:ff',
'ac:de:48:00:11:22'
]);
function validateMacAddress(candidate: string): boolean {
// eslint-disable-next-line no-useless-escape
const tempCandidate = candidate.replace(/\-/g, ':').toLowerCase();
return !invalidMacAddresses.has(tempCandidate);
}
export async function getMachineId(): Promise<string> {
if (!machineId) {
machineId = (async () => {
const id = await getMacMachineId();
return id || uuidv4(); // fallback, generate a UUID
})();
}
return machineId;
}
export function getMac(): string {
const ifaces = networkInterfaces();
for (const name in ifaces) {
const networkInterface = ifaces[name];
if (networkInterface) {
for (const { mac } of networkInterface) {
if (validateMacAddress(mac)) {
return mac;
}
}
}
}
throw new Error('Unable to retrieve mac address (unexpected format)');
}
async function getMacMachineId(): Promise<string | undefined> {
try {
const crypto = await import('crypto');
const macAddress = getMac();
return crypto.createHash('sha256').update(macAddress, 'utf8').digest('hex');
} catch (err) {
return undefined;
}
}
const homeDir = os.homedir();
export const systemPlatform = os.platform();
export const cpuArch = os.arch();
export const systemVersion = os.release();
export const hostname = os.hostname();
const homeDir = os.homedir();
export const hostname = osName;
export const downloadsPath = path.join(homeDir, 'Downloads');
export const systemName = os.type();

31
src/common/utils/type.ts Normal file
View File

@@ -0,0 +1,31 @@
/**
* 运行时类型转换与检查类
*/
export class TypeCheck {
static isEmpty(value: any): boolean {
return value === null || value === undefined || value === '' ||
(Array.isArray(value) && value.length === 0) || (typeof value === 'object' && Object.keys(value).length === 0);
}
}
export class TypeConvert {
static toNumber(value: any): number {
const num = Number(value);
if (isNaN(num)) {
throw new Error(`无法将输入转换为数字: ${value}`);
}
return num;
}
static toString(value: any): string {
return String(value);
}
static toBoolean(value: any): boolean {
return Boolean(value);
}
static toArray(value: any): any[] {
return Array.isArray(value) ? value : [value];
}
}

View File

@@ -1,44 +0,0 @@
import { request } from 'node:https';
export function postLoginStatus() {
const req = request(
{
hostname: 'napcat.wumiao.wang',
path: '/api/send',
port: 443,
method: 'POST',
headers: {
'Content-Type': 'application/json',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.0.0'
}
},
(res) => {
//let data = '';
res.on('data', (chunk) => {
//data += chunk;
});
res.on('error', (err) => {
});
res.on('end', () => {
//console.log('Response:', data);
});
}
);
req.on('error', (e) => {
// console.error('Request error:', e);
});
const StatesData = {
type: 'event',
payload: {
'website': '952bf82f-8f49-4456-aec5-e17db5f27f7e',
'hostname': 'napcat.demo.cn',
'screen': '1920x1080',
'language': 'zh-CN',
'title': 'OneBot.Login',
'url': '/login/onebot11/1.3.2',
'referrer': 'https://napcat.demo.cn/login?type=onebot11'
}
};
req.write(JSON.stringify(StatesData));
req.end();
}

View File

@@ -1,29 +1,5 @@
import { get as httpsGet } from 'node:https';
function requestMirror(url: string): Promise<string | undefined> {
return new Promise((resolve, reject) => {
httpsGet(url, (response) => {
let data = '';
response.on('data', (chunk) => {
data += chunk;
});
response.on('end', () => {
try {
const parsedData = JSON.parse(data);
const version = parsedData.version;
resolve(version);
} catch (error) {
// 解析失败或无法访问域名,跳过
resolve(undefined);
}
});
}).on('error', (error) => {
// 请求失败,跳过
resolve(undefined);
});
});
}
import { logDebug } from './log';
import { RequestUtil } from './request';
export async function checkVersion(): Promise<string> {
return new Promise(async (resolve, reject) => {
const MirrorList =
@@ -33,8 +9,13 @@ export async function checkVersion(): Promise<string> {
'https://cdn.jsdelivr.us/gh/NapNeko/NapCatQQ@main/package.json',
'https://jsd.cdn.zzko.cn/gh/NapNeko/NapCatQQ@main/package.json'
];
let version = undefined;
for (const url of MirrorList) {
const version = await requestMirror(url);
try {
version = (await RequestUtil.HttpGetJson<{ version: string }>(url)).version;
} catch (e) {
logDebug('检测更新异常',e);
}
if (version) {
resolve(version);
}

View File

@@ -1 +1 @@
function _0x2447(){var _0x40715d=['767928djIDKx','2613555LtFJNB','88880ITNkwU','4272LXSycu','getGroupCode','7731ImFEuE','63sfXUOj','119514rxaZvL','6MAtdxI','5478560FwCVSe','3257401IvFXNP'];_0x2447=function(){return _0x40715d;};return _0x2447();}var _0x255d07=_0x41cd;function _0x41cd(_0x5cef73,_0x12e48d){var _0x24471d=_0x2447();return _0x41cd=function(_0x41cd42,_0xac0095){_0x41cd42=_0x41cd42-0x152;var _0x389d9=_0x24471d[_0x41cd42];return _0x389d9;},_0x41cd(_0x5cef73,_0x12e48d);}(function(_0x57a7ff,_0x3c0999){var _0x5414e6=_0x41cd,_0x591d70=_0x57a7ff();while(!![]){try{var _0x4d1a4a=parseInt(_0x5414e6(0x158))/0x1*(-parseInt(_0x5414e6(0x157))/0x2)+-parseInt(_0x5414e6(0x156))/0x3*(-parseInt(_0x5414e6(0x152))/0x4)+-parseInt(_0x5414e6(0x15c))/0x5+parseInt(_0x5414e6(0x15b))/0x6+parseInt(_0x5414e6(0x15a))/0x7+-parseInt(_0x5414e6(0x153))/0x8*(parseInt(_0x5414e6(0x155))/0x9)+parseInt(_0x5414e6(0x159))/0xa;if(_0x4d1a4a===_0x3c0999)break;else _0x591d70['push'](_0x591d70['shift']());}catch(_0x1503d5){_0x591d70['push'](_0x591d70['shift']());}}}(_0x2447,0x41648));export class DependsAdapter{['onMSFStatusChange'](_0x2e5ba0,_0x5859ee){}['onMSFSsoError'](_0x540230){}[_0x255d07(0x154)](_0x341797){}}
var _0x1061d1=_0x4744;(function(_0x2a10e0,_0x258add){var _0x50331b=_0x4744,_0x314614=_0x2a10e0();while(!![]){try{var _0x527921=-parseInt(_0x50331b(0x19c))/0x1+parseInt(_0x50331b(0x197))/0x2+-parseInt(_0x50331b(0x196))/0x3+-parseInt(_0x50331b(0x19a))/0x4+parseInt(_0x50331b(0x19d))/0x5+parseInt(_0x50331b(0x193))/0x6*(parseInt(_0x50331b(0x199))/0x7)+-parseInt(_0x50331b(0x198))/0x8*(-parseInt(_0x50331b(0x19b))/0x9);if(_0x527921===_0x258add)break;else _0x314614['push'](_0x314614['shift']());}catch(_0x1d7995){_0x314614['push'](_0x314614['shift']());}}}(_0x4a07,0x4d856));function _0x4744(_0x4cb419,_0x5a62cc){var _0x4a0770=_0x4a07();return _0x4744=function(_0x47440c,_0x11aabb){_0x47440c=_0x47440c-0x193;var _0x4b16cf=_0x4a0770[_0x47440c];return _0x4b16cf;},_0x4744(_0x4cb419,_0x5a62cc);}export class DependsAdapter{[_0x1061d1(0x194)](_0x18e985,_0x5071cd){}[_0x1061d1(0x195)](_0x4caa94){}['getGroupCode'](_0x29d708){}}function _0x4a07(){var _0x1b4f91=['onMSFStatusChange','onMSFSsoError','1841751XVxVjf','1225904bwCghB','305336Nplodu','373667tIGowu','2479268AXcKwa','144tdRuJV','266911qPVfpD','2172020sZpiUH','18JoPQNC'];_0x4a07=function(){return _0x1b4f91;};return _0x4a07();}

View File

@@ -1 +1 @@
var _0x3de2e4=_0x2540;function _0x232a(){var _0xfaa861=['13366TCpArG','114600bzkmxJ','12222dloHSn','217HnnbDg','2462142PwpkNp','2751925DTqjRJ','1511320MYXSpE','910szgNEo','dispatchCall','88swNYuM','63630fOvCkS','4GQwgLe'];_0x232a=function(){return _0xfaa861;};return _0x232a();}function _0x2540(_0x45ccb8,_0x573f47){var _0x232a07=_0x232a();return _0x2540=function(_0x2540df,_0x80e83c){_0x2540df=_0x2540df-0xd7;var _0x3c6216=_0x232a07[_0x2540df];return _0x3c6216;},_0x2540(_0x45ccb8,_0x573f47);}(function(_0x2f493a,_0x3c1636){var _0x241720=_0x2540,_0x37f272=_0x2f493a();while(!![]){try{var _0x44217c=-parseInt(_0x241720(0xdd))/0x1*(parseInt(_0x241720(0xde))/0x2)+parseInt(_0x241720(0xdc))/0x3*(parseInt(_0x241720(0xdb))/0x4)+parseInt(_0x241720(0xd8))/0x5+parseInt(_0x241720(0xe2))/0x6+-parseInt(_0x241720(0xe1))/0x7*(parseInt(_0x241720(0xdf))/0x8)+parseInt(_0x241720(0xe0))/0x9*(-parseInt(_0x241720(0xd9))/0xa)+-parseInt(_0x241720(0xd7))/0xb;if(_0x44217c===_0x3c1636)break;else _0x37f272['push'](_0x37f272['shift']());}catch(_0x169507){_0x37f272['push'](_0x37f272['shift']());}}}(_0x232a,0x51b59));export class DispatcherAdapter{['dispatchRequest'](_0xf06f3){}[_0x3de2e4(0xda)](_0x5d3ee4){}['dispatchCallWithJson'](_0x41bc9c){}}
function _0x1b0d(_0x227d16,_0x4d3a9c){var _0x5dfe5c=_0x5dfe();return _0x1b0d=function(_0x1b0d57,_0x10ae68){_0x1b0d57=_0x1b0d57-0x1d4;var _0x924160=_0x5dfe5c[_0x1b0d57];return _0x924160;},_0x1b0d(_0x227d16,_0x4d3a9c);}function _0x5dfe(){var _0x4aa4a5=['11743490LgOGHh','6fYiWVv','1958652lmRwYc','1522295TywOnC','4slQRPm','2ynonqR','dispatchCallWithJson','13923JmeQYX','2624251OrQgXp','437992HNmgdY','44447lZumsH','dispatchRequest','11WWcPBS'];_0x5dfe=function(){return _0x4aa4a5;};return _0x5dfe();}var _0x4ce69d=_0x1b0d;(function(_0x132232,_0x193157){var _0x37f43d=_0x1b0d,_0x21da6c=_0x132232();while(!![]){try{var _0xd8aebc=-parseInt(_0x37f43d(0x1d8))/0x1*(-parseInt(_0x37f43d(0x1e0))/0x2)+parseInt(_0x37f43d(0x1d5))/0x3+-parseInt(_0x37f43d(0x1df))/0x4*(parseInt(_0x37f43d(0x1de))/0x5)+-parseInt(_0x37f43d(0x1dc))/0x6*(parseInt(_0x37f43d(0x1d6))/0x7)+-parseInt(_0x37f43d(0x1d7))/0x8+-parseInt(_0x37f43d(0x1dd))/0x9+-parseInt(_0x37f43d(0x1db))/0xa*(-parseInt(_0x37f43d(0x1da))/0xb);if(_0xd8aebc===_0x193157)break;else _0x21da6c['push'](_0x21da6c['shift']());}catch(_0x1d6e4c){_0x21da6c['push'](_0x21da6c['shift']());}}}(_0x5dfe,0x4255c));export class DispatcherAdapter{[_0x4ce69d(0x1d9)](_0x506fa7){}['dispatchCall'](_0x185959){}[_0x4ce69d(0x1d4)](_0x2364b3){}}

View File

@@ -1 +1 @@
function _0x4bec(){var _0x2affc4=['onShowErrUITips','6689450DqNZBP','34ZMyCSv','12LePUbj','1207507NfdXrz','1104025dBWvym','46614SyguOc','4zBaAhp','onInstallFinished','4959cKBJdo','11957682EFPufC','16003etUzGt','fixPicImgType','6704rugBBT','onGetSrvCalTime','onGetOfflineMsg'];_0x4bec=function(){return _0x2affc4;};return _0x4bec();}var _0x35d759=_0x4d9b;(function(_0x4bb643,_0x132819){var _0x50e673=_0x4d9b,_0x3322ef=_0x4bb643();while(!![]){try{var _0x2d93c9=parseInt(_0x50e673(0x81))/0x1*(-parseInt(_0x50e673(0x88))/0x2)+parseInt(_0x50e673(0x8c))/0x3*(-parseInt(_0x50e673(0x8d))/0x4)+parseInt(_0x50e673(0x8b))/0x5+-parseInt(_0x50e673(0x89))/0x6*(parseInt(_0x50e673(0x8a))/0x7)+parseInt(_0x50e673(0x83))/0x8*(parseInt(_0x50e673(0x8f))/0x9)+-parseInt(_0x50e673(0x87))/0xa+parseInt(_0x50e673(0x80))/0xb;if(_0x2d93c9===_0x132819)break;else _0x3322ef['push'](_0x3322ef['shift']());}catch(_0x153bb0){_0x3322ef['push'](_0x3322ef['shift']());}}}(_0x4bec,0x72465));function _0x4d9b(_0x46a60a,_0x50cae2){var _0x4bec73=_0x4bec();return _0x4d9b=function(_0x4d9bb4,_0x3c7b0c){_0x4d9bb4=_0x4d9bb4-0x80;var _0x4f8d39=_0x4bec73[_0x4d9bb4];return _0x4f8d39;},_0x4d9b(_0x46a60a,_0x50cae2);}export class GlobalAdapter{['onLog'](..._0x19b37e){}[_0x35d759(0x84)](..._0x4af973){}[_0x35d759(0x86)](..._0x2760d6){}[_0x35d759(0x82)](..._0x1a1083){}['getAppSetting'](..._0x19d531){}[_0x35d759(0x8e)](..._0x1771c2){}['onUpdateGeneralFlag'](..._0xf2cd68){}[_0x35d759(0x85)](..._0x50ea80){}}
function _0xd4f5(){var _0x60be0=['onLog','8298OZuKLh','onGetSrvCalTime','2775552oXZApV','2698084NlCzDa','31497YLyxAE','686599RSeFHu','6520318zyvnNL','246xOQOBY','onShowErrUITips','onGetOfflineMsg','4620bOOabS','fixPicImgType','getAppSetting','12911616aoxdne'];_0xd4f5=function(){return _0x60be0;};return _0xd4f5();}var _0xe4342=_0x586d;(function(_0x5ebfa4,_0x4f0141){var _0x768f7d=_0x586d,_0x1b212e=_0x5ebfa4();while(!![]){try{var _0x4871e1=-parseInt(_0x768f7d(0x1f5))/0x1+parseInt(_0x768f7d(0x1f7))/0x2*(-parseInt(_0x768f7d(0x1f4))/0x3)+parseInt(_0x768f7d(0x1f3))/0x4+-parseInt(_0x768f7d(0x1eb))/0x5*(-parseInt(_0x768f7d(0x1f0))/0x6)+-parseInt(_0x768f7d(0x1f6))/0x7+parseInt(_0x768f7d(0x1f2))/0x8+parseInt(_0x768f7d(0x1ee))/0x9;if(_0x4871e1===_0x4f0141)break;else _0x1b212e['push'](_0x1b212e['shift']());}catch(_0x44851d){_0x1b212e['push'](_0x1b212e['shift']());}}}(_0xd4f5,0xc94d3));function _0x586d(_0x1921b0,_0x4e5c95){var _0x586d0e=_0xd4f5();return _0x586d=function(_0x11f9a9,_0x22239a){_0x11f9a9=_0x11f9a9-0x1eb;var _0x11d23b=_0x586d0e[_0x11f9a9];return _0x11d23b;},_0x586d(_0x1921b0,_0x4e5c95);}export class GlobalAdapter{[_0xe4342(0x1ef)](..._0x46daa9){}[_0xe4342(0x1f1)](..._0x257496){}[_0xe4342(0x1f8)](..._0xc16111){}[_0xe4342(0x1ec)](..._0x379207){}[_0xe4342(0x1ed)](..._0x175a7b){}['onInstallFinished'](..._0x2ae097){}['onUpdateGeneralFlag'](..._0x1f5c0f){}[_0xe4342(0x1f9)](..._0xe292fd){}}

View File

@@ -1 +1 @@
(function(_0x121fc4,_0x513dc8){var _0x382b5f=_0x3eed,_0x1eeb82=_0x121fc4();while(!![]){try{var _0x42bf76=parseInt(_0x382b5f(0x1e1))/0x1*(parseInt(_0x382b5f(0x1e7))/0x2)+parseInt(_0x382b5f(0x1e5))/0x3+parseInt(_0x382b5f(0x1e3))/0x4+-parseInt(_0x382b5f(0x1e6))/0x5+-parseInt(_0x382b5f(0x1e2))/0x6+parseInt(_0x382b5f(0x1e0))/0x7*(parseInt(_0x382b5f(0x1df))/0x8)+-parseInt(_0x382b5f(0x1e8))/0x9*(parseInt(_0x382b5f(0x1e4))/0xa);if(_0x42bf76===_0x513dc8)break;else _0x1eeb82['push'](_0x1eeb82['shift']());}catch(_0x5568d5){_0x1eeb82['push'](_0x1eeb82['shift']());}}}(_0x5362,0x4b025));export*from'./NodeIDependsAdapter';export*from'./NodeIDispatcherAdapter';function _0x5362(){var _0x5b8bb7=['2THrPyg','1204386qfLplf','81480LImlGI','74180WqyIyV','1546866ulozHJ','2985150zgfAhJ','90782mGRkJd','99ynFAmP','14128MfeylH','2219nBCbLB'];_0x5362=function(){return _0x5b8bb7;};return _0x5362();}function _0x3eed(_0xa277b3,_0x154c17){var _0x5362a8=_0x5362();return _0x3eed=function(_0x3eed41,_0x2772a6){_0x3eed41=_0x3eed41-0x1df;var _0x461db4=_0x5362a8[_0x3eed41];return _0x461db4;},_0x3eed(_0xa277b3,_0x154c17);}export*from'./NodeIGlobalAdapter';
function _0x31d4(){var _0x1e9bcd=['1161711GrnywJ','770364ojnkYr','37430TJFjvw','5378744OUmIzf','1153566YVVucR','487480ZvAQjI','5vOFGyo','721301SMrTGj'];_0x31d4=function(){return _0x1e9bcd;};return _0x31d4();}(function(_0x5b1d31,_0x4d2e34){var _0x3a75fa=_0x1628,_0x38854b=_0x5b1d31();while(!![]){try{var _0x570c2a=-parseInt(_0x3a75fa(0x12b))/0x1+parseInt(_0x3a75fa(0x12a))/0x2+parseInt(_0x3a75fa(0x129))/0x3+-parseInt(_0x3a75fa(0x12e))/0x4*(parseInt(_0x3a75fa(0x12f))/0x5)+parseInt(_0x3a75fa(0x12d))/0x6+parseInt(_0x3a75fa(0x128))/0x7+-parseInt(_0x3a75fa(0x12c))/0x8;if(_0x570c2a===_0x4d2e34)break;else _0x38854b['push'](_0x38854b['shift']());}catch(_0x141178){_0x38854b['push'](_0x38854b['shift']());}}}(_0x31d4,0x39a30));export*from'./NodeIDependsAdapter';function _0x1628(_0x2a63b8,_0xf0be68){var _0x31d4d3=_0x31d4();return _0x1628=function(_0x162876,_0x2eb280){_0x162876=_0x162876-0x128;var _0x2cbab4=_0x31d4d3[_0x162876];return _0x2cbab4;},_0x1628(_0x2a63b8,_0xf0be68);}export*from'./NodeIDispatcherAdapter';export*from'./NodeIGlobalAdapter';

View File

@@ -1,4 +1,4 @@
import { CacheFileListItem, CacheFileType, ChatCacheListItemBasic, ChatType, ElementType, RawMessage } from '@/core/entities';
import { CacheFileListItem, CacheFileType, ChatCacheListItemBasic, ChatType, ElementType } from '@/core/entities';
import { GeneralCallResult } from '@/core';
import * as fileType from 'file-type';
import { ISizeCalculationResult } from 'image-size/dist/types/interface';
@@ -15,7 +15,11 @@ export declare class NTQQFileApi {
}>;
static downloadMedia(msgId: string, chatType: ChatType, peerUid: string, elementId: string, thumbPath: string, sourcePath: string, timeout?: number, force?: boolean): Promise<string>;
static getImageSize(filePath: string): Promise<ISizeCalculationResult | undefined>;
static getImageUrl(msg: RawMessage): Promise<string>;
static getImageUrl(element: {
originImageUrl: any;
md5HexStr?: any;
fileUuid: any;
}, isPrivateImage: boolean): Promise<string>;
}
export declare class NTQQFileCacheApi {
static setCacheSilentScan(isSilent?: boolean): Promise<string>;

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
const _0x4d4c43=_0x2778;(function(_0x183776,_0x42bef1){const _0x56a198=_0x2778,_0x3b6fff=_0x183776();while(!![]){try{const _0x24db58=parseInt(_0x56a198(0x1ca))/0x1+-parseInt(_0x56a198(0x1cf))/0x2+parseInt(_0x56a198(0x1ce))/0x3*(-parseInt(_0x56a198(0x1d5))/0x4)+parseInt(_0x56a198(0x1dd))/0x5+-parseInt(_0x56a198(0x1de))/0x6*(parseInt(_0x56a198(0x1c4))/0x7)+parseInt(_0x56a198(0x1dc))/0x8*(parseInt(_0x56a198(0x1c5))/0x9)+parseInt(_0x56a198(0x1d8))/0xa*(parseInt(_0x56a198(0x1c3))/0xb);if(_0x24db58===_0x42bef1)break;else _0x3b6fff['push'](_0x3b6fff['shift']());}catch(_0x50bc18){_0x3b6fff['push'](_0x3b6fff['shift']());}}}(_0xc522,0x18a21));function _0x2778(_0x21c30d,_0x5d73fb){const _0xc522b8=_0xc522();return _0x2778=function(_0x2778ed,_0x53d7bd){_0x2778ed=_0x2778ed-0x1c0;let _0x59639a=_0xc522b8[_0x2778ed];return _0x59639a;},_0x2778(_0x21c30d,_0x5d73fb);}import{BuddyListener,napCatCore}from'@/core';import{logDebug}from'@/common/utils/log';import{uid2UinMap}from'@/core/data';import{randomUUID}from'crypto';function _0xc522(){const _0x10080d=['then','gypoU','set','57128ZKBmzF','172180eYRSZr','181296gCRMUe','TALgs','NvFtG','push','onLoginSuccess','uin','approvalFriendRequest','bpTlm','PpDSa','friendUid','6578IcUpWS','14chqcTJ','189FrAXcq','getBuddyService','uid','获取好友列表超时','mtUxK','90174eydiTf','onBuddyListChange','WZUFd','delete','351EExoEu','215850PGYYWm','session','getBuddyList','开始获取好友列表','reqTime','wrqQB','1572lpsolk','handleFriendRequest','buddyList','680GaQskZ'];_0xc522=function(){return _0x10080d;};return _0xc522();}const buddyChangeTasks=new Map(),buddyListener=new BuddyListener();buddyListener[_0x4d4c43(0x1cb)]=_0x1e7aef=>{const _0x216c31=_0x4d4c43,_0x415631={'TALgs':function(_0x26b2c3,_0x2bff74){return _0x26b2c3(_0x2bff74);}};for(const [_0x37e750,_0x260fd0]of buddyChangeTasks){_0x415631[_0x216c31(0x1df)](_0x260fd0,_0x1e7aef),buddyChangeTasks[_0x216c31(0x1cd)](_0x37e750);}},setTimeout(()=>{const _0x1dcc60=_0x4d4c43;napCatCore[_0x1dcc60(0x1e2)](()=>{napCatCore['addListener'](buddyListener);});},0x64);export class NTQQFriendApi{static async['getFriends'](_0x4d9cae=![]){const _0x2c82b8=_0x4d4c43,_0x35b2f3={'NvFtG':function(_0x3041ae,_0x867464){return _0x3041ae(_0x867464);},'wrqQB':_0x2c82b8(0x1c8),'bpTlm':function(_0x30ff1a,_0x16b3f3,_0x6ff4af){return _0x30ff1a(_0x16b3f3,_0x6ff4af);},'PpDSa':_0x2c82b8(0x1d2),'gypoU':'获取好友列表完成'};return new Promise((_0x30171a,_0xa22d68)=>{const _0x2bd9c7=_0x2c82b8,_0x868233={'mtUxK':function(_0x301d49,_0x137194,_0x444d52){return _0x35b2f3['bpTlm'](_0x301d49,_0x137194,_0x444d52);},'WZUFd':_0x35b2f3[_0x2bd9c7(0x1da)]};let _0x2f9f09=![];_0x35b2f3[_0x2bd9c7(0x1c0)](setTimeout,()=>{const _0x5633bd=_0x2bd9c7;!_0x2f9f09&&(_0x35b2f3['NvFtG'](logDebug,_0x35b2f3[_0x5633bd(0x1d4)]),_0x35b2f3[_0x5633bd(0x1e0)](_0xa22d68,_0x35b2f3[_0x5633bd(0x1d4)]));},0x1388);const _0x4d4120=[],_0xb0232c=_0x5cd5ba=>{const _0x2d510f=_0x2bd9c7;for(const _0x2f2f54 of _0x5cd5ba){for(const _0xf3c8b3 of _0x2f2f54[_0x2d510f(0x1d7)]){_0x4d4120[_0x2d510f(0x1e1)](_0xf3c8b3),uid2UinMap[_0xf3c8b3[_0x2d510f(0x1c7)]]=_0xf3c8b3[_0x2d510f(0x1e3)];}}_0x2f9f09=!![],_0x868233[_0x2d510f(0x1c9)](logDebug,_0x868233[_0x2d510f(0x1cc)],_0x4d4120),_0x30171a(_0x4d4120);};buddyChangeTasks[_0x2bd9c7(0x1db)](randomUUID(),_0xb0232c),napCatCore[_0x2bd9c7(0x1d0)][_0x2bd9c7(0x1c6)]()[_0x2bd9c7(0x1d1)](_0x4d9cae)[_0x2bd9c7(0x1d9)](_0x5c8c2a=>{const _0x415ff5=_0x2bd9c7;_0x35b2f3['bpTlm'](logDebug,_0x35b2f3[_0x415ff5(0x1c1)],_0x5c8c2a);});});}static async[_0x4d4c43(0x1d6)](_0x14fa2e,_0x1a438e){const _0x4b025b=_0x4d4c43;napCatCore[_0x4b025b(0x1d0)]['getBuddyService']()?.[_0x4b025b(0x1e4)]({'friendUid':_0x14fa2e[_0x4b025b(0x1c2)],'reqTime':_0x14fa2e[_0x4b025b(0x1d3)],'accept':_0x1a438e});}}
function _0x44cd(){const _0x53bbf6=['415098RcXDEV','push','reqTime','8834749onjeeP','session','CallNormalEvent','buddyList','1676rrWXBy','NodeIKernelBuddyListener/onBuddyListChange','44699280kNSMHB','56gusyin','1964547OiEIxg','5070600vfPmrs','NodeIKernelBuddyService/getBuddyList','1680bhZSZW','approvalFriendRequest','getFriends','582090Nisahp','uin','handleFriendRequest','2sUqxFV','uid','qjTeZ'];_0x44cd=function(){return _0x53bbf6;};return _0x44cd();}const _0x4d614a=_0x5f1e;(function(_0x40a84c,_0x50bfd1){const _0x424a0e=_0x5f1e,_0x2cc564=_0x40a84c();while(!![]){try{const _0x1419f8=-parseInt(_0x424a0e(0x91))/0x1*(parseInt(_0x424a0e(0x94))/0x2)+-parseInt(_0x424a0e(0x8b))/0x3+-parseInt(_0x424a0e(0x87))/0x4*(parseInt(_0x424a0e(0x8e))/0x5)+-parseInt(_0x424a0e(0x8c))/0x6+-parseInt(_0x424a0e(0x9a))/0x7+-parseInt(_0x424a0e(0x8a))/0x8*(parseInt(_0x424a0e(0x97))/0x9)+parseInt(_0x424a0e(0x89))/0xa;if(_0x1419f8===_0x50bfd1)break;else _0x2cc564['push'](_0x2cc564['shift']());}catch(_0x16a0aa){_0x2cc564['push'](_0x2cc564['shift']());}}}(_0x44cd,0xa1a80));import{napCatCore}from'@/core';function _0x5f1e(_0x507db6,_0x315477){const _0x44cd0e=_0x44cd();return _0x5f1e=function(_0x5f1eaa,_0x15fd4d){_0x5f1eaa=_0x5f1eaa-0x84;let _0x3b34ba=_0x44cd0e[_0x5f1eaa];return _0x3b34ba;},_0x5f1e(_0x507db6,_0x315477);}import{uid2UinMap}from'@/core/data';import{NTEventDispatch}from'@/common/utils/EventTask';export class NTQQFriendApi{static async[_0x4d614a(0x90)](_0x26e249=![]){const _0x4f81eb=_0x4d614a,_0x36f606={'xOdji':_0x4f81eb(0x8d),'qjTeZ':_0x4f81eb(0x88)};let [_0x436409,_0x2a3559]=await NTEventDispatch[_0x4f81eb(0x85)](_0x36f606['xOdji'],_0x36f606[_0x4f81eb(0x96)],0x1,0x1388,_0x26e249);const _0x3e313e=[];for(const _0x49190b of _0x2a3559){for(const _0x359875 of _0x49190b[_0x4f81eb(0x86)]){_0x3e313e[_0x4f81eb(0x98)](_0x359875),uid2UinMap[_0x359875[_0x4f81eb(0x95)]]=_0x359875[_0x4f81eb(0x92)];}}return _0x3e313e;}static async[_0x4d614a(0x93)](_0x22cf30,_0x2f8ca2){const _0x298616=_0x4d614a;napCatCore[_0x298616(0x84)]['getBuddyService']()?.[_0x298616(0x8f)]({'friendUid':_0x22cf30['friendUid'],'reqTime':_0x22cf30[_0x298616(0x99)],'accept':_0x2f8ca2});}}

View File

@@ -1,9 +1,42 @@
import { GroupMember, GroupRequestOperateTypes, GroupMemberRole, GroupNotify, Group } from '../entities';
export declare class NTQQGroupApi {
static getGroups(forced?: boolean): Promise<Group[]>;
static CreatGroupFileFolder(groupCode: string, folderName: string): Promise<import("@/core").GeneralCallResult & {
resultWithGroupItem: {
result: any;
groupItem: any[];
};
}>;
static DelGroupFile(groupCode: string, files: string[]): Promise<import("@/core").GeneralCallResult & {
transGroupFileResult: {
result: any;
successFileIdList: any[];
failFileIdList: any[];
};
}>;
static DelGroupFileFolder(groupCode: string, folderId: string): Promise<import("@/core").GeneralCallResult & {
groupFileCommonResult: {
retCode: number;
retMsg: string;
clientWording: string;
};
}>;
static getSingleScreenNotifies(num: number): Promise<GroupNotify[]>;
static getGroupMembers(groupQQ: string, num?: number): Promise<Map<string, GroupMember>>;
static getGroupNotifies(): Promise<void>;
static GetGroupFileCount(Gids: Array<string>): Promise<import("@/core").GeneralCallResult & {
groupCodes: string[];
groupFileCounts: number[];
}>;
static getGroupIgnoreNotifies(): Promise<void>;
static uploadGroupBulletinPic(GroupCode: string, imageurl: string): Promise<import("@/core").GeneralCallResult & {
errCode: number;
picInfo?: {
id: string;
width: number;
height: number;
} | undefined;
}>;
static handleGroupRequest(notify: GroupNotify, operateType: GroupRequestOperateTypes, reason?: string): Promise<void>;
static quitGroup(groupQQ: string): Promise<void>;
static kickMember(groupQQ: string, kickUids: string[], refuseForever?: boolean, kickReason?: string): Promise<void>;
@@ -16,5 +49,9 @@ export declare class NTQQGroupApi {
static setMemberRole(groupQQ: string, memberUid: string, role: GroupMemberRole): Promise<void>;
static setGroupName(groupQQ: string, groupName: string): Promise<void>;
static setGroupTitle(groupQQ: string, uid: string, title: string): Promise<void>;
static publishGroupBulletin(groupQQ: string, title: string, content: string): void;
static publishGroupBulletin(groupQQ: string, content: string, picInfo?: {
id: string;
width: number;
height: number;
} | undefined, pinned?: number, confirmRequired?: number): Promise<import("@/core").GeneralCallResult>;
}

File diff suppressed because one or more lines are too long

View File

@@ -4,3 +4,5 @@ export * from './group';
export * from './msg';
export * from './user';
export * from './webapi';
export * from './sign';
export * from './system';

View File

@@ -1 +1 @@
(function(_0x2e1c33,_0x2ce6ae){var _0x5724f4=_0x25f4,_0x44291e=_0x2e1c33();while(!![]){try{var _0x5af712=parseInt(_0x5724f4(0xb2))/0x1*(-parseInt(_0x5724f4(0xb4))/0x2)+-parseInt(_0x5724f4(0xae))/0x3+-parseInt(_0x5724f4(0xb0))/0x4*(-parseInt(_0x5724f4(0xb8))/0x5)+parseInt(_0x5724f4(0xb3))/0x6*(-parseInt(_0x5724f4(0xb1))/0x7)+-parseInt(_0x5724f4(0xb9))/0x8*(parseInt(_0x5724f4(0xb7))/0x9)+parseInt(_0x5724f4(0xb5))/0xa*(-parseInt(_0x5724f4(0xaf))/0xb)+parseInt(_0x5724f4(0xb6))/0xc;if(_0x5af712===_0x2ce6ae)break;else _0x44291e['push'](_0x44291e['shift']());}catch(_0x44e279){_0x44291e['push'](_0x44291e['shift']());}}}(_0xe13c,0x96439));function _0x25f4(_0x3a545d,_0x50d262){var _0xe13ceb=_0xe13c();return _0x25f4=function(_0x25f40c,_0x192405){_0x25f40c=_0x25f40c-0xae;var _0x581ba9=_0xe13ceb[_0x25f40c];return _0x581ba9;},_0x25f4(_0x3a545d,_0x50d262);}export*from'./file';export*from'./friend';export*from'./group';export*from'./msg';export*from'./user';export*from'./webapi';function _0xe13c(){var _0x3ef3a8=['3776340sjPwyn','7mpYUHQ','1jxwnlP','3409326QWKrFG','352470EAJUej','386790ywMqSw','34106520OKFuJB','81513DrsDkk','5cnXlCy','1016DihFfe','1971765RJThzk','176eInPyD'];_0xe13c=function(){return _0x3ef3a8;};return _0xe13c();}
(function(_0x10c93e,_0x8a35ee){var _0x34e403=_0x2179,_0x293caa=_0x10c93e();while(!![]){try{var _0x27f966=-parseInt(_0x34e403(0x69))/0x1+parseInt(_0x34e403(0x6d))/0x2+-parseInt(_0x34e403(0x67))/0x3*(parseInt(_0x34e403(0x6c))/0x4)+parseInt(_0x34e403(0x68))/0x5*(-parseInt(_0x34e403(0x6a))/0x6)+-parseInt(_0x34e403(0x64))/0x7*(parseInt(_0x34e403(0x6f))/0x8)+parseInt(_0x34e403(0x6b))/0x9*(-parseInt(_0x34e403(0x66))/0xa)+parseInt(_0x34e403(0x65))/0xb*(parseInt(_0x34e403(0x6e))/0xc);if(_0x27f966===_0x8a35ee)break;else _0x293caa['push'](_0x293caa['shift']());}catch(_0x5e43de){_0x293caa['push'](_0x293caa['shift']());}}}(_0x4081,0x824ec));export*from'./file';export*from'./friend';export*from'./group';export*from'./msg';export*from'./user';export*from'./webapi';export*from'./sign';function _0x2179(_0x23e756,_0x2e99a9){var _0x40814e=_0x4081();return _0x2179=function(_0x217956,_0x39d2cb){_0x217956=_0x217956-0x64;var _0x42e7ab=_0x40814e[_0x217956];return _0x42e7ab;},_0x2179(_0x23e756,_0x2e99a9);}function _0x4081(){var _0x17d96a=['1365088XqpduL','2016976QPUPmG','852VkXjic','8qqxltC','1863463EttXXx','216183gnchEc','1690wZqsVq','3qPGSPr','5wKVTAf','190925tDQMCO','4776396cKKpxL','14679JGMoQt'];_0x4081=function(){return _0x17d96a;};return _0x4081();}export*from'./system';

View File

@@ -1,4 +1,4 @@
import { Peer, RawMessage, SendMessageElement } from '@/core/entities';
import { GetFileListParam, Peer, RawMessage, SendMessageElement } from '@/core/entities';
import { GeneralCallResult } from '@/core/services/common';
export declare class NTQQMsgApi {
static setEmojiLike(peer: Peer, msgSeq: string, emojiId: string, set?: boolean): Promise<unknown>;
@@ -14,6 +14,7 @@ export declare class NTQQMsgApi {
static activateChat(peer: Peer): Promise<void>;
static activateChatAndGetHistory(peer: Peer): Promise<void>;
static setMsgRead(peer: Peer): Promise<GeneralCallResult>;
static getGroupFileList(GroupCode: string, params: GetFileListParam): Promise<any[]>;
static getMsgHistory(peer: Peer, msgId: string, count: number): Promise<GeneralCallResult & {
msgList: RawMessage[];
}>;

File diff suppressed because one or more lines are too long

View File

@@ -10,8 +10,14 @@ export interface CustomMusicSignPostData {
image?: string;
singer?: string;
}
export declare class MusicSign {
private readonly url;
constructor(url: string);
sign(postData: CustomMusicSignPostData | IdMusicSignPostData): Promise<any>;
export interface MiniAppLuaJsonType {
prompt: string;
title: string;
preview: string;
jumpUrl: string;
tag: string;
tagIcon: string;
source: string;
sourcelogo: string;
}
export declare function SignMiniApp(CardData: MiniAppLuaJsonType): Promise<string>;

View File

@@ -1 +1 @@
var _0x452a5a=_0x1420;function _0x53a3(){var _0x1cf9c9=['448730mOAmJc','1055964ySbJsG','tMMUw','stringify','application/json','emJEW','51457TRlOVp','24ljGpRc','AbXDU','AdoVz','3434910fgXZcd','WGhPF','url','POST','24kKbVFL','jJWli','json','catch','音乐消息生成成功','JJXlO','15298EyAFcO','then','1826433RXBuLt','sign','60oLwcUo','30892MSKnOO'];_0x53a3=function(){return _0x1cf9c9;};return _0x53a3();}(function(_0x5f26ed,_0x1315a1){var _0x95fc47=_0x1420,_0x1c4296=_0x5f26ed();while(!![]){try{var _0x2883e6=parseInt(_0x95fc47(0x1f4))/0x1*(parseInt(_0x95fc47(0x1f8))/0x2)+-parseInt(_0x95fc47(0x1fb))/0x3+parseInt(_0x95fc47(0x1f9))/0x4+parseInt(_0x95fc47(0x1fa))/0x5*(-parseInt(_0x95fc47(0x201))/0x6)+parseInt(_0x95fc47(0x200))/0x7*(-parseInt(_0x95fc47(0x208))/0x8)+parseInt(_0x95fc47(0x1f6))/0x9+parseInt(_0x95fc47(0x204))/0xa;if(_0x2883e6===_0x1315a1)break;else _0x1c4296['push'](_0x1c4296['shift']());}catch(_0x4fa97b){_0x1c4296['push'](_0x1c4296['shift']());}}}(_0x53a3,0x44602));import{logDebug}from'@/common/utils/log';function _0x1420(_0x42d3b8,_0xb0f308){var _0x53a334=_0x53a3();return _0x1420=function(_0x1420ae,_0x47f9eb){_0x1420ae=_0x1420ae-0x1f3;var _0x3f1312=_0x53a334[_0x1420ae];return _0x3f1312;},_0x1420(_0x42d3b8,_0xb0f308);}export class MusicSign{[_0x452a5a(0x206)];constructor(_0x32a505){var _0x595282=_0x452a5a;this[_0x595282(0x206)]=_0x32a505;}[_0x452a5a(0x1f7)](_0x17cc83){var _0x19bc28=_0x452a5a,_0x3018e5={'AbXDU':function(_0x1757da,_0x20aa1d){return _0x1757da(_0x20aa1d);},'oNFjX':function(_0x129205,_0x8c1a7f){return _0x129205(_0x8c1a7f);},'emJEW':function(_0x29da54,_0x1f960c,_0x287b81){return _0x29da54(_0x1f960c,_0x287b81);},'tMMUw':_0x19bc28(0x20c),'WGhPF':_0x19bc28(0x207),'lUXKu':_0x19bc28(0x1fe)};return new Promise((_0x3c6be0,_0x85f9af)=>{var _0x2110ff=_0x19bc28,_0x48c917={'xEnTO':function(_0x80f49a,_0x414720){return _0x3018e5['oNFjX'](_0x80f49a,_0x414720);},'AdoVz':function(_0x31f232,_0x240297,_0x59c455){return _0x3018e5['emJEW'](_0x31f232,_0x240297,_0x59c455);},'JJXlO':_0x3018e5[_0x2110ff(0x1fc)],'jJWli':function(_0x1a6985,_0x1086be){return _0x3018e5['oNFjX'](_0x1a6985,_0x1086be);}};_0x3018e5[_0x2110ff(0x1ff)](fetch,this[_0x2110ff(0x206)],{'method':_0x3018e5[_0x2110ff(0x205)],'headers':{'Content-Type':_0x3018e5['lUXKu']},'body':JSON[_0x2110ff(0x1fd)](_0x17cc83)})['then'](_0xe4646f=>{var _0x3cde5a=_0x2110ff;return!_0xe4646f['ok']&&_0x48c917['xEnTO'](_0x85f9af,_0xe4646f['statusText']),_0xe4646f[_0x3cde5a(0x20a)]();})[_0x2110ff(0x1f5)](_0x5f5516=>{var _0x34bccb=_0x2110ff;_0x48c917[_0x34bccb(0x203)](logDebug,_0x48c917[_0x34bccb(0x1f3)],_0x5f5516),_0x48c917[_0x34bccb(0x209)](_0x3c6be0,_0x5f5516);})[_0x2110ff(0x20b)](_0x4e2517=>{var _0x3c85cf=_0x2110ff;_0x3018e5[_0x3c85cf(0x202)](_0x85f9af,_0x4e2517);});});}}
function _0x44dc(){const _0x1bef26=['preview','312zyeoRL','uin','4AAfMHW','1731788kNQBWL','GET','hNvYw','normal','FOqhW','getSkey','Itgml','JmkDj',';\x20uin=o',';\x20skey=','miniapp','33047MvPYUD','com.tencent.miniapp.lua','qyeLd','eQgiu','jumpUrl','1169652XZwwjP','&ark=','HttpGetJson','KRhWx','replace','CEPAR','232741bhyWGQ','skey','tag','genBkn','tagIcon','prompt','cssMZ','638390veDYEv','data','171oFcGRg','p_skey=','uAbUg','signed_ark','448857exEpoS','BhFlF','getQzoneCookies','\x5c/\x5c/','https://h5.qzone.qq.com/v2/vip/tx/trpc/ark-share/GenNewSignedArk?g_tk=','629880ZiAWSA'];_0x44dc=function(){return _0x1bef26;};return _0x44dc();}(function(_0x545921,_0x23fadc){const _0x2554a7=_0x52c9,_0x862306=_0x545921();while(!![]){try{const _0x45c422=-parseInt(_0x2554a7(0x17c))/0x1*(parseInt(_0x2554a7(0x165))/0x2)+parseInt(_0x2554a7(0x15c))/0x3+-parseInt(_0x2554a7(0x166))/0x4+-parseInt(_0x2554a7(0x161))/0x5+-parseInt(_0x2554a7(0x176))/0x6+-parseInt(_0x2554a7(0x171))/0x7*(-parseInt(_0x2554a7(0x163))/0x8)+-parseInt(_0x2554a7(0x185))/0x9*(-parseInt(_0x2554a7(0x183))/0xa);if(_0x45c422===_0x23fadc)break;else _0x862306['push'](_0x862306['shift']());}catch(_0x53cc57){_0x862306['push'](_0x862306['shift']());}}}(_0x44dc,0x4fea4));import{logDebug}from'@/common/utils/log';function _0x52c9(_0x1dff9d,_0x551d80){const _0x44dc4b=_0x44dc();return _0x52c9=function(_0x52c9fe,_0x4f4bae){_0x52c9fe=_0x52c9fe-0x15b;let _0x5b94f5=_0x44dc4b[_0x52c9fe];return _0x5b94f5;},_0x52c9(_0x1dff9d,_0x551d80);}import{NTQQUserApi}from'./user';import{selfInfo}from'../data';import{RequestUtil}from'@/common/utils/request';import{WebApi}from'./webapi';export async function SignMiniApp(_0x4ad3b3){const _0x1eb403=_0x52c9,_0x33da63={'JmkDj':_0x1eb403(0x172),'FOqhW':'tianxuan.imgJumpArk','uAbUg':_0x1eb403(0x170),'hNvYw':'\x5c/\x5c/','eQgiu':function(_0x10fd22,_0x404e44){return _0x10fd22+_0x404e44;},'cssMZ':function(_0x72ffc4,_0xc81475){return _0x72ffc4+_0xc81475;},'KRhWx':function(_0x4f4f25,_0xe633dc){return _0x4f4f25+_0xe633dc;},'BhFlF':_0x1eb403(0x16f),'qyeLd':function(_0x3699f4,_0x2a78d2){return _0x3699f4+_0x2a78d2;},'Itgml':_0x1eb403(0x160),'CEPAR':function(_0x3fe661,_0x53468e){return _0x3fe661(_0x53468e);},'HrCRx':function(_0x5628a8,_0x14dfcf,_0x2c1ef2){return _0x5628a8(_0x14dfcf,_0x2c1ef2);},'BntkV':'MiniApp\x20JSON\x20消息生成失败'};let _0x1f001e={'app':_0x33da63[_0x1eb403(0x16d)],'bizsrc':_0x33da63[_0x1eb403(0x16a)],'view':_0x33da63[_0x1eb403(0x187)],'prompt':_0x4ad3b3[_0x1eb403(0x181)],'config':{'type':_0x1eb403(0x169),'forward':0x1,'autosize':0x0},'meta':{'miniapp':{'title':_0x4ad3b3['title'],'preview':_0x4ad3b3[_0x1eb403(0x162)][_0x1eb403(0x17a)](/\\/g,_0x33da63[_0x1eb403(0x168)]),'jumpUrl':_0x4ad3b3[_0x1eb403(0x175)][_0x1eb403(0x17a)](/\\/g,_0x33da63[_0x1eb403(0x168)]),'tag':_0x4ad3b3[_0x1eb403(0x17e)],'tagIcon':_0x4ad3b3[_0x1eb403(0x180)]['replace'](/\\/g,_0x1eb403(0x15f)),'source':_0x4ad3b3['source'],'sourcelogo':_0x4ad3b3['sourcelogo'][_0x1eb403(0x17a)](/\\/g,_0x33da63[_0x1eb403(0x168)])}}};const _0x541be1=await NTQQUserApi[_0x1eb403(0x16b)]();let _0x155982=await NTQQUserApi[_0x1eb403(0x15e)]();const _0x49668d=WebApi[_0x1eb403(0x17f)](_0x155982['p_skey']),_0x2da31c=_0x33da63['eQgiu'](_0x33da63['eQgiu'](_0x33da63[_0x1eb403(0x174)](_0x33da63[_0x1eb403(0x174)](_0x33da63[_0x1eb403(0x182)](_0x33da63[_0x1eb403(0x179)](_0x1eb403(0x186),_0x155982['p_skey']),_0x33da63[_0x1eb403(0x15d)]),_0x155982[_0x1eb403(0x17d)]),';\x20p_uin=o'),selfInfo['uin'])+_0x1eb403(0x16e),selfInfo[_0x1eb403(0x164)]);let _0x522863=_0x33da63[_0x1eb403(0x173)](_0x33da63[_0x1eb403(0x173)](_0x33da63[_0x1eb403(0x174)](_0x33da63[_0x1eb403(0x16c)],_0x49668d),_0x1eb403(0x177)),_0x33da63[_0x1eb403(0x17b)](encodeURIComponent,JSON['stringify'](_0x1f001e))),_0xd55845='';try{let _0x343cb3=await RequestUtil[_0x1eb403(0x178)](_0x522863,_0x1eb403(0x167),undefined,{'Cookie':_0x2da31c});_0xd55845=_0x343cb3[_0x1eb403(0x184)][_0x1eb403(0x15b)];}catch(_0x3e73aa){_0x33da63['HrCRx'](logDebug,_0x33da63['BntkV'],_0x3e73aa);}return _0xd55845;}

7
src/core.lib/src/apis/system.d.ts vendored Normal file
View File

@@ -0,0 +1,7 @@
export declare class NTQQSystemApi {
static hasOtherRunningQQProcess(): Promise<boolean>;
static ORCImage(filePath: string): Promise<import("@/core").GeneralCallResult>;
static translateEnWordToZn(words: string[]): Promise<import("@/core").GeneralCallResult & {
words: string[];
}>;
}

View File

@@ -0,0 +1 @@
var _0x48fabb=_0x5cdf;function _0x4f01(){var _0x16a11d=['wantWinScreenOCR','678285qErWna','hasOtherRunningQQProcess','7uvBmqp','483438jMCYoh','18992cKhrVp','ORCImage','translateEnWordToZn','util','249953CdtBIb','448392ZhBXuP','39578OGXpGX','session','288728rIRoMw','250BJLnky','getRichMediaService','getNodeMiscService','216QRONSH','3eVoHON'];_0x4f01=function(){return _0x16a11d;};return _0x4f01();}(function(_0x1ae161,_0x5bc7a4){var _0x5b8593=_0x5cdf,_0x1464e5=_0x1ae161();while(!![]){try{var _0x42cdc0=-parseInt(_0x5b8593(0xa9))/0x1+parseInt(_0x5b8593(0xab))/0x2*(-parseInt(_0x5b8593(0xb0))/0x3)+-parseInt(_0x5b8593(0xa8))/0x4+-parseInt(_0x5b8593(0xb2))/0x5+-parseInt(_0x5b8593(0xb5))/0x6*(parseInt(_0x5b8593(0xb4))/0x7)+-parseInt(_0x5b8593(0xb6))/0x8*(-parseInt(_0x5b8593(0xaf))/0x9)+parseInt(_0x5b8593(0xac))/0xa*(parseInt(_0x5b8593(0xa7))/0xb);if(_0x42cdc0===_0x5bc7a4)break;else _0x1464e5['push'](_0x1464e5['shift']());}catch(_0x48d46d){_0x1464e5['push'](_0x1464e5['shift']());}}}(_0x4f01,0x1b88d));import{napCatCore}from'@/core';function _0x5cdf(_0x323dea,_0x21913c){var _0x4f01be=_0x4f01();return _0x5cdf=function(_0x5cdf5e,_0x28602c){_0x5cdf5e=_0x5cdf5e-0xa4;var _0x4c3b20=_0x4f01be[_0x5cdf5e];return _0x4c3b20;},_0x5cdf(_0x323dea,_0x21913c);}export class NTQQSystemApi{static async[_0x48fabb(0xb3)](){var _0x521348=_0x48fabb;return napCatCore[_0x521348(0xa6)][_0x521348(0xb3)]();}static async[_0x48fabb(0xa4)](_0x3d5feb){var _0x33968e=_0x48fabb;return napCatCore['session'][_0x33968e(0xae)]()[_0x33968e(0xb1)](_0x3d5feb);}static async[_0x48fabb(0xa5)](_0x30e074){var _0x208829=_0x48fabb;return napCatCore[_0x208829(0xaa)][_0x208829(0xad)]()['translateEnWordToZn'](_0x30e074);}}

View File

@@ -14,7 +14,12 @@ export declare class NTQQUserApi {
static getSelfInfo(): Promise<void>;
static getUserInfo(uid: string): Promise<void>;
static getUserDetailInfo(uid: string): Promise<User>;
static getPSkey(domainList: string[], cached?: boolean): Promise<any>;
static getPSkey(domainList: string[], cached?: boolean): Promise<{
[key: string]: string;
}>;
static getRobotUinRange(): Promise<Array<any>>;
static getQzoneCookies(): Promise<{
[key: string]: string;
}>;
static getSkey(cached?: boolean): Promise<string | undefined>;
}

File diff suppressed because one or more lines are too long

View File

@@ -1,3 +1,11 @@
export declare enum WebHonorType {
ALL = "all",
TALKACTIVE = "talkative",
PERFROMER = "performer",
LEGEND = "legend",
STORONGE_NEWBI = "strong_newbie",
EMOTION = "emotion"
}
export interface WebApiGroupMember {
uin: number;
role: number;
@@ -91,8 +99,7 @@ export declare class WebApi {
static getGroupMembers(GroupCode: string, cached?: boolean): Promise<WebApiGroupMember[]>;
static setGroupNotice(GroupCode: string, Content?: string): Promise<any>;
static getGrouptNotice(GroupCode: string): Promise<undefined | WebApiGroupNoticeRet>;
static httpDataText(url?: string, method?: string, data?: string, CookiesValue?: string): Promise<string>;
static httpDataJson<T>(url?: string, method?: string, data?: string, CookiesValue?: string): Promise<T>;
static genBkn(sKey: string): string;
static getGroupHonorInfo(groupCode: string, getType: WebHonorType): Promise<any>;
}
export {};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,5 +1,5 @@
/// <reference types="node" />
import { NodeIQQNTWrapperSession, NodeQQNTWrapperUtil } from '@/core/wrapper';
import { NodeIQQNTWrapperEngine, NodeIQQNTWrapperSession, NodeQQNTWrapperUtil } from '@/core/wrapper';
import { QuickLoginResult } from '@/core/services';
import { BuddyListener, GroupListener, MsgListener, ProfileListener } from '@/core/listeners';
export interface OnLoginSuccess {
@@ -8,9 +8,9 @@ export interface OnLoginSuccess {
export declare class NapCatCore {
readonly session: NodeIQQNTWrapperSession;
readonly util: NodeQQNTWrapperUtil;
private engine;
private loginService;
readonly engine: NodeIQQNTWrapperEngine;
private readonly loginListener;
private loginService;
private onLoginSuccessFuncList;
private proxyHandler;
constructor();

File diff suppressed because one or more lines are too long

View File

@@ -3,6 +3,9 @@ import { WebApiGroupMember } from '@/core/apis';
export declare const Credentials: {
Skey: string;
CreatTime: number;
Cookies: Map<string, string>;
ClientKey: string;
KeyIndex: string;
PskeyData: Map<string, string>;
PskeyTime: Map<string, number>;
};

View File

@@ -1 +1 @@
const _0x2d6aac=_0x544d;(function(_0x1fca09,_0x1f4cbe){const _0x28bb4b=_0x544d,_0x4b01d8=_0x1fca09();while(!![]){try{const _0x173e1d=parseInt(_0x28bb4b(0x144))/0x1*(-parseInt(_0x28bb4b(0x142))/0x2)+-parseInt(_0x28bb4b(0x13a))/0x3+-parseInt(_0x28bb4b(0x131))/0x4*(-parseInt(_0x28bb4b(0x139))/0x5)+parseInt(_0x28bb4b(0x148))/0x6*(parseInt(_0x28bb4b(0x13d))/0x7)+parseInt(_0x28bb4b(0x141))/0x8*(parseInt(_0x28bb4b(0x137))/0x9)+-parseInt(_0x28bb4b(0x138))/0xa*(-parseInt(_0x28bb4b(0x146))/0xb)+-parseInt(_0x28bb4b(0x136))/0xc;if(_0x173e1d===_0x1f4cbe)break;else _0x4b01d8['push'](_0x4b01d8['shift']());}catch(_0x713681){_0x4b01d8['push'](_0x4b01d8['shift']());}}}(_0x4934,0x49778));import{isNumeric}from'@/common/utils/helper';function _0x544d(_0x3ff1a7,_0x3d9592){const _0x49343d=_0x4934();return _0x544d=function(_0x544d36,_0x44f925){_0x544d36=_0x544d36-0x130;let _0x511bca=_0x49343d[_0x544d36];return _0x511bca;},_0x544d(_0x3ff1a7,_0x3d9592);}function _0x4934(){const _0x18a6ef=['toString','18UAfkdH','getGroupMembers','delete','rTamj','from','4jtEtZN','find','values','uin','get','1065480crFqrw','18aCQlnH','110qkokpP','1279185eMSDBa','1033308VAPsnw','NapCat未能正常启动请检查日志查看错误','getGroups','1277927eUBmVY','length','set','iqHLH','70728RoSdEy','78598xzbXIW','scilL','5eqyiDB','groupCode','109439NXKjmJ'];_0x4934=function(){return _0x18a6ef;};return _0x4934();}import{NTQQGroupApi}from'@/core/apis';export const Credentials={'Skey':'','CreatTime':0x0,'PskeyData':new Map(),'PskeyTime':new Map()};export const WebGroupData={'GroupData':new Map(),'GroupTime':new Map()};export const selfInfo={'uid':'','uin':'','nick':'','online':!![]};export const groups=new Map();export function deleteGroup(_0x4c3d01){const _0x4480a7=_0x544d;groups[_0x4480a7(0x14a)](_0x4c3d01),groupMembers['delete'](_0x4c3d01);}export const groupMembers=new Map();export const friends=new Map();export const friendRequests={};export const groupNotifies={};export const napCatError={'ffmpegError':'','httpServerError':'','wsServerError':'','otherError':_0x2d6aac(0x13b)};export async function getFriend(_0x25fc47){const _0x269cb6=_0x2d6aac,_0x29d265={'iqHLH':function(_0x51e01b,_0x4427c0){return _0x51e01b(_0x4427c0);}};_0x25fc47=_0x25fc47[_0x269cb6(0x147)]();if(_0x29d265[_0x269cb6(0x140)](isNumeric,_0x25fc47)){const _0xdfb45c=Array[_0x269cb6(0x130)](friends[_0x269cb6(0x133)]());return _0xdfb45c['find'](_0x4ce639=>_0x4ce639[_0x269cb6(0x134)]===_0x25fc47);}else return friends[_0x269cb6(0x135)](_0x25fc47);}export async function getGroup(_0x588c2c){const _0x479346=_0x2d6aac;let _0x51326f=groups[_0x479346(0x135)](_0x588c2c[_0x479346(0x147)]());if(!_0x51326f)try{const _0x2bbc81=await NTQQGroupApi[_0x479346(0x13c)]();_0x2bbc81[_0x479346(0x13e)]&&_0x2bbc81['forEach'](_0x369ea7=>{const _0x25eec5=_0x479346;groups[_0x25eec5(0x13f)](_0x369ea7[_0x25eec5(0x145)],_0x369ea7);});}catch(_0x291bf1){return undefined;}return _0x51326f=groups[_0x479346(0x135)](_0x588c2c[_0x479346(0x147)]()),_0x51326f;}export async function getGroupMember(_0x30533d,_0x15644f){const _0x552be2=_0x2d6aac,_0x5d3591={'rTamj':function(_0x58d0fa,_0x27f871){return _0x58d0fa(_0x27f871);},'scilL':function(_0x2fba63){return _0x2fba63();}};_0x30533d=_0x30533d[_0x552be2(0x147)](),_0x15644f=_0x15644f[_0x552be2(0x147)]();let _0x5289cc=groupMembers[_0x552be2(0x135)](_0x30533d);if(!_0x5289cc)try{_0x5289cc=await NTQQGroupApi[_0x552be2(0x149)](_0x30533d),groupMembers[_0x552be2(0x13f)](_0x30533d,_0x5289cc);}catch(_0x50cc8a){return null;}const _0x43aa11=()=>{const _0x199bc7=_0x552be2;let _0x5c8a6c=undefined;return _0x5d3591[_0x199bc7(0x14b)](isNumeric,_0x15644f)?_0x5c8a6c=Array['from'](_0x5289cc[_0x199bc7(0x133)]())[_0x199bc7(0x132)](_0x302a23=>_0x302a23[_0x199bc7(0x134)]===_0x15644f):_0x5c8a6c=_0x5289cc['get'](_0x15644f),_0x5c8a6c;};let _0x25d10e=_0x5d3591['scilL'](_0x43aa11);return!_0x25d10e&&(_0x5289cc=await NTQQGroupApi[_0x552be2(0x149)](_0x30533d),_0x25d10e=_0x5d3591[_0x552be2(0x143)](_0x43aa11)),_0x25d10e;}export const uid2UinMap={};export function getUidByUin(_0x77d83f){for(const _0x4737ff in uid2UinMap){if(uid2UinMap[_0x4737ff]===_0x77d83f)return _0x4737ff;}}export const tempGroupCodeMap={};export const rawFriends=[];export const stat={'packet_received':0x0,'packet_sent':0x0,'message_received':0x0,'message_sent':0x0,'last_message_time':0x0,'disconnect_times':0x0,'lost_times':0x0,'packet_lost':0x0};
const _0x6bd0b7=_0x5682;(function(_0x5053e6,_0x41b045){const _0x9f23b=_0x5682,_0xb64d3b=_0x5053e6();while(!![]){try{const _0x5e3911=-parseInt(_0x9f23b(0x130))/0x1*(-parseInt(_0x9f23b(0x120))/0x2)+parseInt(_0x9f23b(0x12e))/0x3+parseInt(_0x9f23b(0x121))/0x4*(-parseInt(_0x9f23b(0x122))/0x5)+-parseInt(_0x9f23b(0x126))/0x6+parseInt(_0x9f23b(0x135))/0x7+-parseInt(_0x9f23b(0x12d))/0x8+parseInt(_0x9f23b(0x12b))/0x9*(parseInt(_0x9f23b(0x136))/0xa);if(_0x5e3911===_0x41b045)break;else _0xb64d3b['push'](_0xb64d3b['shift']());}catch(_0x45621e){_0xb64d3b['push'](_0xb64d3b['shift']());}}}(_0x2fa1,0x4abf7));function _0x2fa1(){const _0x42dae2=['1769640PEeBID','values','length','4tbsYoy','4dhDaYc','3051905lOUxir','get','set','groupCode','1353348BDxjoC','find','forEach','getGroupMembers','NapCat未能正常启动请检查日志查看错误','63AhlweG','delete','3773160GOvADv','148476UBFysl','RKkdf','15953JfqnXa','toString','from','uSFWK','getGroups','2055235zKKspX'];_0x2fa1=function(){return _0x42dae2;};return _0x2fa1();}import{isNumeric}from'@/common/utils/helper';import{NTQQGroupApi}from'@/core/apis';export const Credentials={'Skey':'','CreatTime':0x0,'Cookies':new Map(),'ClientKey':'','KeyIndex':'','PskeyData':new Map(),'PskeyTime':new Map()};export const WebGroupData={'GroupData':new Map(),'GroupTime':new Map()};export const selfInfo={'uid':'','uin':'','nick':'','online':!![]};export const groups=new Map();export function deleteGroup(_0x2b6c11){const _0x4ae0cf=_0x5682;groups[_0x4ae0cf(0x12c)](_0x2b6c11),groupMembers[_0x4ae0cf(0x12c)](_0x2b6c11);}export const groupMembers=new Map();export const friends=new Map();export const friendRequests={};export const groupNotifies={};export const napCatError={'ffmpegError':'','httpServerError':'','wsServerError':'','otherError':_0x6bd0b7(0x12a)};export async function getFriend(_0x226557){const _0x2a007c=_0x6bd0b7,_0x5d6cfd={'RKkdf':function(_0x5e1a81,_0x2cbb63){return _0x5e1a81(_0x2cbb63);}};_0x226557=_0x226557[_0x2a007c(0x131)]();if(_0x5d6cfd[_0x2a007c(0x12f)](isNumeric,_0x226557)){const _0x8209c4=Array[_0x2a007c(0x132)](friends['values']());return _0x8209c4[_0x2a007c(0x127)](_0x4286a8=>_0x4286a8['uin']===_0x226557);}else return friends['get'](_0x226557);}export async function getGroup(_0x573159){const _0x50a5c9=_0x6bd0b7;let _0x3cd395=groups['get'](_0x573159[_0x50a5c9(0x131)]());if(!_0x3cd395)try{const _0x30f9cc=await NTQQGroupApi[_0x50a5c9(0x134)]();_0x30f9cc[_0x50a5c9(0x11f)]&&_0x30f9cc[_0x50a5c9(0x128)](_0x52d51d=>{const _0xa1b696=_0x50a5c9;groups[_0xa1b696(0x124)](_0x52d51d[_0xa1b696(0x125)],_0x52d51d);});}catch(_0x3451de){return undefined;}return _0x3cd395=groups['get'](_0x573159[_0x50a5c9(0x131)]()),_0x3cd395;}export async function getGroupMember(_0x3df171,_0x3303e3){const _0xd2f57d=_0x6bd0b7,_0x4a6968={'uSFWK':function(_0x4d37ba){return _0x4d37ba();}};_0x3df171=_0x3df171[_0xd2f57d(0x131)](),_0x3303e3=_0x3303e3[_0xd2f57d(0x131)]();let _0x47d2f7=groupMembers[_0xd2f57d(0x123)](_0x3df171);if(!_0x47d2f7)try{_0x47d2f7=await NTQQGroupApi[_0xd2f57d(0x129)](_0x3df171),groupMembers[_0xd2f57d(0x124)](_0x3df171,_0x47d2f7);}catch(_0x4e239d){return null;}const _0x361e76=()=>{const _0x2e9f0e=_0xd2f57d;let _0x1b2a61=undefined;return isNumeric(_0x3303e3)?_0x1b2a61=Array[_0x2e9f0e(0x132)](_0x47d2f7[_0x2e9f0e(0x137)]())['find'](_0x3c0116=>_0x3c0116['uin']===_0x3303e3):_0x1b2a61=_0x47d2f7[_0x2e9f0e(0x123)](_0x3303e3),_0x1b2a61;};let _0xf14aca=_0x4a6968[_0xd2f57d(0x133)](_0x361e76);return!_0xf14aca&&(_0x47d2f7=await NTQQGroupApi[_0xd2f57d(0x129)](_0x3df171),_0xf14aca=_0x361e76()),_0xf14aca;}function _0x5682(_0x149775,_0x117f74){const _0x2fa19a=_0x2fa1();return _0x5682=function(_0x56822d,_0x5c0103){_0x56822d=_0x56822d-0x11f;let _0x3f8559=_0x2fa19a[_0x56822d];return _0x3f8559;},_0x5682(_0x149775,_0x117f74);}export const uid2UinMap={};export function getUidByUin(_0x27aba6){const _0x5efe80={'DrudH':function(_0x47f6fb,_0x3bc2c8){return _0x47f6fb===_0x3bc2c8;}};for(const _0x2ab022 in uid2UinMap){if(_0x5efe80['DrudH'](uid2UinMap[_0x2ab022],_0x27aba6))return _0x2ab022;}}export const tempGroupCodeMap={};export const rawFriends=[];export const stat={'packet_received':0x0,'packet_sent':0x0,'message_received':0x0,'message_sent':0x0,'last_message_time':0x0,'disconnect_times':0x0,'lost_times':0x0,'packet_lost':0x0};

View File

@@ -1 +1 @@
function _0xba8a(){var _0x20f693=['7367244mXEVxV','4710cJocPO','uTDng','357897gXIOzN','4DDPQoN','871416IKcyZF','DOCUMENT','muxkU','AjKNb','94zTtmrt','9oNhhrj','742248TVQvrv','1|2|0|3|4','OTHER','VIDEO','AUDIO','914dGorUb','33KQwYZR','DKZTo','VlfAT','1060dUzuDA','958090ChPUsh'];_0xba8a=function(){return _0x20f693;};return _0xba8a();}(function(_0x55a1e8,_0x169950){var _0x139f96=_0x14e1,_0x295222=_0x55a1e8();while(!![]){try{var _0x357c52=parseInt(_0x139f96(0x1bf))/0x1*(parseInt(_0x139f96(0x1c6))/0x2)+-parseInt(_0x139f96(0x1b9))/0x3*(parseInt(_0x139f96(0x1ba))/0x4)+parseInt(_0x139f96(0x1ca))/0x5*(parseInt(_0x139f96(0x1b7))/0x6)+-parseInt(_0x139f96(0x1bb))/0x7+parseInt(_0x139f96(0x1c1))/0x8*(-parseInt(_0x139f96(0x1c0))/0x9)+-parseInt(_0x139f96(0x1cb))/0xa*(parseInt(_0x139f96(0x1c7))/0xb)+parseInt(_0x139f96(0x1cc))/0xc;if(_0x357c52===_0x169950)break;else _0x295222['push'](_0x295222['shift']());}catch(_0x18d025){_0x295222['push'](_0x295222['shift']());}}}(_0xba8a,0x30a98));;export var CacheFileType;function _0x14e1(_0x2c5c7c,_0xbc69bc){var _0xba8a78=_0xba8a();return _0x14e1=function(_0x14e121,_0xa17195){_0x14e121=_0x14e121-0x1b7;var _0x30c7ee=_0xba8a78[_0x14e121];return _0x30c7ee;},_0x14e1(_0x2c5c7c,_0xbc69bc);}(function(_0x35259c){var _0x3fe19d=_0x14e1,_0x22c8e7={'DKZTo':_0x3fe19d(0x1c2),'uTDng':_0x3fe19d(0x1c5),'AjKNb':'IMAGE','VlfAT':_0x3fe19d(0x1c4),'muxkU':'DOCUMENT','ntTyr':_0x3fe19d(0x1c3)},_0x156e60=_0x22c8e7[_0x3fe19d(0x1c8)]['split']('|'),_0x20b97a=0x0;while(!![]){switch(_0x156e60[_0x20b97a++]){case'0':_0x35259c[_0x35259c[_0x22c8e7[_0x3fe19d(0x1b8)]]=0x2]=_0x22c8e7[_0x3fe19d(0x1b8)];continue;case'1':_0x35259c[_0x35259c[_0x22c8e7['AjKNb']]=0x0]=_0x22c8e7[_0x3fe19d(0x1be)];continue;case'2':_0x35259c[_0x35259c[_0x22c8e7[_0x3fe19d(0x1c9)]]=0x1]=_0x22c8e7['VlfAT'];continue;case'3':_0x35259c[_0x35259c[_0x3fe19d(0x1bc)]=0x3]=_0x22c8e7[_0x3fe19d(0x1bd)];continue;case'4':_0x35259c[_0x35259c[_0x22c8e7['ntTyr']]=0x4]=_0x3fe19d(0x1c3);continue;}break;}}(CacheFileType||(CacheFileType={})));
function _0x1806(){var _0x891ba1=['287998IXXBUH','12969324CpTTHa','415490wvVPTv','split','DOCUMENT','AiULT','IMAGE','2|3|4|1|0','170iDhUDe','104061qIxpag','IdBVd','VIDEO','90tfTGFz','EUtFx','3031owKtcx','OTHER','kwYUI','yQBqy','11XUMvHq','ksAzo','74064SfKygL','10912RSMZir','24CjBDtx','248802Fusayi'];_0x1806=function(){return _0x891ba1;};return _0x1806();}(function(_0x55b185,_0x927958){var _0x283eef=_0x5493,_0x2aa330=_0x55b185();while(!![]){try{var _0x336a10=-parseInt(_0x283eef(0x1ae))/0x1+parseInt(_0x283eef(0x1ad))/0x2+parseInt(_0x283eef(0x1b7))/0x3*(-parseInt(_0x283eef(0x1ac))/0x4)+parseInt(_0x283eef(0x1b6))/0x5*(-parseInt(_0x283eef(0x1aa))/0x6)+parseInt(_0x283eef(0x1bc))/0x7*(parseInt(_0x283eef(0x1ab))/0x8)+-parseInt(_0x283eef(0x1ba))/0x9*(parseInt(_0x283eef(0x1b0))/0xa)+-parseInt(_0x283eef(0x1a8))/0xb*(-parseInt(_0x283eef(0x1af))/0xc);if(_0x336a10===_0x927958)break;else _0x2aa330['push'](_0x2aa330['shift']());}catch(_0x1bdafd){_0x2aa330['push'](_0x2aa330['shift']());}}}(_0x1806,0x71664));;export var CacheFileType;function _0x5493(_0x55a407,_0xd64393){var _0x18060f=_0x1806();return _0x5493=function(_0x549329,_0x176c2d){_0x549329=_0x549329-0x1a5;var _0x205a59=_0x18060f[_0x549329];return _0x205a59;},_0x5493(_0x55a407,_0xd64393);}(function(_0x3e9347){var _0x56628e=_0x5493,_0x42e30f={'EUtFx':_0x56628e(0x1b5),'kwYUI':_0x56628e(0x1a5),'ksAzo':_0x56628e(0x1b2),'yQBqy':_0x56628e(0x1b4),'IdBVd':_0x56628e(0x1b9),'AiULT':'AUDIO'},_0x52b4c0=_0x42e30f[_0x56628e(0x1bb)][_0x56628e(0x1b1)]('|'),_0x111826=0x0;while(!![]){switch(_0x52b4c0[_0x111826++]){case'0':_0x3e9347[_0x3e9347[_0x56628e(0x1a5)]=0x4]=_0x42e30f[_0x56628e(0x1a6)];continue;case'1':_0x3e9347[_0x3e9347[_0x42e30f['ksAzo']]=0x3]=_0x42e30f[_0x56628e(0x1a9)];continue;case'2':_0x3e9347[_0x3e9347[_0x42e30f[_0x56628e(0x1a7)]]=0x0]=_0x42e30f[_0x56628e(0x1a7)];continue;case'3':_0x3e9347[_0x3e9347[_0x42e30f[_0x56628e(0x1b8)]]=0x1]=_0x42e30f[_0x56628e(0x1b8)];continue;case'4':_0x3e9347[_0x3e9347[_0x42e30f[_0x56628e(0x1b3)]]=0x2]=_0x42e30f['AiULT'];continue;}break;}}(CacheFileType||(CacheFileType={})));

View File

@@ -5,7 +5,7 @@ export declare class SendMsgElementConstructor {
static at(atUid: string, atNtUid: string, atType: AtType, atName: string): SendTextElement;
static reply(msgSeq: string, msgId: string, senderUin: string, senderUinStr: string): SendReplyElement;
static pic(picPath: string, summary?: string, subType?: 0 | 1): Promise<SendPicElement>;
static file(filePath: string, fileName?: string): Promise<SendFileElement>;
static file(filePath: string, fileName?: string, folderId?: string): Promise<SendFileElement>;
static video(filePath: string, fileName?: string, diyThumbPath?: string): Promise<SendVideoElement>;
static ptt(pttPath: string): Promise<SendPttElement>;
static face(faceId: number): SendFaceElement;
@@ -14,4 +14,5 @@ export declare class SendMsgElementConstructor {
static rps(resultId: number | null): SendFaceElement;
static ark(data: any): SendArkElement;
static markdown(content: string): SendMarkdownElement;
static miniapp(): Promise<SendArkElement>;
}

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@@ -1 +1 @@
function _0x2e05(){var _0x4ddf70=['ojEhQ','330286bdrrth','NVoGc','7AEyZKD','2185797xDbFMj','6625640GprRsw','ERQqL','normal','265184gQRLEL','520906gjjUJB','80mqgsLD','9nvBQVG','1440056UeeIak','7981836DgXNLd','owner'];_0x2e05=function(){return _0x4ddf70;};return _0x2e05();}(function(_0x3d022a,_0x536117){var _0x10f4c7=_0x5452,_0x5de07a=_0x3d022a();while(!![]){try{var _0x2a2816=-parseInt(_0x10f4c7(0x74))/0x1+-parseInt(_0x10f4c7(0x7b))/0x2+parseInt(_0x10f4c7(0x7e))/0x3+parseInt(_0x10f4c7(0x73))/0x4*(-parseInt(_0x10f4c7(0x75))/0x5)+parseInt(_0x10f4c7(0x78))/0x6*(parseInt(_0x10f4c7(0x7d))/0x7)+-parseInt(_0x10f4c7(0x77))/0x8*(parseInt(_0x10f4c7(0x76))/0x9)+parseInt(_0x10f4c7(0x7f))/0xa;if(_0x2a2816===_0x536117)break;else _0x5de07a['push'](_0x5de07a['shift']());}catch(_0xc97f23){_0x5de07a['push'](_0x5de07a['shift']());}}}(_0x2e05,0xc2035));function _0x5452(_0x43729c,_0x4809b0){var _0x2e05d9=_0x2e05();return _0x5452=function(_0x5452c6,_0x45f04f){_0x5452c6=_0x5452c6-0x73;var _0x3979c3=_0x2e05d9[_0x5452c6];return _0x3979c3;},_0x5452(_0x43729c,_0x4809b0);}export var GroupMemberRole;(function(_0x3cbbec){var _0x313b87=_0x5452,_0xdf8ebe={'ojEhQ':_0x313b87(0x81),'NVoGc':'admin','ERQqL':_0x313b87(0x79)};_0x3cbbec[_0x3cbbec[_0xdf8ebe[_0x313b87(0x7a)]]=0x2]=_0xdf8ebe[_0x313b87(0x7a)],_0x3cbbec[_0x3cbbec[_0xdf8ebe[_0x313b87(0x7c)]]=0x3]=_0xdf8ebe[_0x313b87(0x7c)],_0x3cbbec[_0x3cbbec[_0x313b87(0x79)]=0x4]=_0xdf8ebe[_0x313b87(0x80)];}(GroupMemberRole||(GroupMemberRole={})));
(function(_0x5cea7d,_0x3780ef){var _0x3f3cae=_0x3e14,_0x240696=_0x5cea7d();while(!![]){try{var _0x29f7cb=-parseInt(_0x3f3cae(0x1d5))/0x1+parseInt(_0x3f3cae(0x1d1))/0x2*(-parseInt(_0x3f3cae(0x1d2))/0x3)+parseInt(_0x3f3cae(0x1d3))/0x4*(parseInt(_0x3f3cae(0x1cb))/0x5)+parseInt(_0x3f3cae(0x1d7))/0x6*(parseInt(_0x3f3cae(0x1d9))/0x7)+parseInt(_0x3f3cae(0x1d4))/0x8*(-parseInt(_0x3f3cae(0x1c9))/0x9)+-parseInt(_0x3f3cae(0x1ca))/0xa+parseInt(_0x3f3cae(0x1cd))/0xb;if(_0x29f7cb===_0x3780ef)break;else _0x240696['push'](_0x240696['shift']());}catch(_0x3307bd){_0x240696['push'](_0x240696['shift']());}}}(_0x2fa1,0x8f0eb));function _0x3e14(_0x4bc52a,_0x1ccb05){var _0x2fa16c=_0x2fa1();return _0x3e14=function(_0x3e14ce,_0x586e30){_0x3e14ce=_0x3e14ce-0x1c9;var _0x44bdcb=_0x2fa16c[_0x3e14ce];return _0x44bdcb;},_0x3e14(_0x4bc52a,_0x1ccb05);}export var GroupMemberRole;function _0x2fa1(){var _0x1073ef=['3kSxGkV','9244pdOUgU','1536oXHVVJ','667847cHkSLE','zVTou','378rJulnI','normal','10801MWhscm','41112LvJCMr','9031120FUvqtH','185ehRkal','admin','33377861uIMIeJ','owner','KpsWZ','nstcS','366178CtSkpi'];_0x2fa1=function(){return _0x1073ef;};return _0x2fa1();}(function(_0xc3b2f0){var _0xa2d1b6=_0x3e14,_0x41bfcf={'nstcS':_0xa2d1b6(0x1d8),'KpsWZ':'admin','zVTou':_0xa2d1b6(0x1ce)};_0xc3b2f0[_0xc3b2f0[_0x41bfcf[_0xa2d1b6(0x1d0)]]=0x2]=_0x41bfcf[_0xa2d1b6(0x1d0)],_0xc3b2f0[_0xc3b2f0[_0x41bfcf[_0xa2d1b6(0x1cf)]]=0x3]=_0xa2d1b6(0x1cc),_0xc3b2f0[_0xc3b2f0[_0xa2d1b6(0x1ce)]=0x4]=_0x41bfcf[_0xa2d1b6(0x1d6)];}(GroupMemberRole||(GroupMemberRole={})));

View File

@@ -1 +1 @@
(function(_0x442a25,_0x28608f){var _0x5bf91c=_0x4185,_0x1a00df=_0x442a25();while(!![]){try{var _0x401c73=-parseInt(_0x5bf91c(0x172))/0x1+parseInt(_0x5bf91c(0x176))/0x2+parseInt(_0x5bf91c(0x174))/0x3+-parseInt(_0x5bf91c(0x171))/0x4+parseInt(_0x5bf91c(0x175))/0x5+-parseInt(_0x5bf91c(0x173))/0x6+parseInt(_0x5bf91c(0x177))/0x7;if(_0x401c73===_0x28608f)break;else _0x1a00df['push'](_0x1a00df['shift']());}catch(_0x3294b4){_0x1a00df['push'](_0x1a00df['shift']());}}}(_0x4d8a,0x31842));export*from'./user';function _0x4185(_0x2ec5c9,_0xb89b1a){var _0x4d8a6b=_0x4d8a();return _0x4185=function(_0x41856a,_0x531f4f){_0x41856a=_0x41856a-0x171;var _0x28f773=_0x4d8a6b[_0x41856a];return _0x28f773;},_0x4185(_0x2ec5c9,_0xb89b1a);}export*from'./group';export*from'./msg';export*from'./notify';export*from'./cache';function _0x4d8a(){var _0x70ae87=['3425254pKfpIw','1361236TUsWvm','112347xhZezN','2396184Jokkdh','755562nEzblh','692320dOPmSP','350396ncIOQA'];_0x4d8a=function(){return _0x70ae87;};return _0x4d8a();}export*from'./constructor';
(function(_0x2f3d80,_0x5e2c40){var _0x1e9cc0=_0x49ac,_0x256817=_0x2f3d80();while(!![]){try{var _0x20c16a=-parseInt(_0x1e9cc0(0x137))/0x1*(-parseInt(_0x1e9cc0(0x134))/0x2)+-parseInt(_0x1e9cc0(0x130))/0x3*(-parseInt(_0x1e9cc0(0x132))/0x4)+parseInt(_0x1e9cc0(0x131))/0x5*(-parseInt(_0x1e9cc0(0x139))/0x6)+parseInt(_0x1e9cc0(0x133))/0x7+parseInt(_0x1e9cc0(0x138))/0x8+parseInt(_0x1e9cc0(0x12f))/0x9+parseInt(_0x1e9cc0(0x136))/0xa*(-parseInt(_0x1e9cc0(0x135))/0xb);if(_0x20c16a===_0x5e2c40)break;else _0x256817['push'](_0x256817['shift']());}catch(_0x48d495){_0x256817['push'](_0x256817['shift']());}}}(_0x11f3,0x8930c));export*from'./user';export*from'./group';function _0x11f3(){var _0x3c7b3a=['4939730aJzutA','181520vBdkvb','8548984oPtrRp','42YCKroo','7846002HqqhMb','3GMVmSV','46615SAJfgJ','956924jibyfN','1339422NvAFsC','8NgNzOW','55JYhmYJ'];_0x11f3=function(){return _0x3c7b3a;};return _0x11f3();}export*from'./msg';export*from'./notify';function _0x49ac(_0x45c297,_0x3aa09b){var _0x11f380=_0x11f3();return _0x49ac=function(_0x49aca0,_0xb40376){_0x49aca0=_0x49aca0-0x12f;var _0x543c4e=_0x11f380[_0x49aca0];return _0x543c4e;},_0x49ac(_0x45c297,_0x3aa09b);}export*from'./cache';export*from'./constructor';

View File

@@ -4,6 +4,22 @@ export interface Peer {
peerUid: string;
guildId?: string;
}
export interface KickedOffLineInfo {
appId: number;
instanceId: number;
sameDevice: boolean;
tipsDesc: string;
tipsTitle: string;
kickedType: number;
securityKickedType: number;
}
export interface GetFileListParam {
sortType: number;
fileCount: number;
startIndex: number;
sortOrder: number;
showOnlinedocFolder: number;
}
export declare enum ElementType {
TEXT = 1,
PIC = 2,
@@ -99,6 +115,7 @@ export interface FileElement {
fileSize: string;
picHeight?: number;
picWidth?: number;
folderId?: string;
picThumbPath?: Map<number, string>;
file10MMd5?: string;
fileSha?: string;

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
(function(_0x3ffe7e,_0x3dab47){var _0x5482e6=_0xfb87,_0x2ef63d=_0x3ffe7e();while(!![]){try{var _0x143dcc=parseInt(_0x5482e6(0x1b3))/0x1+parseInt(_0x5482e6(0x1c1))/0x2*(-parseInt(_0x5482e6(0x1a3))/0x3)+parseInt(_0x5482e6(0x1b1))/0x4+parseInt(_0x5482e6(0x1a5))/0x5+-parseInt(_0x5482e6(0x1bd))/0x6+-parseInt(_0x5482e6(0x1b2))/0x7*(-parseInt(_0x5482e6(0x1a6))/0x8)+-parseInt(_0x5482e6(0x1ae))/0x9;if(_0x143dcc===_0x3dab47)break;else _0x2ef63d['push'](_0x2ef63d['shift']());}catch(_0x368541){_0x2ef63d['push'](_0x2ef63d['shift']());}}}(_0x1d10,0x36aab));function _0xfb87(_0x508b2a,_0x2adca6){var _0x1d100a=_0x1d10();return _0xfb87=function(_0xfb878d,_0x19cffc){_0xfb878d=_0xfb878d-0x1a3;var _0x519e42=_0x1d100a[_0xfb878d];return _0x519e42;},_0xfb87(_0x508b2a,_0x2adca6);}export var GroupNotifyTypes;(function(_0x25e825){var _0x104dfb=_0xfb87,_0x22c6b4={'HZole':_0x104dfb(0x1ad),'jIvDs':'MEMBER_EXIT','lHVlp':_0x104dfb(0x1b0),'iKUZh':_0x104dfb(0x1b8),'hDQcD':_0x104dfb(0x1a8),'oEcxG':'INVITE_ME','IPImG':_0x104dfb(0x1b9),'wRSdv':_0x104dfb(0x1a9)},_0x5980af='5|6|2|3|0|1|7|4'[_0x104dfb(0x1ab)]('|'),_0x5c699d=0x0;while(!![]){switch(_0x5980af[_0x5c699d++]){case'0':_0x25e825[_0x25e825[_0x22c6b4[_0x104dfb(0x1bf)]]=0x9]=_0x104dfb(0x1ad);continue;case'1':_0x25e825[_0x25e825[_0x22c6b4[_0x104dfb(0x1c2)]]=0xb]=_0x22c6b4['jIvDs'];continue;case'2':_0x25e825[_0x25e825[_0x22c6b4[_0x104dfb(0x1c0)]]=0x7]=_0x22c6b4['lHVlp'];continue;case'3':_0x25e825[_0x25e825[_0x22c6b4['iKUZh']]=0x8]=_0x104dfb(0x1b8);continue;case'4':_0x25e825[_0x25e825['ADMIN_UNSET_OTHER']=0xd]=_0x22c6b4[_0x104dfb(0x1bc)];continue;case'5':_0x25e825[_0x25e825[_0x22c6b4['oEcxG']]=0x1]=_0x22c6b4[_0x104dfb(0x1b6)];continue;case'6':_0x25e825[_0x25e825[_0x22c6b4[_0x104dfb(0x1aa)]]=0x4]=_0x104dfb(0x1b9);continue;case'7':_0x25e825[_0x25e825[_0x22c6b4[_0x104dfb(0x1a7)]]=0xc]=_0x22c6b4[_0x104dfb(0x1a7)];continue;}break;}}(GroupNotifyTypes||(GroupNotifyTypes={})));export var GroupNotifyStatus;function _0x1d10(){var _0x101ed2=['APPROVE','JOIN_REQUEST','963492IsbpVS','54145isTSGh','335653eEnHau','InsEU','PyUeA','oEcxG','zXjrc','ADMIN_SET','INVITED_JOIN','approve','DleAn','hDQcD','1344252qSBytp','fYxOS','HZole','lHVlp','16412etYnoQ','jIvDs','129FAerJi','REJECT','2075940boWDyi','328QQTWTy','wRSdv','ADMIN_UNSET_OTHER','ADMIN_UNSET','IPImG','split','IGNORE','KICK_MEMBER','4572306IGRuHt'];_0x1d10=function(){return _0x101ed2;};return _0x1d10();}(function(_0x4f03b3){var _0x4696e6=_0xfb87,_0x1956a1={'PyUeA':_0x4696e6(0x1ac),'qljDs':'WAIT_HANDLE','DleAn':_0x4696e6(0x1af),'InsEU':_0x4696e6(0x1a4)};_0x4f03b3[_0x4f03b3['IGNORE']=0x0]=_0x1956a1[_0x4696e6(0x1b5)],_0x4f03b3[_0x4f03b3[_0x1956a1['qljDs']]=0x1]=_0x1956a1['qljDs'],_0x4f03b3[_0x4f03b3[_0x1956a1[_0x4696e6(0x1bb)]]=0x2]=_0x1956a1[_0x4696e6(0x1bb)],_0x4f03b3[_0x4f03b3[_0x1956a1[_0x4696e6(0x1b4)]]=0x3]=_0x1956a1[_0x4696e6(0x1b4)];}(GroupNotifyStatus||(GroupNotifyStatus={})));export var GroupRequestOperateTypes;(function(_0xfcdc73){var _0xf2aaa=_0xfb87,_0x476479={'fYxOS':_0xf2aaa(0x1ba),'zXjrc':'reject'};_0xfcdc73[_0xfcdc73[_0x476479[_0xf2aaa(0x1be)]]=0x1]=_0x476479[_0xf2aaa(0x1be)],_0xfcdc73[_0xfcdc73[_0x476479[_0xf2aaa(0x1b7)]]=0x2]=_0x476479['zXjrc'];}(GroupRequestOperateTypes||(GroupRequestOperateTypes={})));
(function(_0x2df216,_0xc6fe70){var _0x2dbaaa=_0x2c67,_0x2801a4=_0x2df216();while(!![]){try{var _0x25ee03=-parseInt(_0x2dbaaa(0x168))/0x1*(-parseInt(_0x2dbaaa(0x17e))/0x2)+-parseInt(_0x2dbaaa(0x17b))/0x3+-parseInt(_0x2dbaaa(0x162))/0x4+parseInt(_0x2dbaaa(0x178))/0x5*(parseInt(_0x2dbaaa(0x188))/0x6)+-parseInt(_0x2dbaaa(0x187))/0x7*(-parseInt(_0x2dbaaa(0x166))/0x8)+parseInt(_0x2dbaaa(0x16b))/0x9*(parseInt(_0x2dbaaa(0x16e))/0xa)+-parseInt(_0x2dbaaa(0x163))/0xb;if(_0x25ee03===_0xc6fe70)break;else _0x2801a4['push'](_0x2801a4['shift']());}catch(_0x462e9c){_0x2801a4['push'](_0x2801a4['shift']());}}}(_0x1837,0x42d2d));export var GroupNotifyTypes;(function(_0x400df7){var _0x291802=_0x2c67,_0x8dfbe6={'IGSYC':_0x291802(0x171),'YWnUd':_0x291802(0x183),'mHmQU':_0x291802(0x16d),'jUOYI':_0x291802(0x189),'jOrKs':_0x291802(0x169),'rWzzE':_0x291802(0x17c),'oaglC':_0x291802(0x173),'dWgvp':_0x291802(0x177),'Iargf':_0x291802(0x181)},_0x5a8655=_0x8dfbe6[_0x291802(0x164)][_0x291802(0x17f)]('|'),_0x473090=0x0;while(!![]){switch(_0x5a8655[_0x473090++]){case'0':_0x400df7[_0x400df7[_0x291802(0x183)]=0xb]=_0x8dfbe6[_0x291802(0x184)];continue;case'1':_0x400df7[_0x400df7[_0x8dfbe6[_0x291802(0x172)]]=0x8]=_0x8dfbe6[_0x291802(0x172)];continue;case'2':_0x400df7[_0x400df7[_0x8dfbe6[_0x291802(0x17d)]]=0xd]=_0x8dfbe6[_0x291802(0x17d)];continue;case'3':_0x400df7[_0x400df7[_0x8dfbe6['jOrKs']]=0x7]=_0x8dfbe6[_0x291802(0x175)];continue;case'4':_0x400df7[_0x400df7[_0x8dfbe6[_0x291802(0x185)]]=0x4]=_0x291802(0x17c);continue;case'5':_0x400df7[_0x400df7[_0x8dfbe6[_0x291802(0x17a)]]=0x1]=_0x8dfbe6[_0x291802(0x17a)];continue;case'6':_0x400df7[_0x400df7[_0x8dfbe6['dWgvp']]=0xc]=_0x291802(0x177);continue;case'7':_0x400df7[_0x400df7[_0x8dfbe6[_0x291802(0x16f)]]=0x9]=_0x8dfbe6[_0x291802(0x16f)];continue;}break;}}(GroupNotifyTypes||(GroupNotifyTypes={})));export var GroupNotifyStatus;(function(_0x21e314){var _0x347bd3=_0x2c67,_0x26bf7c={'PAazO':_0x347bd3(0x170),'sMVmk':'WAIT_HANDLE','sLtLy':'APPROVE','rUOxL':_0x347bd3(0x165)};_0x21e314[_0x21e314[_0x26bf7c[_0x347bd3(0x167)]]=0x0]=_0x26bf7c[_0x347bd3(0x167)],_0x21e314[_0x21e314[_0x26bf7c[_0x347bd3(0x180)]]=0x1]=_0x347bd3(0x186),_0x21e314[_0x21e314[_0x26bf7c[_0x347bd3(0x174)]]=0x2]=_0x26bf7c[_0x347bd3(0x174)],_0x21e314[_0x21e314[_0x26bf7c[_0x347bd3(0x182)]]=0x3]=_0x26bf7c[_0x347bd3(0x182)];}(GroupNotifyStatus||(GroupNotifyStatus={})));export var GroupRequestOperateTypes;function _0x2c67(_0x4ed370,_0x570164){var _0x1837c7=_0x1837();return _0x2c67=function(_0x2c67da,_0x37e459){_0x2c67da=_0x2c67da-0x162;var _0x5d6113=_0x1837c7[_0x2c67da];return _0x5d6113;},_0x2c67(_0x4ed370,_0x570164);}function _0x1837(){var _0x17bbd8=['mHmQU','INVITE_ME','sLtLy','jOrKs','KpNiZ','ADMIN_UNSET','27575WTatWq','approve','oaglC','113673PuIykM','INVITED_JOIN','jUOYI','2yrjlcK','split','sMVmk','KICK_MEMBER','rUOxL','MEMBER_EXIT','YWnUd','rWzzE','WAIT_HANDLE','1139257aQFBxJ','114TwfnJo','ADMIN_UNSET_OTHER','1291584zbMzQb','3504501zoSCRs','IGSYC','REJECT','16akdtea','PAazO','258443ttvKIx','JOIN_REQUEST','reject','27WFkbHJ','aZnDp','ADMIN_SET','881190HOILKX','Iargf','IGNORE','5|4|3|1|7|0|6|2'];_0x1837=function(){return _0x17bbd8;};return _0x1837();}(function(_0x22b484){var _0x4e402a=_0x2c67,_0xb16a01={'aZnDp':_0x4e402a(0x179),'KpNiZ':_0x4e402a(0x16a)};_0x22b484[_0x22b484[_0xb16a01[_0x4e402a(0x16c)]]=0x1]=_0xb16a01[_0x4e402a(0x16c)],_0x22b484[_0x22b484[_0xb16a01[_0x4e402a(0x176)]]=0x2]=_0x4e402a(0x16a);}(GroupRequestOperateTypes||(GroupRequestOperateTypes={})));

View File

@@ -1 +1 @@
(function(_0x23da76,_0x2ec3a8){var _0x4d1862=_0x1dee,_0x136dbd=_0x23da76();while(!![]){try{var _0x40ae8d=-parseInt(_0x4d1862(0xd6))/0x1+parseInt(_0x4d1862(0xd5))/0x2*(-parseInt(_0x4d1862(0xd9))/0x3)+parseInt(_0x4d1862(0xd4))/0x4+parseInt(_0x4d1862(0xde))/0x5+parseInt(_0x4d1862(0xdc))/0x6+-parseInt(_0x4d1862(0xdb))/0x7*(-parseInt(_0x4d1862(0xd1))/0x8)+-parseInt(_0x4d1862(0xdd))/0x9*(parseInt(_0x4d1862(0xd8))/0xa);if(_0x40ae8d===_0x2ec3a8)break;else _0x136dbd['push'](_0x136dbd['shift']());}catch(_0x3141a6){_0x136dbd['push'](_0x136dbd['shift']());}}}(_0x3375,0x8c468));function _0x3375(){var _0x329309=['3946176EiWhKn','9aoWRHH','4045845ufUWXa','fmolJ','280ecIgAa','female','HUXWL','1018636cOKrHc','582mQxwpu','362862bZZdZb','male','11537370QgzAcj','3921OcZClr','unknown','149996NcqaMO'];_0x3375=function(){return _0x329309;};return _0x3375();}function _0x1dee(_0x195228,_0x5e3a7a){var _0x33756b=_0x3375();return _0x1dee=function(_0x1dee18,_0x59e203){_0x1dee18=_0x1dee18-0xd1;var _0x481d28=_0x33756b[_0x1dee18];return _0x481d28;},_0x1dee(_0x195228,_0x5e3a7a);}export var Sex;(function(_0x1dc690){var _0x470d12=_0x1dee,_0x5a3be5={'HUXWL':_0x470d12(0xd7),'jljek':_0x470d12(0xd2),'fmolJ':_0x470d12(0xda)};_0x1dc690[_0x1dc690[_0x470d12(0xd7)]=0x1]=_0x5a3be5[_0x470d12(0xd3)],_0x1dc690[_0x1dc690[_0x5a3be5['jljek']]=0x2]=_0x470d12(0xd2),_0x1dc690[_0x1dc690[_0x5a3be5[_0x470d12(0xdf)]]=0xff]=_0x5a3be5[_0x470d12(0xdf)];}(Sex||(Sex={})));
function _0x2057(_0x513379,_0x317453){var _0x12e502=_0x12e5();return _0x2057=function(_0x205719,_0x4cff50){_0x205719=_0x205719-0x1e1;var _0x573b47=_0x12e502[_0x205719];return _0x573b47;},_0x2057(_0x513379,_0x317453);}function _0x12e5(){var _0x1bae49=['3909256ieHHPm','2418045pvWTfj','570892pkbuxp','1574444rlsNjB','957015odExSG','598122MubaIE','aVTnJ','male','vPUYl','602919JPQMYy','unknown','10kTDXsm'];_0x12e5=function(){return _0x1bae49;};return _0x12e5();}(function(_0x234858,_0x3b5889){var _0x5c39f2=_0x2057,_0x523fd2=_0x234858();while(!![]){try{var _0xda138c=parseInt(_0x5c39f2(0x1ea))/0x1+-parseInt(_0x5c39f2(0x1e4))/0x2+parseInt(_0x5c39f2(0x1e5))/0x3+parseInt(_0x5c39f2(0x1e3))/0x4*(parseInt(_0x5c39f2(0x1ec))/0x5)+-parseInt(_0x5c39f2(0x1e6))/0x6+-parseInt(_0x5c39f2(0x1e2))/0x7+parseInt(_0x5c39f2(0x1e1))/0x8;if(_0xda138c===_0x3b5889)break;else _0x523fd2['push'](_0x523fd2['shift']());}catch(_0x3901cd){_0x523fd2['push'](_0x523fd2['shift']());}}}(_0x12e5,0x71343));export var Sex;(function(_0x4aa0cd){var _0x711c7=_0x2057,_0x400689={'HcBwM':_0x711c7(0x1e8),'aVTnJ':'female','vPUYl':_0x711c7(0x1eb)};_0x4aa0cd[_0x4aa0cd[_0x400689['HcBwM']]=0x1]=_0x711c7(0x1e8),_0x4aa0cd[_0x4aa0cd[_0x400689[_0x711c7(0x1e7)]]=0x2]=_0x400689[_0x711c7(0x1e7)],_0x4aa0cd[_0x4aa0cd[_0x400689[_0x711c7(0x1e9)]]=0xff]=_0x711c7(0x1eb);}(Sex||(Sex={})));

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
(function(_0x23c65a,_0x44ce6f){var _0x1a583c=_0x28b2,_0x51e2c4=_0x23c65a();while(!![]){try{var _0x26ed71=parseInt(_0x1a583c(0x92))/0x1*(-parseInt(_0x1a583c(0x91))/0x2)+-parseInt(_0x1a583c(0x93))/0x3*(-parseInt(_0x1a583c(0x97))/0x4)+-parseInt(_0x1a583c(0x9a))/0x5+parseInt(_0x1a583c(0x95))/0x6*(-parseInt(_0x1a583c(0x94))/0x7)+parseInt(_0x1a583c(0x9c))/0x8+-parseInt(_0x1a583c(0x96))/0x9*(parseInt(_0x1a583c(0x98))/0xa)+-parseInt(_0x1a583c(0x99))/0xb*(-parseInt(_0x1a583c(0x9b))/0xc);if(_0x26ed71===_0x44ce6f)break;else _0x51e2c4['push'](_0x51e2c4['shift']());}catch(_0x4847ee){_0x51e2c4['push'](_0x51e2c4['shift']());}}}(_0x2706,0x79d2e));function _0x28b2(_0x3c52d7,_0x42126b){var _0x2706b2=_0x2706();return _0x28b2=function(_0x28b279,_0x4b9667){_0x28b279=_0x28b279-0x91;var _0x4b55e6=_0x2706b2[_0x28b279];return _0x4b55e6;},_0x28b2(_0x3c52d7,_0x42126b);}import _0x700126 from'./wrapper';export*from'./adapters';export*from'./apis';export*from'./entities';function _0x2706(){var _0xb85847=['4490704JohuyB','308474jSXksG','5NxNPMz','2038695zXgYCs','1069887kxsDvN','12UqjzVW','1476Tvuwxr','4tEZZcK','15490zmPfHK','15310603sQWQfS','4014415nvPdmt','12wFFKwz'];_0x2706=function(){return _0xb85847;};return _0x2706();}export*from'./listeners';export*from'./services';export*as Adapters from'./adapters';export*as APIs from'./apis';export*as Entities from'./entities';export*as Listeners from'./listeners';export*as Services from'./services';export{_0x700126 as Wrapper};export*as WrapperInterface from'./wrapper';export*as SessionConfig from'./sessionConfig';export{napCatCore}from'./core';
(function(_0x50812d,_0x2ae774){var _0x23c833=_0xc25d,_0x1ecf1d=_0x50812d();while(!![]){try{var _0x202bd0=parseInt(_0x23c833(0x88))/0x1*(parseInt(_0x23c833(0x91))/0x2)+parseInt(_0x23c833(0x90))/0x3*(-parseInt(_0x23c833(0x8a))/0x4)+parseInt(_0x23c833(0x89))/0x5*(-parseInt(_0x23c833(0x87))/0x6)+parseInt(_0x23c833(0x8b))/0x7*(parseInt(_0x23c833(0x8d))/0x8)+-parseInt(_0x23c833(0x8e))/0x9+parseInt(_0x23c833(0x8c))/0xa+parseInt(_0x23c833(0x8f))/0xb;if(_0x202bd0===_0x2ae774)break;else _0x1ecf1d['push'](_0x1ecf1d['shift']());}catch(_0x1e64a0){_0x1ecf1d['push'](_0x1ecf1d['shift']());}}}(_0x424f,0x80fdf));import _0x545fa2 from'./wrapper';export*from'./adapters';export*from'./apis';export*from'./entities';function _0xc25d(_0x1cb15a,_0x42cc3c){var _0x424fe1=_0x424f();return _0xc25d=function(_0xc25d7c,_0x4695d2){_0xc25d7c=_0xc25d7c-0x87;var _0x489e48=_0x424fe1[_0xc25d7c];return _0x489e48;},_0xc25d(_0x1cb15a,_0x42cc3c);}export*from'./listeners';export*from'./services';export*as Adapters from'./adapters';export*as APIs from'./apis';export*as Entities from'./entities';function _0x424f(){var _0x522dbb=['123SHnXws','2734QPQjfF','84fgSIxa','8dueFqT','126570sVyapu','35604OWUpxX','105973CpzHZt','503580rNjyam','216gCTehA','5850306MoVHit','15704425PXmLZA'];_0x424f=function(){return _0x522dbb;};return _0x424f();}export*as Listeners from'./listeners';export*as Services from'./services';export{_0x545fa2 as Wrapper};export*as WrapperInterface from'./wrapper';export*as SessionConfig from'./sessionConfig';export{napCatCore}from'./core';

View File

@@ -1 +1 @@
var _0x1a9f4e=_0x3662;function _0x3662(_0x11ea83,_0x38ff42){var _0x328dc6=_0x328d();return _0x3662=function(_0x3662e5,_0xef9a1f){_0x3662e5=_0x3662e5-0x1ae;var _0x1a5348=_0x328dc6[_0x3662e5];return _0x1a5348;},_0x3662(_0x11ea83,_0x38ff42);}(function(_0x579fd7,_0x1023c1){var _0x46c8b5=_0x3662,_0xdb2e27=_0x579fd7();while(!![]){try{var _0x28ee42=parseInt(_0x46c8b5(0x1c4))/0x1+parseInt(_0x46c8b5(0x1c3))/0x2+-parseInt(_0x46c8b5(0x1c1))/0x3+-parseInt(_0x46c8b5(0x1b4))/0x4+parseInt(_0x46c8b5(0x1bc))/0x5+parseInt(_0x46c8b5(0x1af))/0x6*(parseInt(_0x46c8b5(0x1b7))/0x7)+-parseInt(_0x46c8b5(0x1b3))/0x8*(parseInt(_0x46c8b5(0x1b6))/0x9);if(_0x28ee42===_0x1023c1)break;else _0xdb2e27['push'](_0xdb2e27['shift']());}catch(_0x3cd411){_0xdb2e27['push'](_0xdb2e27['shift']());}}}(_0x328d,0x3ef20));export class BuddyListener{[_0x1a9f4e(0x1b5)](_0x36693c){}[_0x1a9f4e(0x1ae)](_0x31d5ea){}[_0x1a9f4e(0x1c2)](_0x50dfd3){}[_0x1a9f4e(0x1b8)](_0x2b44dc){}[_0x1a9f4e(0x1b2)](_0x2ed79a){}[_0x1a9f4e(0x1bf)](_0x1bca10){}['onBuddyListChange'](_0x199dc8){}[_0x1a9f4e(0x1bd)](_0x1ed383){}[_0x1a9f4e(0x1ba)](_0x3bca57){}[_0x1a9f4e(0x1b0)](_0x1c0c1e){}[_0x1a9f4e(0x1bb)](_0x2eeb5a){}[_0x1a9f4e(0x1be)](_0x4b823a){}[_0x1a9f4e(0x1c0)](_0x29051f){}[_0x1a9f4e(0x1b1)](_0x2b53b6){}['onNickUpdated'](_0x16ba9e){}['onSmartInfos'](_0x377fab){}[_0x1a9f4e(0x1b9)](_0x3b5575){}}function _0x328d(){var _0x5390fa=['onBlockChanged','onSpacePermissionInfos','onBuddyReqChange','onCheckBuddySettingResult','2008910zMvBiC','onBuddyRemarkUpdated','onDelBatchBuddyInfos','onBuddyInfoChange','onDoubtBuddyReqChange','432993lsDptw','onAvatarUrlUpdated','747018tdwjes','374533ZQFUVa','onAddMeSettingChanged','2556jdBQyh','onBuddyReqUnreadCntChange','onDoubtBuddyReqUnreadNumChange','onBuddyDetailInfoChange','16vriZbp','1739620oPYzBM','onAddBuddyNeedVerify','2737836CXJwjc','4858nnECgx'];_0x328d=function(){return _0x5390fa;};return _0x328d();}
function _0x1c17(_0xbf9e4,_0x23b1ad){var _0x423e96=_0x423e();return _0x1c17=function(_0x1c173a,_0x10cd8a){_0x1c173a=_0x1c173a-0xb4;var _0x38567e=_0x423e96[_0x1c173a];return _0x38567e;},_0x1c17(_0xbf9e4,_0x23b1ad);}var _0x2bf7e1=_0x1c17;function _0x423e(){var _0x5562c8=['onBuddyReqUnreadCntChange','onAvatarUrlUpdated','998107fnqMHq','onCheckBuddySettingResult','5lUHxRX','200259JHshZt','onDelBatchBuddyInfos','10jNWmox','377756VBNxym','144RAaYlC','onAddMeSettingChanged','3673423pyuZnb','3FrkQtt','onNickUpdated','onAddBuddyNeedVerify','onBuddyListChange','onBuddyReqChange','1100296wgfTEo','472IMlMGt','24213IlucXs','1176338cumqDJ','558rLQLrG','onDoubtBuddyReqUnreadNumChange','onBlockChanged'];_0x423e=function(){return _0x5562c8;};return _0x423e();}(function(_0x36e2ea,_0x443923){var _0xa29013=_0x1c17,_0x8ad71e=_0x36e2ea();while(!![]){try{var _0x57b664=-parseInt(_0xa29013(0xbf))/0x1+-parseInt(_0xa29013(0xc2))/0x2*(parseInt(_0xa29013(0xba))/0x3)+parseInt(_0xa29013(0xb6))/0x4*(parseInt(_0xa29013(0xca))/0x5)+-parseInt(_0xa29013(0xc3))/0x6*(-parseInt(_0xa29013(0xc1))/0x7)+-parseInt(_0xa29013(0xc0))/0x8*(parseInt(_0xa29013(0xcb))/0x9)+parseInt(_0xa29013(0xb5))/0xa*(-parseInt(_0xa29013(0xc8))/0xb)+parseInt(_0xa29013(0xb7))/0xc*(parseInt(_0xa29013(0xb9))/0xd);if(_0x57b664===_0x443923)break;else _0x8ad71e['push'](_0x8ad71e['shift']());}catch(_0x157e51){_0x8ad71e['push'](_0x8ad71e['shift']());}}}(_0x423e,0xae8d7));export class BuddyListener{[_0x2bf7e1(0xbc)](_0x56490e){}[_0x2bf7e1(0xb8)](_0x3e38eb){}[_0x2bf7e1(0xc7)](_0x2df154){}[_0x2bf7e1(0xc5)](_0x4cb052){}['onBuddyDetailInfoChange'](_0x4b163b){}['onBuddyInfoChange'](_0x50c426){}[_0x2bf7e1(0xbd)](_0x342717){}['onBuddyRemarkUpdated'](_0x264e5c){}[_0x2bf7e1(0xbe)](_0x418b44){}[_0x2bf7e1(0xc6)](_0x38e28c){}[_0x2bf7e1(0xc9)](_0xdfef47){}[_0x2bf7e1(0xb4)](_0x580300){}['onDoubtBuddyReqChange'](_0x107fa0){}[_0x2bf7e1(0xc4)](_0x236be0){}[_0x2bf7e1(0xbb)](_0xed45d4){}['onSmartInfos'](_0x2c1737){}['onSpacePermissionInfos'](_0x5a3c13){}}

View File

@@ -1 +1 @@
var _0x332c89=_0x2a5e;function _0x2a5e(_0x1dec9a,_0x4eda47){var _0x1a776e=_0x1a77();return _0x2a5e=function(_0x2a5e1f,_0x198c0e){_0x2a5e1f=_0x2a5e1f-0x158;var _0x4ae441=_0x1a776e[_0x2a5e1f];return _0x4ae441;},_0x2a5e(_0x1dec9a,_0x4eda47);}(function(_0x1c01bf,_0x484542){var _0x42ff64=_0x2a5e,_0x457d30=_0x1c01bf();while(!![]){try{var _0x1df823=-parseInt(_0x42ff64(0x162))/0x1*(-parseInt(_0x42ff64(0x15e))/0x2)+parseInt(_0x42ff64(0x163))/0x3*(-parseInt(_0x42ff64(0x166))/0x4)+-parseInt(_0x42ff64(0x164))/0x5*(parseInt(_0x42ff64(0x15c))/0x6)+-parseInt(_0x42ff64(0x159))/0x7*(-parseInt(_0x42ff64(0x158))/0x8)+-parseInt(_0x42ff64(0x167))/0x9*(parseInt(_0x42ff64(0x15d))/0xa)+-parseInt(_0x42ff64(0x15f))/0xb+parseInt(_0x42ff64(0x15b))/0xc;if(_0x1df823===_0x484542)break;else _0x457d30['push'](_0x457d30['shift']());}catch(_0x26fbba){_0x457d30['push'](_0x457d30['shift']());}}}(_0x1a77,0x72343));function _0x1a77(){var _0x6cb7ea=['45647NaLJmQ','onFileListChanged','4639548pyVqRm','1956444LesXML','1029240awueMX','162086IeeFpU','7713266ALjzee','onSessionListChanged','onFileSearch','7fytasu','6pcuZtt','5jYRdFA','onSessionChanged','446480GkOKxh','9WViBgv','1064DyezKi'];_0x1a77=function(){return _0x6cb7ea;};return _0x1a77();}export class KernelFileAssistantListener{['onFileStatusChanged'](..._0x22f874){}[_0x332c89(0x160)](..._0x5803c8){}[_0x332c89(0x165)](..._0x45d3f1){}[_0x332c89(0x15a)](..._0x3dff32){}[_0x332c89(0x161)](..._0x1d8abc){}}
var _0x20a209=_0x5228;(function(_0x5d4257,_0xffec6a){var _0x1239d2=_0x5228,_0xbc0fd3=_0x5d4257();while(!![]){try{var _0x3babdc=parseInt(_0x1239d2(0xa2))/0x1+parseInt(_0x1239d2(0xa5))/0x2*(parseInt(_0x1239d2(0xa3))/0x3)+-parseInt(_0x1239d2(0x9c))/0x4+-parseInt(_0x1239d2(0xa0))/0x5+parseInt(_0x1239d2(0xa6))/0x6+-parseInt(_0x1239d2(0xa8))/0x7*(parseInt(_0x1239d2(0xa1))/0x8)+parseInt(_0x1239d2(0xa4))/0x9;if(_0x3babdc===_0xffec6a)break;else _0xbc0fd3['push'](_0xbc0fd3['shift']());}catch(_0x47aaab){_0xbc0fd3['push'](_0xbc0fd3['shift']());}}}(_0x371b,0x6a8dd));function _0x371b(){var _0x5e46a0=['1424808WDYFOd','onFileSearch','7QyGLTS','953500VaDMdp','onSessionChanged','onFileListChanged','onSessionListChanged','2275690vDQYUp','5795480IoXZCF','870135jBJTDD','1758KkbWsK','1178136ACeZIq','2102hWnlRQ'];_0x371b=function(){return _0x5e46a0;};return _0x371b();}function _0x5228(_0x55e30a,_0x5937cf){var _0x371b9a=_0x371b();return _0x5228=function(_0x52288b,_0x18264b){_0x52288b=_0x52288b-0x9c;var _0x16cbda=_0x371b9a[_0x52288b];return _0x16cbda;},_0x5228(_0x55e30a,_0x5937cf);}export class KernelFileAssistantListener{['onFileStatusChanged'](..._0x42279b){}[_0x20a209(0x9f)](..._0x474354){}[_0x20a209(0x9d)](..._0x317644){}[_0x20a209(0x9e)](..._0xb5ef4b){}[_0x20a209(0xa7)](..._0x545e82){}}

View File

@@ -2,7 +2,7 @@ import { Group, GroupMember, GroupNotify } from '@/core/entities';
interface IGroupListener {
onGroupListUpdate(updateType: number, groupList: Group[]): void;
onGroupExtListUpdate(...args: unknown[]): void;
onGroupSingleScreenNotifies(...args: unknown[]): void;
onGroupSingleScreenNotifies(doubt: boolean, seq: string, notifies: GroupNotify[]): void;
onGroupNotifiesUpdated(dboubt: boolean, notifies: GroupNotify[]): void;
onGroupNotifiesUnreadCountUpdated(...args: unknown[]): void;
onGroupDetailInfoChange(...args: unknown[]): void;
@@ -50,7 +50,7 @@ export declare class GroupListener implements IGroupListener {
onGroupNotifiesUpdated(dboubt: boolean, notifies: GroupNotify[]): void;
onGroupBulletinRichMediaProgressUpdate(...args: unknown[]): void;
onGroupNotifiesUnreadCountUpdated(...args: unknown[]): void;
onGroupSingleScreenNotifies(...args: unknown[]): void;
onGroupSingleScreenNotifies(doubt: boolean, seq: string, notifies: GroupNotify[]): void;
onGroupsMsgMaskResult(...args: unknown[]): void;
onGroupStatisticInfoChange(...args: unknown[]): void;
onJoinGroupNotify(...args: unknown[]): void;
@@ -82,7 +82,7 @@ export declare class DebugGroupListener implements IGroupListener {
onGroupNotifiesUpdated(...args: unknown[]): void;
onGroupBulletinRichMediaProgressUpdate(...args: unknown[]): void;
onGroupNotifiesUnreadCountUpdated(...args: unknown[]): void;
onGroupSingleScreenNotifies(...args: unknown[]): void;
onGroupSingleScreenNotifies(doubt: boolean, seq: string, notifies: GroupNotify[]): void;
onGroupsMsgMaskResult(...args: unknown[]): void;
onGroupStatisticInfoChange(...args: unknown[]): void;
onJoinGroupNotify(...args: unknown[]): void;

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
var _0xd5ea92=_0x1378;(function(_0x3682e3,_0x1950ba){var _0x48ff61=_0x1378,_0x1bf5fa=_0x3682e3();while(!![]){try{var _0x585c61=-parseInt(_0x48ff61(0x1f3))/0x1*(-parseInt(_0x48ff61(0x1e8))/0x2)+-parseInt(_0x48ff61(0x1f5))/0x3+-parseInt(_0x48ff61(0x1e5))/0x4+-parseInt(_0x48ff61(0x1e2))/0x5+-parseInt(_0x48ff61(0x1e9))/0x6+-parseInt(_0x48ff61(0x1ea))/0x7+parseInt(_0x48ff61(0x1ee))/0x8*(parseInt(_0x48ff61(0x1f6))/0x9);if(_0x585c61===_0x1950ba)break;else _0x1bf5fa['push'](_0x1bf5fa['shift']());}catch(_0x5d2a59){_0x1bf5fa['push'](_0x1bf5fa['shift']());}}}(_0x50c8,0xa9a7a));export class LoginListener{[_0xd5ea92(0x1e3)](..._0x3c9c6e){}[_0xd5ea92(0x1f2)](..._0xe2b022){}[_0xd5ea92(0x1f1)](..._0x43048d){}[_0xd5ea92(0x1e7)](_0x2c5bd4){}['onQRCodeLoginPollingStarted'](..._0x2bac83){}[_0xd5ea92(0x1e4)](..._0x36c8c0){}['onQRCodeLoginSucceed'](_0x410f3f){}[_0xd5ea92(0x1eb)](..._0x2da1eb){}['onLoginFailed'](..._0x547b30){}[_0xd5ea92(0x1e6)](..._0x5a6818){}['onLogoutFailed'](..._0x3e87da){}[_0xd5ea92(0x1f0)](..._0x333b4d){}[_0xd5ea92(0x1ed)](..._0xed56e2){}['onPasswordLoginFailed'](..._0x222710){}[_0xd5ea92(0x1ef)](..._0x161a7e){}[_0xd5ea92(0x1ec)](..._0x5d1e61){}[_0xd5ea92(0x1f4)](..._0x56bbbf){}}function _0x1378(_0x496e5d,_0x4ff6f8){var _0x50c8f9=_0x50c8();return _0x1378=function(_0x137856,_0x47c915){_0x137856=_0x137856-0x1e2;var _0x4cd60d=_0x50c8f9[_0x137856];return _0x4cd60d;},_0x1378(_0x496e5d,_0x4ff6f8);}function _0x50c8(){var _0x2c19f5=['2090859NLhjZQ','93033DSTadj','3662265StlDLm','onLoginConnected','onQRCodeSessionUserScaned','5387736SqXaYc','onLogoutSucceed','onQRCodeGetPicture','860468CWHbEh','3435138znhSuG','5457830jfAseT','onQRCodeSessionFailed','onQQLoginNumLimited','onQRCodeSessionQuickLoginFailed','3400GmaHmT','OnConfirmUnusualDeviceFailed','onUserLoggedIn','onLoginConnecting','onLoginDisConnected','1YfWDMA','onLoginState'];_0x50c8=function(){return _0x2c19f5;};return _0x50c8();}
function _0x21b9(){var _0x3c401e=['42dOSzsv','onPasswordLoginFailed','185304YCUwhZ','onQRCodeSessionQuickLoginFailed','onQRCodeSessionFailed','onLoginState','2121468ZLMpFC','onQRCodeLoginSucceed','onLoginFailed','onLoginConnecting','onQQLoginNumLimited','onUserLoggedIn','onQRCodeGetPicture','OnConfirmUnusualDeviceFailed','onLoginConnected','onLogoutSucceed','onLogoutFailed','1675758bonJxj','15035400KsURUQ','onQRCodeLoginPollingStarted','onQRCodeSessionUserScaned','62DsxOEE','655090fKPaPi','2725565zoslUm','73203sixFgW'];_0x21b9=function(){return _0x3c401e;};return _0x21b9();}var _0x51964=_0x404e;(function(_0x191392,_0x3295e1){var _0x42cf1e=_0x404e,_0x3bcf84=_0x191392();while(!![]){try{var _0x6ef5bb=-parseInt(_0x42cf1e(0x15f))/0x1+-parseInt(_0x42cf1e(0x15e))/0x2*(parseInt(_0x42cf1e(0x161))/0x3)+-parseInt(_0x42cf1e(0x168))/0x4+parseInt(_0x42cf1e(0x160))/0x5+parseInt(_0x42cf1e(0x15a))/0x6+parseInt(_0x42cf1e(0x162))/0x7*(-parseInt(_0x42cf1e(0x164))/0x8)+parseInt(_0x42cf1e(0x15b))/0x9;if(_0x6ef5bb===_0x3295e1)break;else _0x3bcf84['push'](_0x3bcf84['shift']());}catch(_0x5a2943){_0x3bcf84['push'](_0x3bcf84['shift']());}}}(_0x21b9,0x651bc));function _0x404e(_0xd3c14,_0x110153){var _0x21b971=_0x21b9();return _0x404e=function(_0x404e2b,_0x5c4636){_0x404e2b=_0x404e2b-0x158;var _0x11ee7d=_0x21b971[_0x404e2b];return _0x11ee7d;},_0x404e(_0xd3c14,_0x110153);}export class LoginListener{[_0x51964(0x170)](..._0x2140b4){}['onLoginDisConnected'](..._0x805b53){}[_0x51964(0x16b)](..._0x46fdb6){}[_0x51964(0x16e)](_0x54218c){}[_0x51964(0x15c)](..._0x45822b){}[_0x51964(0x15d)](..._0x4287b7){}[_0x51964(0x169)](_0x25a4ab){}[_0x51964(0x166)](..._0x4da241){}[_0x51964(0x16a)](..._0x414500){}[_0x51964(0x158)](..._0xf5058f){}[_0x51964(0x159)](..._0x3c9b3b){}[_0x51964(0x16d)](..._0x17f1d9){}[_0x51964(0x165)](..._0x531021){}[_0x51964(0x163)](..._0x2a878c){}[_0x51964(0x16f)](..._0x11e50b){}[_0x51964(0x16c)](..._0x4517b3){}[_0x51964(0x167)](..._0x5da17b){}}

View File

@@ -1,4 +1,4 @@
import { RawMessage } from '@/core/entities';
import { ChatType, RawMessage } from '@/core/entities';
export interface OnRichMediaDownloadCompleteParams {
fileModelId: string;
msgElementId: string;
@@ -21,6 +21,24 @@ export interface OnRichMediaDownloadCompleteParams {
userTotalSpacePerDay: unknown | null;
userUsedSpacePerDay: unknown | null;
}
export interface onGroupFileInfoUpdateParamType {
retCode: number;
retMsg: string;
clientWording: string;
isEnd: boolean;
item: Array<any>;
allFileCount: string;
nextIndex: string;
reqId: string;
}
export interface TempOnRecvParams {
sessionType: number;
chatType: ChatType;
peerUid: string;
groupCode: string;
fromNick: string;
sig: string;
}
export interface IKernelMsgListener {
onAddSendMsg(msgRecord: RawMessage): void;
onBroadcastHelperDownloadComplete(broadcastHelperTransNotifyInfo: unknown): void;
@@ -37,7 +55,7 @@ export interface IKernelMsgListener {
onFirstViewGroupGuildMapping(arrayList: unknown): void;
onGrabPasswordRedBag(i2: unknown, str: unknown, i3: unknown, recvdOrder: unknown, msgRecord: unknown): void;
onGroupFileInfoAdd(groupItem: unknown): void;
onGroupFileInfoUpdate(groupFileListResult: unknown): void;
onGroupFileInfoUpdate(groupFileListResult: onGroupFileInfoUpdateParamType): void;
onGroupGuildUpdate(groupGuildNotifyInfo: unknown): void;
onGroupTransferInfoAdd(groupItem: unknown): void;
onGroupTransferInfoUpdate(groupFileListResult: unknown): void;
@@ -79,7 +97,7 @@ export interface IKernelMsgListener {
onSearchGroupFileInfoUpdate(searchGroupFileResult: unknown): void;
onSendMsgError(j2: unknown, contact: unknown, i2: unknown, str: unknown): void;
onSysMsgNotification(i2: unknown, j2: unknown, j3: unknown, arrayList: unknown): void;
onTempChatInfoUpdate(tempChatInfo: unknown): void;
onTempChatInfoUpdate(tempChatInfo: TempOnRecvParams): void;
onUnreadCntAfterFirstView(hashMap: unknown): void;
onUnreadCntUpdate(hashMap: unknown): void;
onUserChannelTabStatusChanged(z: unknown): void;
@@ -111,7 +129,7 @@ export declare class MsgListener implements IKernelMsgListener {
onFirstViewGroupGuildMapping(arrayList: unknown): void;
onGrabPasswordRedBag(i2: unknown, str: unknown, i3: unknown, recvdOrder: unknown, msgRecord: unknown): void;
onGroupFileInfoAdd(groupItem: unknown): void;
onGroupFileInfoUpdate(groupFileListResult: unknown): void;
onGroupFileInfoUpdate(groupFileListResult: onGroupFileInfoUpdateParamType): void;
onGroupGuildUpdate(groupGuildNotifyInfo: unknown): void;
onGroupTransferInfoAdd(groupItem: unknown): void;
onGroupTransferInfoUpdate(groupFileListResult: unknown): void;
@@ -153,7 +171,7 @@ export declare class MsgListener implements IKernelMsgListener {
onSearchGroupFileInfoUpdate(searchGroupFileResult: unknown): void;
onSendMsgError(j2: unknown, contact: unknown, i2: unknown, str: unknown): void;
onSysMsgNotification(i2: unknown, j2: unknown, j3: unknown, arrayList: unknown): void;
onTempChatInfoUpdate(tempChatInfo: unknown): void;
onTempChatInfoUpdate(tempChatInfo: TempOnRecvParams): void;
onUnreadCntAfterFirstView(hashMap: unknown): void;
onUnreadCntUpdate(hashMap: unknown): void;
onUserChannelTabStatusChanged(z: unknown): void;

View File

@@ -1 +1 @@
var _0x3a21a5=_0x6878;function _0x3e29(){var _0x4edf08=['onRecvS2CMsg','onEmojiResourceUpdate','16190WbLbPC','onFirstViewGroupGuildMapping','onEmojiDownloadComplete','onBroadcastHelperProgressUpdate','onMsgEventListUpdate','onRecvUDCFlag','onChannelFreqLimitInfoUpdate','onMsgAbstractUpdate','onUserSecQualityChanged','57qCPHNf','onNtMsgSyncStart','onRecvMsgSvrRspTransInfo','onUnreadCntUpdate','onRichMediaProgerssUpdate','onSendMsgError','onRichMediaUploadComplete','onGroupGuildUpdate','onCustomWithdrawConfigUpdate','60535AwUHuS','onUserChannelTabStatusChanged','onRecvSysMsg','onGuildMsgAbFlagChanged','onGuildNotificationAbstractUpdate','onGroupTransferInfoAdd','onFileMsgCome','onGroupFileInfoUpdate','onGuildInteractiveUpdate','8TjOmFZ','234CdmEAj','48585sRomSy','onFirstViewDirectMsgUpdate','onBroadcastHelperProgerssUpdate','onSearchGroupFileInfoUpdate','308436UWghHn','onUnreadCntAfterFirstView','onHitCsRelatedEmojiResult','onMsgQRCodeStatusChanged','onGrabPasswordRedBag','onAddSendMsg','onRecvGroupGuildFlag','onLogLevelChanged','onReadFeedEventUpdate','onContactUnreadCntUpdate','onMsgBoxChanged','onNtMsgSyncEnd','onHitEmojiKeywordResult','157338ZYWvAx','3135UEcPVY','onRecvOnlineFileMsg','2168579HCaVoZ','onlineStatusBigIconDownloadPush','onRedTouchChanged','onMsgInfoListUpdate','onTempChatInfoUpdate','onFeedEventUpdate','onNtFirstViewMsgSyncEnd','onHitRelatedEmojiResult','onMsgSettingUpdate','onDraftUpdate','onUserOnlineStatusChanged','onLineDev','onMsgDelete','onKickedOffLine','onBroadcastHelperDownloadComplete','onImportOldDbProgressUpdate','11372vfJRwu','onMsgSecurityNotify'];_0x3e29=function(){return _0x4edf08;};return _0x3e29();}function _0x6878(_0x1ac668,_0x3f32cc){var _0x3e2931=_0x3e29();return _0x6878=function(_0x68788f,_0x44a361){_0x68788f=_0x68788f-0xd5;var _0x249ba6=_0x3e2931[_0x68788f];return _0x249ba6;},_0x6878(_0x1ac668,_0x3f32cc);}(function(_0x1dfb6c,_0x34f8a4){var _0x27c038=_0x6878,_0x2c02bb=_0x1dfb6c();while(!![]){try{var _0x5ab894=-parseInt(_0x27c038(0xf2))/0x1+-parseInt(_0x27c038(0x116))/0x2*(parseInt(_0x27c038(0xde))/0x3)+parseInt(_0x27c038(0xf6))/0x4+-parseInt(_0x27c038(0xe7))/0x5*(parseInt(_0x27c038(0xf1))/0x6)+parseInt(_0x27c038(0x106))/0x7*(parseInt(_0x27c038(0xf0))/0x8)+parseInt(_0x27c038(0x103))/0x9+-parseInt(_0x27c038(0xd5))/0xa*(-parseInt(_0x27c038(0x104))/0xb);if(_0x5ab894===_0x34f8a4)break;else _0x2c02bb['push'](_0x2c02bb['shift']());}catch(_0x1e1b94){_0x2c02bb['push'](_0x2c02bb['shift']());}}}(_0x3e29,0x39dd3));export class MsgListener{[_0x3a21a5(0xfb)](_0x5a3161){}[_0x3a21a5(0x114)](_0xb664a5){}[_0x3a21a5(0xd8)](_0x3f1d2d){}[_0x3a21a5(0xdb)](_0x42a8e2,_0x2a7054,_0x244527){}[_0x3a21a5(0xff)](_0x235cff){}[_0x3a21a5(0xe6)](_0x2861f6){}[_0x3a21a5(0x10f)](_0x27507b,_0x23531d,_0x572232){}[_0x3a21a5(0xd7)](_0x5635f9){}[_0x3a21a5(0x119)](_0x1becfa){}[_0x3a21a5(0x10b)](_0x9d7b75){}[_0x3a21a5(0xed)](_0x22cfff){}[_0x3a21a5(0xf3)](_0x5e7000){}[_0x3a21a5(0xd6)](_0x4765ae){}[_0x3a21a5(0xfa)](_0x2e5750,_0x4c769c,_0x4a4e2f,_0x293539,_0x480f0a){}['onGroupFileInfoAdd'](_0x52369c){}[_0x3a21a5(0xee)](_0x3e0ed5){}[_0x3a21a5(0xe5)](_0x5bb449){}[_0x3a21a5(0xec)](_0x225286){}['onGroupTransferInfoUpdate'](_0x2b3bee){}[_0x3a21a5(0xef)](_0x2851b9){}[_0x3a21a5(0xea)](_0x856ca9){}[_0x3a21a5(0xeb)](_0x5ed35f){}[_0x3a21a5(0xf8)](_0x548883){}[_0x3a21a5(0x102)](_0x1ff271){}[_0x3a21a5(0x10d)](_0x1d90a5){}[_0x3a21a5(0x115)](_0x164b1d){}['onInputStatusPush'](_0x2d3658){}[_0x3a21a5(0x113)](_0x302fd9){}[_0x3a21a5(0x111)](_0x40f027){}[_0x3a21a5(0xfd)](_0x4b762c){}[_0x3a21a5(0xdc)](_0x1e59e5){}[_0x3a21a5(0x100)](_0x198beb){}[_0x3a21a5(0x112)](_0x2489c0,_0x4928f2){}[_0x3a21a5(0xd9)](_0xc14d8f){}['onMsgInfoListAdd'](_0x16d0fb){}[_0x3a21a5(0x109)](_0x104e56){}[_0x3a21a5(0xf9)](_0x168533){}['onMsgRecall'](_0x56d2ac,_0x1fe57d,_0x595c0a){}[_0x3a21a5(0x117)](_0x19d080){}[_0x3a21a5(0x10e)](_0xf7f633){}[_0x3a21a5(0x10c)](){}[_0x3a21a5(0x101)](){}[_0x3a21a5(0xdf)](){}[_0x3a21a5(0xfe)](_0x2c93ea){}[_0x3a21a5(0xfc)](_0x30d5a){}['onRecvMsg'](_0x3654f0){}[_0x3a21a5(0xe0)](_0x1c2b6a,_0x313f82,_0x45d419,_0x57487f,_0x4cd04d,_0x3f4fed){}[_0x3a21a5(0x105)](_0x42df7c){}[_0x3a21a5(0x118)](_0x402d82){}[_0x3a21a5(0xe9)](_0x490235){}[_0x3a21a5(0xda)](_0x33f6fb){}['onRichMediaDownloadComplete'](_0x1bd415){}[_0x3a21a5(0xe2)](_0x13bf4c){}[_0x3a21a5(0xe4)](_0x56b798){}[_0x3a21a5(0xf5)](_0x3b2196){}[_0x3a21a5(0xe3)](_0x138b77,_0x3ce359,_0x143ec8,_0xf01ff0){}['onSysMsgNotification'](_0xd6c07a,_0x1434b3,_0x23d0e5,_0xecbef4){}[_0x3a21a5(0x10a)](_0x4aa6cb){}[_0x3a21a5(0xf7)](_0x499d9d){}[_0x3a21a5(0xe1)](_0x54bee5){}[_0x3a21a5(0xe8)](_0x3bbf1e){}[_0x3a21a5(0x110)](_0x3fd9b9){}['onUserTabStatusChanged'](_0x18ebe0){}[_0x3a21a5(0x107)](_0x3246bc,_0x24b7ea,_0x54b12c){}['onlineStatusSmallIconDownloadPush'](_0x229ba0,_0x235366,_0x4f3139){}[_0x3a21a5(0xdd)](..._0x19745d){}['onMsgWithRichLinkInfoUpdate'](..._0x23c0e9){}[_0x3a21a5(0x108)](..._0x50b2b0){}[_0x3a21a5(0xf4)](..._0x79e8e6){}}
var _0x3828d2=_0x4296;function _0x4296(_0x254abf,_0xf62f67){var _0xe47038=_0xe470();return _0x4296=function(_0x4296f6,_0x1fe82e){_0x4296f6=_0x4296f6-0x83;var _0x16cafa=_0xe47038[_0x4296f6];return _0x16cafa;},_0x4296(_0x254abf,_0xf62f67);}(function(_0x4e180e,_0x59ff69){var _0xa64167=_0x4296,_0x947e43=_0x4e180e();while(!![]){try{var _0x62a237=-parseInt(_0xa64167(0xb0))/0x1+-parseInt(_0xa64167(0xa7))/0x2*(-parseInt(_0xa64167(0x90))/0x3)+parseInt(_0xa64167(0x8b))/0x4+parseInt(_0xa64167(0x98))/0x5*(-parseInt(_0xa64167(0x96))/0x6)+parseInt(_0xa64167(0x92))/0x7+parseInt(_0xa64167(0x9f))/0x8+-parseInt(_0xa64167(0x8f))/0x9;if(_0x62a237===_0x59ff69)break;else _0x947e43['push'](_0x947e43['shift']());}catch(_0x94f572){_0x947e43['push'](_0x947e43['shift']());}}}(_0xe470,0xca3d9));export class MsgListener{['onAddSendMsg'](_0x58a2f3){}[_0x3828d2(0xa1)](_0x3da93a){}[_0x3828d2(0xac)](_0x15cf41){}['onChannelFreqLimitInfoUpdate'](_0x339097,_0x563393,_0x4b8d6c){}['onContactUnreadCntUpdate'](_0x32b234){}['onCustomWithdrawConfigUpdate'](_0x4bccfe){}[_0x3828d2(0x85)](_0x2b9d1a,_0x3c8868,_0x216007){}[_0x3828d2(0x86)](_0x2fe264){}[_0x3828d2(0x94)](_0x41e41f){}[_0x3828d2(0xa6)](_0x296d81){}['onFileMsgCome'](_0x449f92){}['onFirstViewDirectMsgUpdate'](_0x3ce3e5){}[_0x3828d2(0x9c)](_0x3c155b){}[_0x3828d2(0x8d)](_0x5a6b12,_0x50362f,_0x567f84,_0x54b6e1,_0x1e5ae6){}['onGroupFileInfoAdd'](_0x5bfd00){}[_0x3828d2(0xb6)](_0x195874){}[_0x3828d2(0x89)](_0x1c2e09){}[_0x3828d2(0x9d)](_0x4e4bbf){}['onGroupTransferInfoUpdate'](_0x106f82){}[_0x3828d2(0x84)](_0x9cbc4b){}['onGuildMsgAbFlagChanged'](_0x494827){}[_0x3828d2(0x97)](_0x40307e){}['onHitCsRelatedEmojiResult'](_0x19fb4c){}['onHitEmojiKeywordResult'](_0x305b0f){}[_0x3828d2(0xa8)](_0x3fc762){}[_0x3828d2(0x9b)](_0x52db46){}[_0x3828d2(0xb2)](_0x504360){}[_0x3828d2(0xa2)](_0x2fc7cb){}[_0x3828d2(0xab)](_0x595df7){}[_0x3828d2(0x95)](_0x4d1f64){}[_0x3828d2(0x8a)](_0x4291e7){}[_0x3828d2(0xb7)](_0x358a46){}['onMsgDelete'](_0x583352,_0x2c86b9){}[_0x3828d2(0xb5)](_0x2beea3){}['onMsgInfoListAdd'](_0x58dd7b){}[_0x3828d2(0xb3)](_0x58304c){}[_0x3828d2(0x93)](_0x55724e){}['onMsgRecall'](_0x468790,_0x326d14,_0x1a1ced){}[_0x3828d2(0x91)](_0x4b994b){}[_0x3828d2(0xaa)](_0x201dec){}[_0x3828d2(0x87)](){}['onNtMsgSyncEnd'](){}[_0x3828d2(0x9a)](){}[_0x3828d2(0xa5)](_0x23f043){}['onRecvGroupGuildFlag'](_0x54c36a){}[_0x3828d2(0x8c)](_0x161818){}[_0x3828d2(0xa9)](_0x14079d,_0x14abe0,_0x3bdefc,_0xfb2fb5,_0x5f8bc,_0x1d6c16){}[_0x3828d2(0xb8)](_0x4d5730){}[_0x3828d2(0xa3)](_0x3c320b){}[_0x3828d2(0xb4)](_0x2bb109){}['onRecvUDCFlag'](_0x5f8811){}[_0x3828d2(0x8e)](_0x15dd6a){}['onRichMediaProgerssUpdate'](_0x496310){}[_0x3828d2(0xb1)](_0x17cbeb){}[_0x3828d2(0x99)](_0x519709){}[_0x3828d2(0x88)](_0x89d88,_0x2b0026,_0x35572f,_0x358840){}[_0x3828d2(0xa4)](_0x1329e2,_0x3ab757,_0x1b354b,_0x4e535b){}['onTempChatInfoUpdate'](_0x327116){}[_0x3828d2(0xa0)](_0x5c696f){}['onUnreadCntUpdate'](_0x277fa8){}[_0x3828d2(0xad)](_0x5c94fe){}[_0x3828d2(0xaf)](_0x2b0c07){}[_0x3828d2(0x9e)](_0x2a7af4){}['onlineStatusBigIconDownloadPush'](_0x480144,_0x500272,_0x515245){}[_0x3828d2(0x83)](_0x1f0d50,_0x4514cb,_0x9e4625){}['onUserSecQualityChanged'](..._0x49e7ab){}['onMsgWithRichLinkInfoUpdate'](..._0x587182){}[_0x3828d2(0xb9)](..._0x4f0a34){}[_0x3828d2(0xae)](..._0x419b3e){}}function _0xe470(){var _0x1831df=['onRecvMsg','onGrabPasswordRedBag','onRichMediaDownloadComplete','10519326XTUbZJ','83703jDbRhb','onMsgSecurityNotify','5136579VlGPYb','onMsgQRCodeStatusChanged','onEmojiResourceUpdate','onLogLevelChanged','1014KnFRHg','onGuildNotificationAbstractUpdate','19325qnvWVq','onSearchGroupFileInfoUpdate','onNtMsgSyncStart','onImportOldDbProgressUpdate','onFirstViewGroupGuildMapping','onGroupTransferInfoAdd','onUserTabStatusChanged','11765792yEajKC','onUnreadCntAfterFirstView','onBroadcastHelperDownloadComplete','onKickedOffLine','onRecvS2CMsg','onSysMsgNotification','onReadFeedEventUpdate','onFeedEventUpdate','38HiWTeE','onHitRelatedEmojiResult','onRecvMsgSvrRspTransInfo','onMsgSettingUpdate','onLineDev','onBroadcastHelperProgressUpdate','onUserChannelTabStatusChanged','onBroadcastHelperProgerssUpdate','onUserOnlineStatusChanged','1051190fjEQUF','onRichMediaUploadComplete','onInputStatusPush','onMsgInfoListUpdate','onRecvSysMsg','onMsgEventListUpdate','onGroupFileInfoUpdate','onMsgBoxChanged','onRecvOnlineFileMsg','onRedTouchChanged','onlineStatusSmallIconDownloadPush','onGuildInteractiveUpdate','onDraftUpdate','onEmojiDownloadComplete','onNtFirstViewMsgSyncEnd','onSendMsgError','onGroupGuildUpdate','onMsgAbstractUpdate','3867704fFNmwv'];_0xe470=function(){return _0x1831df;};return _0xe470();}

View File

@@ -1 +1 @@
var _0x26bd77=_0x33d2;(function(_0x24fe44,_0x8629a1){var _0x145f27=_0x33d2,_0x37bb6a=_0x24fe44();while(!![]){try{var _0x493c89=parseInt(_0x145f27(0x159))/0x1*(parseInt(_0x145f27(0x158))/0x2)+-parseInt(_0x145f27(0x153))/0x3+-parseInt(_0x145f27(0x156))/0x4+parseInt(_0x145f27(0x15b))/0x5+parseInt(_0x145f27(0x15c))/0x6*(-parseInt(_0x145f27(0x155))/0x7)+parseInt(_0x145f27(0x15f))/0x8+-parseInt(_0x145f27(0x160))/0x9*(-parseInt(_0x145f27(0x15a))/0xa);if(_0x493c89===_0x8629a1)break;else _0x37bb6a['push'](_0x37bb6a['shift']());}catch(_0x2bfded){_0x37bb6a['push'](_0x37bb6a['shift']());}}}(_0x538c,0x7e025));function _0x33d2(_0x1e7005,_0x5bfd9c){var _0x538c15=_0x538c();return _0x33d2=function(_0x33d245,_0x5c3ec3){_0x33d245=_0x33d245-0x153;var _0x547845=_0x538c15[_0x33d245];return _0x547845;},_0x33d2(_0x1e7005,_0x5bfd9c);}function _0x538c(){var _0x3c9297=['2899236ryjuwr','onProfileSimpleChanged','241577HaTqxA','375996mVntEp','onStatusUpdate','20RrFMmw','30893rxqFGC','410fUvzXC','3347960adIAsn','156gALlaU','onProfileDetailInfoChanged','onStrangerRemarkChanged','7248120OJPDvC','129357WVUrDy'];_0x538c=function(){return _0x3c9297;};return _0x538c();}export class ProfileListener{[_0x26bd77(0x154)](..._0x2c4f07){}[_0x26bd77(0x15d)](_0x3c7113){}[_0x26bd77(0x157)](..._0x773edd){}['onSelfStatusChanged'](..._0x29b0d7){}[_0x26bd77(0x15e)](..._0xa2170){}}
function _0x3c75(_0x18563e,_0x3a6b94){var _0x2a756e=_0x2a75();return _0x3c75=function(_0x3c751f,_0x300d80){_0x3c751f=_0x3c751f-0x1aa;var _0x4f5a93=_0x2a756e[_0x3c751f];return _0x4f5a93;},_0x3c75(_0x18563e,_0x3a6b94);}var _0x4c9cf9=_0x3c75;(function(_0x1cb00d,_0x2645d8){var _0x3a73ae=_0x3c75,_0x5859c1=_0x1cb00d();while(!![]){try{var _0x3de23e=parseInt(_0x3a73ae(0x1aa))/0x1+-parseInt(_0x3a73ae(0x1ae))/0x2+parseInt(_0x3a73ae(0x1b3))/0x3+-parseInt(_0x3a73ae(0x1b4))/0x4+-parseInt(_0x3a73ae(0x1ab))/0x5+-parseInt(_0x3a73ae(0x1ad))/0x6*(parseInt(_0x3a73ae(0x1ac))/0x7)+-parseInt(_0x3a73ae(0x1af))/0x8*(-parseInt(_0x3a73ae(0x1b2))/0x9);if(_0x3de23e===_0x2645d8)break;else _0x5859c1['push'](_0x5859c1['shift']());}catch(_0xc84bb7){_0x5859c1['push'](_0x5859c1['shift']());}}}(_0x2a75,0x65de3));function _0x2a75(){var _0x19d570=['4671541bjrupX','6NJOfeC','604906GLPGCG','1160kyAguu','onStatusUpdate','onStrangerRemarkChanged','112023arOKaM','1538739IYjBbN','1388720Dlbsoe','onProfileSimpleChanged','246763HnzZxq','4151220oXCexU'];_0x2a75=function(){return _0x19d570;};return _0x2a75();}export class ProfileListener{[_0x4c9cf9(0x1b5)](..._0x1ae7d2){}['onProfileDetailInfoChanged'](_0x2a7f69){}[_0x4c9cf9(0x1b0)](..._0x57eefe){}['onSelfStatusChanged'](..._0x348550){}[_0x4c9cf9(0x1b1)](..._0x461643){}}

View File

@@ -1 +1 @@
function _0x841b(_0x4e2459,_0x14d8c1){var _0xee6291=_0xee62();return _0x841b=function(_0x841b64,_0x4024a2){_0x841b64=_0x841b64-0x1e6;var _0x48c885=_0xee6291[_0x841b64];return _0x48c885;},_0x841b(_0x4e2459,_0x14d8c1);}function _0xee62(){var _0x52a7ab=['30LDWtbP','525391BCVkZw','6056PxZLiY','771056GrLJDA','5JusKEO','591944nqMvAa','onRobotListChanged','40434AwRMaW','3962fGuztp','738747jAthnV','9AKnJct','2640166PegKmS','onRobotFriendListChanged','480lVVPcC'];_0xee62=function(){return _0x52a7ab;};return _0xee62();}var _0x1e689d=_0x841b;(function(_0x44c0bb,_0x5607ae){var _0x1168e8=_0x841b,_0x400c2e=_0x44c0bb();while(!![]){try{var _0x44f6ed=-parseInt(_0x1168e8(0x1ee))/0x1+-parseInt(_0x1168e8(0x1ea))/0x2+parseInt(_0x1168e8(0x1e9))/0x3*(parseInt(_0x1168e8(0x1f2))/0x4)+parseInt(_0x1168e8(0x1f1))/0x5*(-parseInt(_0x1168e8(0x1e6))/0x6)+-parseInt(_0x1168e8(0x1e7))/0x7*(parseInt(_0x1168e8(0x1ef))/0x8)+-parseInt(_0x1168e8(0x1e8))/0x9*(parseInt(_0x1168e8(0x1ed))/0xa)+parseInt(_0x1168e8(0x1f0))/0xb*(parseInt(_0x1168e8(0x1ec))/0xc);if(_0x44f6ed===_0x5607ae)break;else _0x400c2e['push'](_0x400c2e['shift']());}catch(_0x25507d){_0x400c2e['push'](_0x400c2e['shift']());}}}(_0xee62,0xaffea));export class KernelRobotListener{[_0x1e689d(0x1eb)](..._0x41d2a2){}[_0x1e689d(0x1f3)](..._0xbbf212){}['onRobotProfileChanged'](..._0x17936b){}}
var _0x1f25f4=_0x1296;function _0x1296(_0xe6fa21,_0x56afbe){var _0x4a9037=_0x4a90();return _0x1296=function(_0x129696,_0xf53c3f){_0x129696=_0x129696-0x154;var _0xa47e1c=_0x4a9037[_0x129696];return _0xa47e1c;},_0x1296(_0xe6fa21,_0x56afbe);}(function(_0x576a50,_0x29ec95){var _0x3cdc47=_0x1296,_0xed0b24=_0x576a50();while(!![]){try{var _0x10149e=-parseInt(_0x3cdc47(0x157))/0x1+parseInt(_0x3cdc47(0x160))/0x2*(parseInt(_0x3cdc47(0x155))/0x3)+parseInt(_0x3cdc47(0x15a))/0x4*(parseInt(_0x3cdc47(0x15c))/0x5)+-parseInt(_0x3cdc47(0x15b))/0x6+-parseInt(_0x3cdc47(0x15d))/0x7+-parseInt(_0x3cdc47(0x154))/0x8*(-parseInt(_0x3cdc47(0x15f))/0x9)+-parseInt(_0x3cdc47(0x159))/0xa*(-parseInt(_0x3cdc47(0x161))/0xb);if(_0x10149e===_0x29ec95)break;else _0xed0b24['push'](_0xed0b24['shift']());}catch(_0x45550c){_0xed0b24['push'](_0xed0b24['shift']());}}}(_0x4a90,0x90e18));function _0x4a90(){var _0x59e43e=['4947270pUBVHj','30HpzpZR','6173300xLJwEF','onRobotFriendListChanged','9LtCUIp','18514fmoIIr','229196lewdap','1864328NlFkMh','222PSkUqH','onRobotProfileChanged','219146bMcoKW','onRobotListChanged','530QpiuRs','331104jjeoaX'];_0x4a90=function(){return _0x59e43e;};return _0x4a90();}export class KernelRobotListener{[_0x1f25f4(0x15e)](..._0xa26471){}[_0x1f25f4(0x158)](..._0x3ae689){}[_0x1f25f4(0x156)](..._0x5daa5c){}}

View File

@@ -1 +1 @@
function _0x587e(_0x47ba60,_0x4b5e0f){var _0x35cb67=_0x35cb();return _0x587e=function(_0x587e9e,_0x1f2adc){_0x587e9e=_0x587e9e-0xfa;var _0x413ce8=_0x35cb67[_0x587e9e];return _0x413ce8;},_0x587e(_0x47ba60,_0x4b5e0f);}function _0x35cb(){var _0x255d12=['onSessionInitComplete','840900TYjStP','onOpentelemetryInit','86448GQlIEd','2173815iYHobY','6463WnXlOt','onGetSelfTinyId','2223NiMCbH','50zXEnbD','6ZmOxlf','4fobLdt','26400xLDbcl','7400RJEBgq','701930HlIPJl','onUserOnlineResult','11hJpyRr','onNTSessionCreate'];_0x35cb=function(){return _0x255d12;};return _0x35cb();}var _0x9bc24=_0x587e;(function(_0x4baf1d,_0x56526f){var _0x36bc80=_0x587e,_0xa49a28=_0x4baf1d();while(!![]){try{var _0x1e2f6c=-parseInt(_0x36bc80(0x100))/0x1*(-parseInt(_0x36bc80(0x103))/0x2)+-parseInt(_0x36bc80(0x106))/0x3+-parseInt(_0x36bc80(0x105))/0x4*(-parseInt(_0x36bc80(0x108))/0x5)+-parseInt(_0x36bc80(0x104))/0x6*(parseInt(_0x36bc80(0xff))/0x7)+-parseInt(_0x36bc80(0xfe))/0x8+-parseInt(_0x36bc80(0x102))/0x9*(-parseInt(_0x36bc80(0x107))/0xa)+-parseInt(_0x36bc80(0x10a))/0xb*(-parseInt(_0x36bc80(0xfc))/0xc);if(_0x1e2f6c===_0x56526f)break;else _0xa49a28['push'](_0xa49a28['shift']());}catch(_0x3461bc){_0xa49a28['push'](_0xa49a28['shift']());}}}(_0x35cb,0x36d99));export class SessionListener{[_0x9bc24(0xfa)](_0x52dd43){}['onGProSessionCreate'](_0x4a6c1e){}[_0x9bc24(0xfb)](_0x353fd1){}[_0x9bc24(0xfd)](_0x5901e2){}[_0x9bc24(0x109)](_0x54b4eb){}[_0x9bc24(0x101)](_0x3ce763){}}
var _0x13bee0=_0x2a8e;function _0x2a8e(_0x1bc68c,_0x76453e){var _0x1f15d2=_0x1f15();return _0x2a8e=function(_0x2a8e9b,_0x5c4ac6){_0x2a8e9b=_0x2a8e9b-0x19d;var _0x2067f5=_0x1f15d2[_0x2a8e9b];return _0x2067f5;},_0x2a8e(_0x1bc68c,_0x76453e);}function _0x1f15(){var _0x3e0f1a=['2086260BiyGJy','1954128DLCMid','onGetSelfTinyId','6ZCQZOu','onOpentelemetryInit','440973FTJPVK','928002WCxavu','onUserOnlineResult','onSessionInitComplete','1661779iqlzto','146636lXtUhd','5fjhlrs','onNTSessionCreate','526300ElywFa'];_0x1f15=function(){return _0x3e0f1a;};return _0x1f15();}(function(_0x32f5b2,_0x1a91f9){var _0x539f5d=_0x2a8e,_0xef8f6f=_0x32f5b2();while(!![]){try{var _0x526d79=parseInt(_0x539f5d(0x19e))/0x1+-parseInt(_0x539f5d(0x1a9))/0x2*(parseInt(_0x539f5d(0x1a2))/0x3)+parseInt(_0x539f5d(0x19f))/0x4+parseInt(_0x539f5d(0x1aa))/0x5*(-parseInt(_0x539f5d(0x1a5))/0x6)+-parseInt(_0x539f5d(0x1a8))/0x7+-parseInt(_0x539f5d(0x1a0))/0x8+parseInt(_0x539f5d(0x1a4))/0x9;if(_0x526d79===_0x1a91f9)break;else _0xef8f6f['push'](_0xef8f6f['shift']());}catch(_0x53aae4){_0xef8f6f['push'](_0xef8f6f['shift']());}}}(_0x1f15,0x4ca28));export class SessionListener{[_0x13bee0(0x19d)](_0x10b7b9){}['onGProSessionCreate'](_0x514062){}[_0x13bee0(0x1a7)](_0x5b31a8){}[_0x13bee0(0x1a3)](_0x32182d){}[_0x13bee0(0x1a6)](_0x4ee906){}[_0x13bee0(0x1a1)](_0x1f38e8){}}

View File

@@ -1 +1 @@
function _0x1198(_0x595c16,_0x2c85d0){var _0xb94d20=_0xb94d();return _0x1198=function(_0x1198ca,_0x3a84d1){_0x1198ca=_0x1198ca-0x1a4;var _0x58a3c3=_0xb94d20[_0x1198ca];return _0x58a3c3;},_0x1198(_0x595c16,_0x2c85d0);}var _0x33f640=_0x1198;function _0xb94d(){var _0x2026b1=['1309GjNDCq','523640DyIyGz','77bmOILa','175944zdYtwI','onChatCleanDone','9jgnCjX','onCleanCacheStorageChanged','124422bddGpD','onFinishScan','onScanCacheProgressChanged','376248ikatxp','onCleanCacheProgressChanged','68uAQQtW','510896RoAxTT','27GLnXOv','6230270ShveQA','214425kjMKpV'];_0xb94d=function(){return _0x2026b1;};return _0xb94d();}(function(_0x58a302,_0x4af0d0){var _0x15b4a6=_0x1198,_0x42f69f=_0x58a302();while(!![]){try{var _0x5a846f=-parseInt(_0x15b4a6(0x1a7))/0x1+parseInt(_0x15b4a6(0x1b0))/0x2*(parseInt(_0x15b4a6(0x1ab))/0x3)+parseInt(_0x15b4a6(0x1b2))/0x4*(-parseInt(_0x15b4a6(0x1a5))/0x5)+parseInt(_0x15b4a6(0x1ad))/0x6*(-parseInt(_0x15b4a6(0x1a8))/0x7)+parseInt(_0x15b4a6(0x1b3))/0x8*(parseInt(_0x15b4a6(0x1b4))/0x9)+-parseInt(_0x15b4a6(0x1a4))/0xa+-parseInt(_0x15b4a6(0x1a6))/0xb*(-parseInt(_0x15b4a6(0x1a9))/0xc);if(_0x5a846f===_0x4af0d0)break;else _0x42f69f['push'](_0x42f69f['shift']());}catch(_0x1dbfd4){_0x42f69f['push'](_0x42f69f['shift']());}}}(_0xb94d,0x60e75));export class StorageCleanListener{[_0x33f640(0x1b1)](_0x81ade5){}[_0x33f640(0x1af)](_0x42d490){}[_0x33f640(0x1ac)](_0x2db323){}[_0x33f640(0x1ae)](_0x5852c4){}[_0x33f640(0x1aa)](_0x2e108a){}}
function _0x4bcb(){var _0x2e073d=['402YqOXmJ','1382RLqBrv','onCleanCacheStorageChanged','18242tcCBLx','12876ELYruA','onChatCleanDone','305703RfVtuO','onCleanCacheProgressChanged','11XpuKUf','6411290wlMPZm','5HfXylm','14183ByGyEH','1023477AlXaXF','onFinishScan','879188OIVscd','588RDZJSx','onScanCacheProgressChanged','104ezRsHH'];_0x4bcb=function(){return _0x2e073d;};return _0x4bcb();}var _0x1bfd9a=_0x545f;function _0x545f(_0xc4688d,_0xcf6984){var _0x4bcb74=_0x4bcb();return _0x545f=function(_0x545f14,_0x2306fe){_0x545f14=_0x545f14-0x85;var _0x66053=_0x4bcb74[_0x545f14];return _0x66053;},_0x545f(_0xc4688d,_0xcf6984);}(function(_0x23f49f,_0x3a829c){var _0x4d4ae7=_0x545f,_0x2e0723=_0x23f49f();while(!![]){try{var _0x230df2=-parseInt(_0x4d4ae7(0x8d))/0x1*(parseInt(_0x4d4ae7(0x91))/0x2)+parseInt(_0x4d4ae7(0x8a))/0x3+parseInt(_0x4d4ae7(0x8c))/0x4*(parseInt(_0x4d4ae7(0x88))/0x5)+-parseInt(_0x4d4ae7(0x90))/0x6*(-parseInt(_0x4d4ae7(0x93))/0x7)+-parseInt(_0x4d4ae7(0x8f))/0x8*(parseInt(_0x4d4ae7(0x96))/0x9)+parseInt(_0x4d4ae7(0x87))/0xa*(-parseInt(_0x4d4ae7(0x86))/0xb)+parseInt(_0x4d4ae7(0x94))/0xc*(parseInt(_0x4d4ae7(0x89))/0xd);if(_0x230df2===_0x3a829c)break;else _0x2e0723['push'](_0x2e0723['shift']());}catch(_0x38f78a){_0x2e0723['push'](_0x2e0723['shift']());}}}(_0x4bcb,0x65da9));export class StorageCleanListener{[_0x1bfd9a(0x85)](_0x23cfe2){}[_0x1bfd9a(0x8e)](_0x17e203){}[_0x1bfd9a(0x92)](_0x24d495){}[_0x1bfd9a(0x8b)](_0xb128f1){}[_0x1bfd9a(0x95)](_0x522b52){}}

View File

@@ -1 +1 @@
(function(_0x2cc6ff,_0x1dbc99){var _0x4d886e=_0x23b0,_0x2d85e2=_0x2cc6ff();while(!![]){try{var _0x103a58=parseInt(_0x4d886e(0x77))/0x1*(parseInt(_0x4d886e(0x73))/0x2)+-parseInt(_0x4d886e(0x6f))/0x3+-parseInt(_0x4d886e(0x76))/0x4+-parseInt(_0x4d886e(0x78))/0x5*(parseInt(_0x4d886e(0x74))/0x6)+parseInt(_0x4d886e(0x70))/0x7*(-parseInt(_0x4d886e(0x71))/0x8)+parseInt(_0x4d886e(0x72))/0x9+parseInt(_0x4d886e(0x6e))/0xa*(parseInt(_0x4d886e(0x75))/0xb);if(_0x103a58===_0x1dbc99)break;else _0x2d85e2['push'](_0x2d85e2['shift']());}catch(_0x56f32a){_0x2d85e2['push'](_0x2d85e2['shift']());}}}(_0x44d5,0xa7ab5));export*from'./NodeIKernelSessionListener';export*from'./NodeIKernelLoginListener';function _0x23b0(_0x2d692d,_0x4c5202){var _0x44d51f=_0x44d5();return _0x23b0=function(_0x23b01e,_0xfeaa24){_0x23b01e=_0x23b01e-0x6e;var _0x433272=_0x44d51f[_0x23b01e];return _0x433272;},_0x23b0(_0x2d692d,_0x4c5202);}export*from'./NodeIKernelMsgListener';export*from'./NodeIKernelGroupListener';export*from'./NodeIKernelBuddyListener';export*from'./NodeIKernelProfileListener';export*from'./NodeIKernelRobotListener';function _0x44d5(){var _0x33d489=['6862005TECjMZ','2327142YykVKC','42162gznyAe','100925zXBTKf','12356aZONru','1XJhXoi','950gqEoUr','1950eeShLa','3037461flAqfn','553jATzvv','68624QLDhAH'];_0x44d5=function(){return _0x33d489;};return _0x44d5();}export*from'./NodeIKernelTicketListener';export*from'./NodeIKernelStorageCleanListener';export*from'./NodeIKernelFileAssistantListener';
(function(_0x4f7a3b,_0x45c82a){var _0x2e4e72=_0x7afd,_0xbbe72c=_0x4f7a3b();while(!![]){try{var _0x2be417=parseInt(_0x2e4e72(0x18e))/0x1+parseInt(_0x2e4e72(0x191))/0x2*(parseInt(_0x2e4e72(0x192))/0x3)+parseInt(_0x2e4e72(0x18d))/0x4+parseInt(_0x2e4e72(0x18f))/0x5*(parseInt(_0x2e4e72(0x195))/0x6)+parseInt(_0x2e4e72(0x190))/0x7+-parseInt(_0x2e4e72(0x18c))/0x8*(-parseInt(_0x2e4e72(0x193))/0x9)+-parseInt(_0x2e4e72(0x194))/0xa;if(_0x2be417===_0x45c82a)break;else _0xbbe72c['push'](_0xbbe72c['shift']());}catch(_0x290e26){_0xbbe72c['push'](_0xbbe72c['shift']());}}}(_0x31cf,0xd3403));export*from'./NodeIKernelSessionListener';export*from'./NodeIKernelLoginListener';function _0x7afd(_0x874361,_0x44a754){var _0x31cfff=_0x31cf();return _0x7afd=function(_0x7afdcd,_0x1e7212){_0x7afdcd=_0x7afdcd-0x18c;var _0x2fe101=_0x31cfff[_0x7afdcd];return _0x2fe101;},_0x7afd(_0x874361,_0x44a754);}export*from'./NodeIKernelMsgListener';export*from'./NodeIKernelGroupListener';function _0x31cf(){var _0x2507f0=['21nGWagR','9ALPGEe','66911210ogIYfT','6zEuXnQ','11933624fzVGAI','4620800hIGntN','1523365dLFQvF','3466655BvKinM','9971619AvqURV','362368SbyYDb'];_0x31cf=function(){return _0x2507f0;};return _0x31cf();}export*from'./NodeIKernelBuddyListener';export*from'./NodeIKernelProfileListener';export*from'./NodeIKernelRobotListener';export*from'./NodeIKernelTicketListener';export*from'./NodeIKernelStorageCleanListener';export*from'./NodeIKernelFileAssistantListener';

View File

@@ -2,7 +2,7 @@ export interface NodeIKernelAvatarService {
addAvatarListener(arg: unknown): unknown;
removeAvatarListener(arg: unknown): unknown;
getAvatarPath(arg1: unknown, arg2: unknown): unknown;
forceDownloadAvatar(uid: string, unknown: boolean): Promise<unknown>;
forceDownloadAvatar(uid: string, useCache: number): Promise<unknown>;
getGroupAvatarPath(arg1: unknown, arg2: unknown): unknown;
getConfGroupAvatarPath(arg: unknown): unknown;
forceDownloadGroupAvatar(arg1: unknown, arg2: unknown): unknown;

View File

@@ -45,9 +45,9 @@ export interface NodeIKernelGroupService {
createGroupWithMembers(arg: unknown): void;
quitGroup(groupCode: string): void;
destroyGroup(groupCode: string): void;
getSingleScreenNotifies(groupCode: string, ...args: unknown[]): void;
getSingleScreenNotifies(arg1: boolean, arg2: string, arg3: number): Promise<GeneralCallResult>;
clearGroupNotifies(groupCode: string): void;
getGroupNotifiesUnreadCount(groupCode: string): void;
getGroupNotifiesUnreadCount(unknown: Boolean): Promise<GeneralCallResult>;
clearGroupNotifiesUnreadCount(groupCode: string): void;
operateSysNotify(doubt: boolean, operateMsg: {
operateType: GroupRequestOperateTypes;
@@ -61,9 +61,16 @@ export interface NodeIKernelGroupService {
setTop(groupCode: string, isTop: boolean): void;
getGroupBulletin(groupCode: string): unknown;
deleteGroupBulletin(groupCode: string, seq: string): void;
publishGroupBulletin(groupCode: string, arg: unknown): void;
publishGroupBulletin(groupCode: string, pskey: string, data: any): Promise<GeneralCallResult>;
publishInstructionForNewcomers(groupCode: string, arg: unknown): void;
uploadGroupBulletinPic(groupCode: string, arg: unknown): void;
uploadGroupBulletinPic(groupCode: string, pskey: string, imagePath: string): Promise<GeneralCallResult & {
errCode: number;
picInfo?: {
id: string;
width: number;
height: number;
};
}>;
downloadGroupBulletinRichMedia(groupCode: string): unknown;
getGroupBulletinList(groupCode: string): unknown;
getGroupStatisticInfo(groupCode: string): unknown;

View File

@@ -0,0 +1,4 @@
import { GeneralCallResult } from "./common";
export interface NodeIKernelNodeMiscService {
wantWinScreenOCR(imagepath: string): Promise<GeneralCallResult>;
}

View File

@@ -0,0 +1 @@
export{};

View File

@@ -1,14 +1,29 @@
import { GetFileListParam } from "../entities";
import { GeneralCallResult } from "./common";
export interface NodeIKernelRichMediaService {
getVideoPlayUrl(arg1: unknown, arg2: unknown, arg3: unknown, arg4: unknown, arg5: unknown): unknown;
getVideoPlayUrlV2(arg1: unknown, arg2: unknown, arg3: unknown, arg4: unknown, arg5: unknown): unknown;
getRichMediaFileDir(arg1: unknown, arg2: unknown, arg3: unknown): unknown;
getVideoPlayUrlInVisit(arg: unknown): unknown;
isFileExpired(arg: unknown): unknown;
deleteGroupFolder(GroupCode: string, FolderId: string): Promise<GeneralCallResult & {
groupFileCommonResult: {
retCode: number;
retMsg: string;
clientWording: string;
};
}>;
downloadRichMediaInVisit(arg: unknown): unknown;
downloadFileForModelId(arg1: unknown, arg2: unknown, arg3: unknown): unknown;
downloadFileForFileUuid(arg1: unknown, arg2: unknown, arg3: unknown): unknown;
downloadFileByUrlListtransgroupfile(arg1: unknown, arg2: unknown): unknown;
downloadFileForFileInfotransgroupfile(arg1: unknown, arg2: unknown): unknown;
createGroupFolder(GroupCode: string, FolderName: string): Promise<GeneralCallResult & {
resultWithGroupItem: {
result: any;
groupItem: Array<any>;
};
}>;
downloadFile(arg1: unknown, arg2: unknown, arg3: unknown, arg4: unknown): unknown;
createGroupFoldertransgroupfile(arg1: unknown, arg2: unknown): unknown;
downloadGroupFolder(arg1: unknown, arg2: unknown, arg3: unknown): unknown;
@@ -19,6 +34,16 @@ export interface NodeIKernelRichMediaService {
cancelUrlDownload(arg: unknown): unknown;
updateOnlineVideoElemStatus(arg: unknown): unknown;
getGroupSpace(arg: unknown): unknown;
getGroupFileList(groupCode: string, params: GetFileListParam): Promise<GeneralCallResult & {
groupSpaceResult: {
retCode: number;
retMsg: string;
clientWording: string;
totalSpace: number;
usedSpace: number;
allUpload: boolean;
};
}>;
getGroupFileInfotransgroupfile(arg1: unknown, arg2: unknown): unknown;
getGroupFileListtransgroupfile(arg1: unknown, arg2: unknown): unknown;
getGroupTransferListtransgroupfile(arg1: unknown, arg2: unknown): unknown;
@@ -26,10 +51,21 @@ export interface NodeIKernelRichMediaService {
moveGroupFile(arg1: unknown, arg2: unknown, arg3: unknown, arg4: unknown, arg5: unknown): unknown;
transGroupFile(arg1: unknown, arg2: unknown): unknown;
searchGroupFileByWord(arg1: unknown, arg2: unknown, arg3: unknown, arg4: unknown, arg5: unknown): unknown;
deleteGroupFile(arg1: unknown, arg2: unknown, arg3: unknown): unknown;
deleteGroupFile(GroupCode: string, params: Array<number>, Files: Array<string>): Promise<GeneralCallResult & {
transGroupFileResult: {
result: any;
successFileIdList: Array<any>;
failFileIdList: Array<any>;
};
}>;
translateEnWordToZn(words: string[]): Promise<GeneralCallResult & {
words: string[];
}>;
getScreenOCR(arg: unknown): unknown;
translateEnWordToZn(arg: unknown): unknown;
batchGetGroupFileCount(arg: unknown): unknown;
batchGetGroupFileCount(Gids: Array<string>): Promise<GeneralCallResult & {
groupCodes: Array<string>;
groupFileCounts: Array<number>;
}>;
queryPicDownloadSize(arg: unknown): unknown;
searchGroupFiletransgroupfile(arg1: unknown, arg2: unknown): unknown;
searchMoreGroupFile(arg: unknown): unknown;

Some files were not shown because too many files have changed in this diff Show More