Compare commits

..

146 Commits

Author SHA1 Message Date
手瓜一十雪
f43c1eadd7 release: 1.5.9 2024-06-21 17:26:16 +08:00
手瓜一十雪
ae4b4e7ff9 release: v1.5.9 2024-06-21 17:25:05 +08:00
手瓜一十雪
68b9771fa9 Merge pull request #78 from NapNeko/dependabot/npm_and_yarn/types/uuid-10.0.0
build(deps-dev): bump @types/uuid from 9.0.8 to 10.0.0
2024-06-21 16:50:15 +08:00
手瓜一十雪
114c98f4cf style: lint 2024-06-21 16:49:31 +08:00
手瓜一十雪
685dc74742 build: 1.5.9 - test3 2024-06-21 16:45:36 +08:00
dependabot[bot]
56966961dc build(deps-dev): bump @types/uuid from 9.0.8 to 10.0.0
Bumps [@types/uuid](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/uuid) from 9.0.8 to 10.0.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/uuid)

---
updated-dependencies:
- dependency-name: "@types/uuid"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-21 08:35:16 +00:00
手瓜一十雪
75b8002616 build: 1.5.9 - refactor 2024-06-21 16:24:49 +08:00
手瓜一十雪
6cd2d14e85 build: 1.5.9 - test2 2024-06-21 16:23:53 +08:00
手瓜一十雪
d11ad0585b build: 1.5.9 - test 2024-06-21 15:57:56 +08:00
手瓜一十雪
ccbb641a8e refactor: sign尝试 2024-06-21 13:29:14 +08:00
手瓜一十雪
5695d10a86 refactor: cache 2024-06-21 12:07:40 +08:00
手瓜一十雪
185f167c5f build: 1.5.9 - refactor cache 2024-06-21 11:21:09 +08:00
手瓜一十雪
9cf38a439b refactor: cache 2024-06-21 11:19:36 +08:00
手瓜一十雪
de65cd810c docs: v1.5.9 todo 2024-06-20 21:25:51 +08:00
手瓜一十雪
ae0277f33c release: 1.5.8 2024-06-19 23:34:09 +08:00
手瓜一十雪
b863896249 refactor: log file limit 2024-06-19 23:26:05 +08:00
手瓜一十雪
5b42f8b743 refactor: qqmusic card & requests 2024-06-19 23:06:57 +08:00
手瓜一十雪
3883fab614 remove: debug 2024-06-19 21:37:13 +08:00
手瓜一十雪
61d6bcec4b refactor: qqmusic card & requests 2024-06-19 21:33:31 +08:00
手瓜一十雪
3b5902b033 refactor: requests 2024-06-19 16:45:20 +08:00
手瓜一十雪
3a88c21a3b refactor: 整理action & data 2024-06-19 13:35:42 +08:00
手瓜一十雪
91a5055dee refactor: qqmusic sign & http post 2024-06-19 13:20:52 +08:00
手瓜一十雪
7befd1469f Merge branch 'main' of https://github.com/NapNeko/NapCatQQ 2024-06-19 10:01:37 +08:00
手瓜一十雪
c72ebe495c refactor: remove debug 2024-06-19 10:01:24 +08:00
手瓜一十雪
19e06b97e6 docs: update 2024-06-18 23:57:47 +08:00
手瓜一十雪
7519825303 refactor: test 2024-06-18 23:23:19 +08:00
手瓜一十雪
d9315bf309 refactor: project 2024-06-18 22:49:06 +08:00
手瓜一十雪
8c36c809a0 docs: extend 2024-06-18 11:22:35 +08:00
手瓜一十雪
8138aa3cb2 docs: v1.5.8 2024-06-18 11:21:52 +08:00
手瓜一十雪
87aef3ca78 feat: Util HttpUploadFile 2024-06-18 11:17:09 +08:00
手瓜一十雪
a3f1d26d6b feat: refactor miniapp 2024-06-18 11:08:51 +08:00
手瓜一十雪
06cebc5670 build: try support ia32 2024-06-17 10:03:59 +08:00
手瓜一十雪
867fd62d77 fix: typo 2024-06-16 20:54:52 +08:00
手瓜一十雪
650cdf2916 feat: test 2024-06-16 19:24:42 +08:00
手瓜一十雪
ebf461f2fd feat: 加了一些暂时不能使用的代码 2024-06-16 16:35:09 +08:00
手瓜一十雪
27fa319b2a release: LinuxAppid 24568 2024-06-14 18:43:56 +08:00
手瓜一十雪
d95ac894f4 release: 1.5.6-复活下win 2024-06-14 17:00:35 +08:00
手瓜一十雪
ae84a8dd11 docs: v1.5.6 change 2024-06-14 16:53:26 +08:00
手瓜一十雪
2fc963f986 build: v1.5.6-紧急测试 2024-06-14 16:43:32 +08:00
手瓜一十雪
be1f938ebd fix 2024-06-14 16:42:39 +08:00
手瓜一十雪
cccf4d503d docs: v1.5.6 2024-06-14 15:50:22 +08:00
手瓜一十雪
9dad2a8ac6 remove: debug 2024-06-11 18:11:32 +08:00
手瓜一十雪
75af104f07 release: v1.5.5 2024-06-11 18:10:22 +08:00
手瓜一十雪
76ecba245b fix: error 2024-06-11 18:09:46 +08:00
手瓜一十雪
3697c2ced8 refactor: 移除无缝升级函数 2024-06-11 15:46:27 +08:00
手瓜一十雪
b9d1d84716 release: v1.5.4 2024-06-11 15:20:11 +08:00
手瓜一十雪
64b2d547ce refactor: friend 2024-06-11 12:34:04 +08:00
手瓜一十雪
d8d2ff7e4e chore:appid 2024-06-10 19:00:05 +08:00
手瓜一十雪
8aa5dc6482 Merge pull request #62 from NapNeko/dependabot/npm_and_yarn/uuid-10.0.0
build(deps): bump uuid from 9.0.1 to 10.0.0
2024-06-10 16:46:05 +08:00
dependabot[bot]
474ba20e61 build(deps): bump uuid from 9.0.1 to 10.0.0
Bumps [uuid](https://github.com/uuidjs/uuid) from 9.0.1 to 10.0.0.
- [Changelog](https://github.com/uuidjs/uuid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/uuidjs/uuid/compare/v9.0.1...v10.0.0)

---
updated-dependencies:
- dependency-name: uuid
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-10 08:12:09 +00:00
手瓜一十雪
bdea2d02a9 release: v1.5.3 2024-06-09 20:09:14 +08:00
手瓜一十雪
c4307481f1 build: 1.5.3-beta4 2024-06-09 19:47:16 +08:00
手瓜一十雪
b8ac1b28bd build: v1.5.3-beta3 2024-06-09 19:41:27 +08:00
手瓜一十雪
24038cda95 refactor: video url 2024-06-09 19:40:34 +08:00
手瓜一十雪
86c82e9608 build: 1.5.3-beta2 2024-06-09 19:14:27 +08:00
手瓜一十雪
daab5d150b refactor: friend add 2024-06-09 19:13:49 +08:00
手瓜一十雪
9ff82bdb90 feat: support SetLongNick 2024-06-09 18:28:09 +08:00
手瓜一十雪
c6d70ef1cf build: 1.5.3-beta1 2024-06-09 17:46:32 +08:00
手瓜一十雪
15d4bb3c76 feat: new api 2024-06-09 17:30:30 +08:00
手瓜一十雪
3e698981fd chore: sync core 2024-06-09 14:26:02 +08:00
手瓜一十雪
9d45c934a5 chore: sync core 2024-06-08 22:13:05 +08:00
手瓜一十雪
c2bf9cf93e chore: sync core 2024-06-08 12:11:04 +08:00
手瓜一十雪
b3c6fd7f26 chore: sync core 2024-06-07 17:59:33 +08:00
手瓜一十雪
ccd155de71 feat: 推荐联系人ArkJson 2024-06-07 17:57:33 +08:00
手瓜一十雪
1f90d2e46b feat: 支持专属头衔获取 2024-06-07 17:26:00 +08:00
手瓜一十雪
4c5d974c22 feat: 支持专属头衔获取 2024-06-07 17:25:34 +08:00
手瓜一十雪
392eda1cbc fix: typo 2024-06-07 13:19:22 +08:00
手瓜一十雪
a9da3279e8 docs: change 2024-06-07 13:01:15 +08:00
手瓜一十雪
1ce8351180 docs: develop 2024-06-07 09:49:31 +08:00
手瓜一十雪
96c334478a docs: todo 2024-06-07 00:39:09 +08:00
手瓜一十雪
f1b0875b05 feat: ArkJsonGroupShare 2024-06-06 17:20:34 +08:00
手瓜一十雪
cea9e11c83 docs: add 2024-06-06 14:31:45 +08:00
手瓜一十雪
f098b39200 refactor: uins 2024-06-06 13:34:05 +08:00
手瓜一十雪
012d948b59 chore: sync 2024-06-06 13:23:15 +08:00
手瓜一十雪
3334cd0a71 docs: change 2024-06-06 12:18:17 +08:00
手瓜一十雪
d63d53fd88 docs: move 2024-06-06 11:05:30 +08:00
手瓜一十雪
a7fa39b2fd fix: message_id error 2024-06-06 11:03:29 +08:00
Version
40bb42e193 chore:version change 2024-06-05 10:30:26 +00:00
手瓜一十雪
9c382c639b build: v1.5.2-api兼容 2024-06-05 15:04:04 +08:00
手瓜一十雪
a43cde38f1 refactor: SetMsgEmojiLike 2024-06-05 15:03:14 +08:00
手瓜一十雪
c35d2e08cd refactor: reboot req params 2024-06-05 14:25:21 +08:00
手瓜一十雪
3377c383c1 build: v1.5.2 - GetMsg兼容 2024-06-05 12:14:41 +08:00
手瓜一十雪
c00e6d95cd build: v1.5.2-beta3 2024-06-05 11:23:42 +08:00
手瓜一十雪
725fccf4ed refactor: GoCQHTTP_GetStrangerInfo 2024-06-05 11:19:34 +08:00
手瓜一十雪
13129bd219 build: v1.5.2-beta2 2024-06-05 10:41:40 +08:00
手瓜一十雪
4561977bcf chore: sync core 2024-06-05 10:36:39 +08:00
手瓜一十雪
40be8a91f5 fix 2024-06-05 10:33:36 +08:00
手瓜一十雪
2a04d5830b fix: kick member 2024-06-04 23:52:46 +08:00
手瓜一十雪
82a38574f3 build: v1.5.2-beta 2024-06-04 23:16:33 +08:00
手瓜一十雪
fea3a33c2b refactor: Uid <-> Uin & Remove Cached 2024-06-04 23:13:18 +08:00
手瓜一十雪
9a502cdf6f refactor: uin - > uid 2024-06-04 23:06:53 +08:00
手瓜一十雪
4b616299cf refactor: uin -> uid 2024-06-04 22:50:16 +08:00
手瓜一十雪
102243e064 sync: core 2024-06-04 21:15:29 +08:00
手瓜一十雪
4b21ac5ebe fix: nt event 2024-06-04 21:09:19 +08:00
手瓜一十雪
4dd7363dd3 Merge branch 'main' of https://github.com/NapNeko/NapCatQQ 2024-06-04 12:39:08 +08:00
手瓜一十雪
3d5e5ab78f release: v1.5.1 2024-06-04 12:38:54 +08:00
手瓜一十雪
73045a1b21 Merge pull request #57 from Icexbb/main
fix: 整理日志、添加颜色、使用统一的日志函数以提高日志可读性
2024-06-04 12:37:54 +08:00
手瓜一十雪
871173a7cf fix: 二维码显示 2024-06-04 12:37:35 +08:00
手瓜一十雪
0002313093 Merge branch 'main' into pr/57 2024-06-04 12:31:43 +08:00
手瓜一十雪
948cf5cca6 refactror: cpmoudle
此处非NC运行时的代码 用于打包时运行
2024-06-04 12:26:19 +08:00
手瓜一十雪
d40230879c fix: 玄学的问题 2024-06-04 12:20:42 +08:00
XBB
ab22b775f1 fix: 整理日志、添加颜色、使用统一的日志函数以提高日志可读性 2024-06-04 02:59:35 +08:00
手瓜一十雪
42c85224ba build: v1.5.1-beta1 2024-06-03 21:18:24 +08:00
手瓜一十雪
e57444a353 sync: core 2024-06-03 21:11:21 +08:00
手瓜一十雪
3c6503d495 feat: support SetSelfProfile 2024-06-03 21:02:43 +08:00
手瓜一十雪
149b518f48 release: v1.5.0 2024-06-03 17:15:43 +08:00
手瓜一十雪
74621447ff fix: 提高兼容性 2024-06-03 17:12:53 +08:00
手瓜一十雪
3280952931 fix: 提高Api兼容性 2024-06-03 17:09:23 +08:00
手瓜一十雪
9e670e2736 Merge branch 'main' of https://github.com/NapNeko/NapCatQQ 2024-06-03 16:56:28 +08:00
手瓜一十雪
9fc6347a2f fix: 进一步标准化 2024-06-03 16:56:08 +08:00
Version
ec7a15a192 chore:version change 2024-06-03 08:50:25 +00:00
手瓜一十雪
7f99982810 release: v1.4.9 2024-06-03 16:49:08 +08:00
Version
935d83aaf8 chore:version change 2024-06-02 13:01:32 +00:00
手瓜一十雪
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
209 changed files with 4151 additions and 2211 deletions

View File

@@ -47,7 +47,7 @@ jobs:
fail-fast: false
matrix:
target_platform: [win32]
target_arch: [x64]
target_arch: [x64,ia32]
steps:
- name: Clone Main Repository
uses: actions/checkout@v4

View File

@@ -72,7 +72,7 @@ jobs:
fail-fast: false
matrix:
target_platform: [win32]
target_arch: [x64]
target_arch: [x64,ia32]
steps:
- name: Clone Main Repository
uses: actions/checkout@v4

View File

@@ -0,0 +1,12 @@
# v1.5.9
QQ Version: Windows 9.9.11-24815 / Linux 3.2.9-24815
## 修复与优化
* 优化缓存问题
* 修复poke异常上报
## 新增与调整
新增的 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

@@ -0,0 +1,11 @@
# v1.4.9
QQ Version: Windows 9.9.10-24108 / Linux 3.2.7-23361
## 修复与优化
* 修复接口调用问题 接口标准化 APIset_group_add_request
## 新增与调整
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,11 @@
# v1.5.0
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,12 @@
# v1.5.1
QQ Version: Windows 9.9.10-24108 / Linux 3.2.7-23361
## 修复与优化
* 支持 新Api: set_self_profile 可设置个性签名
* 修复 Api: get_group_system_msg
* 整理日志、添加颜色、使用统一的日志函数以提高日志可读性
## 新增与调整
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,13 @@
# v1.5.2
QQ Version: Windows 9.9.10-24108 / Linux 3.2.7-23361
## 修复与优化
* 替换Uid/Uin为内部实现
* 增加HttpApi调用稳定性
* 修复 GetMsg 兼容性
## 新增与调整
* 支持真正意义上的陌生人信息获取 Api: GoCQHTTP_GetStrangerInfo
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,15 @@
# v1.5.3
QQ Version: Windows 9.9.11-24568 / Linux 3.2.9-23568
## 修复与优化
* 修复引用消息id问题
* 修复添加好友的通知
## 新增与调整
* 扩展群分享Json生成
* 扩展关于收藏的一系列接口
* 支持专属群头衔获取
* 支持视频获取直链
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,11 @@
# v1.5.4
QQ Version: Windows 9.9.11-24568 / Linux 3.2.9-23568
## 修复与优化
* 紧急修复视频与文件问题
## 新增与调整
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,11 @@
# v1.5.5
QQ Version: Windows 9.9.11-24568 / Linux 3.2.9-23568
## 修复与优化
* 紧急修复一些问题
## 新增与调整
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,11 @@
# v1.5.6
QQ Version: Windows 9.9.11-24568 / Linux 3.2.9-24568
## 修复与优化
* 修复一些问题
## 新增与调整
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,11 @@
# v1.5.7
QQ Version: Windows 9.9.11-24568 / Linux 3.2.9-24568
## 修复与优化
* 修复一些问题
## 新增与调整
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,14 @@
# v1.5.8
QQ Version: Windows 9.9.11-24568 / Linux 3.2.9-24568
## 修复与优化
* 修复视频文件残留问题
* 重构 getcookies接口 支持大部分常见域
## 新增与调整
* 日志大小限制
* 支持 QQ音乐 卡片 无签名支持时 启用内置方法(缺点没有封面 限速1min/条)
* 支持Window X86-32机器
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

2
docs/develop/Android.md Normal file
View File

@@ -0,0 +1,2 @@
# 开始
jadx 跳转于 `com.tencent.qqnt.kernel.*`

View File

@@ -0,0 +1,42 @@
# Android
```java
GroupMemberExtReq groupMemberExtReq = new GroupMemberExtReq();
groupMemberExtReq.sourceType = MemberExtSourceType.TITLETYPE.ordinal();
groupMemberExtReq.groupCode = longOrNull.longValue();
groupMemberExtReq.beginUin = "0";
groupMemberExtReq.dataTime = "0";
Long[] lArr = new Long[1];
AppInterface a2 = dVar.a();
lArr[0] = Long.valueOf(a2 != null ? a2.getLongAccountUin() : 0L);
arrayListOf = CollectionsKt__CollectionsKt.arrayListOf(lArr);
groupMemberExtReq.uinList = arrayListOf;
MemberExtInfoFilter memberExtInfoFilter = new MemberExtInfoFilter();
memberExtInfoFilter.memberLevelInfoUin = 1;
memberExtInfoFilter.memberLevelInfoPoint = 1;
memberExtInfoFilter.memberLevelInfoActiveDay = 1;
memberExtInfoFilter.memberLevelInfoLevel = 1;
memberExtInfoFilter.levelName = 1;
memberExtInfoFilter.dataTime = 1;
memberExtInfoFilter.sysShowFlag = 1;
memberExtInfoFilter.userShowFlag = 1;
memberExtInfoFilter.userShowFlagNew = 1;
memberExtInfoFilter.levelNameNew = 1;
Unit unit = Unit.INSTANCE;
groupMemberExtReq.memberExtFilter = memberExtInfoFilter;
troopLevelFrequencyControl.f(troopUin, new TroopListRepo$fetchTroopLevelInfo$2(b2, groupMemberExtReq, troopUin, new com.tencent.qqnt.troopmemberlist.report.c("fetchTroopLevelInfo")));
```
# Win
参数解析位于 sub_181456A10(24108) -> wrapper.node(24108)+1456A10
IGroupService.GetMemberExt(param: object);
param展开如下
```
groupCode string
beginUin string
dataTime string
uinList Array<string>
uinNum string
groupType string
richCardNameVer string
sourceType number
memberExtFilter object// 参数解析位于 sub_18145A6D0(24108) -> wrapper.node(24108)+145A6D0
```

View File

@@ -0,0 +1,48 @@
public static final int C2C_PIC_DOWNLOAD = 1004;
public static final String C2C_PIC_DOWNLOAD_DOMAIN = "c2cpicdw.qpic.cn";
public static final String C2C_PIC_DOWNLOAD_QUIC_DOMAIN = "c2cpicdw.quic.qpic.cn";
public static final int FLAG_NOT_UPLOAD = 3;
public static final int FLAG_UPLOADINFO_ERROR = 4;
public static final int GROUP_PIC_DOWNLOAD = 1000;
public static final String GROUP_PIC_DOWNLOAD_DOMAIN = "gchat.qpic.cn";
public static final String GROUP_PIC_DOWNLOAD_QUIC_DOMAIN = "gchat.quic.qpic.cn";
public static final String GUILD_PIC_DOWNLOAD_DOMAIN = "gchat.qpic.cn/qmeetpic";
public static final boolean NEW_STORE_FLAG = true;
public static final String PTT_VIDEO_DOWNLOAD_DOMAIN = "grouptalk.c2c.qq.com";
protected static final int AVIF_DECODE_EXCEPTION = 4;
protected static final int AVIF_DECODE_FAIL = 1;
protected static final int AVIF_DECODE_FAIL_SO_FAIL = 2;
protected static final int AVIF_DECODE_FAIL_UNKNOWN = 6;
protected static final int AVIF_DECODE_FILETYPE_ERROR = 5;
protected static final int AVIF_DECODE_OOM = 3;
protected static final int AVIF_DECODE_RENAME_FAIL = 7;
protected static final int AVIF_DECODE_SUC = 0;
public static final String AVIF_FILE_SUFFIX = ".avif";
public static final int AVIF_REQ_APPRUNTIME_NULL = 12;
public static final int AVIF_REQ_CODEC_UNSURPPORT = 5;
protected static final int AVIF_REQ_DENSITY_UNSURPPORT = 10;
protected static final int AVIF_REQ_FLASH_PHOTO = 9;
protected static final int AVIF_REQ_HAS_TMP_AVIF = 7;
protected static final int AVIF_REQ_INVALID_MSG_RECORD = 2;
protected static final int AVIF_REQ_IS_RAW_PHOTO = 3;
protected static final int AVIF_REQ_OUTPUTSTREAM_UNSURPPORT = 11;
protected static final int AVIF_REQ_OVERSIZE = 6;
protected static final int AVIF_REQ_RETRY = 1;
public static final int AVIF_REQ_SO_DOWNLOAD_FAILED = 8;
protected static final int AVIF_REQ_SUC = 0;
public static final int AVIF_REQ_SWITCH_CLOSE = 4;
public static final String C2C_PIC_DOWNLOAD_ERROR_CODE = "C2CPicDownloadErrorCode";
static final int DOWNLOAD_ST_COMPLETE = 1;
static final int DOWNLOAD_ST_HEAD = 2;
static final int DOWNLOAD_ST_LEFT = 4;
static final int DOWNLOAD_ST_PART = 3;
private static final int ENCRYPT_APPID = 1600000226;
public static final String GROUP_PIC_DOWNLOAD_ERROR_CODE = "GroupPicDownloadErrorCode";
public static final String KEY_PIC_DOWNLOAD_ERROR_CODE = "param_detail_code";
protected static final int QUIC_FAIL_IP_LIST_EMPTY = 1;
protected static final int QUIC_FAIL_REQUEST_HTTPS = 3;
protected static final int QUIC_FAIL_REQUEST_QUIC = 2;
protected static final int QUIC_FAIL_SO_LOAD = 4;
public static final String REPORT_TAG_DIRECT_DOWNLOAD_FAIL = "report_direct_download_fail";
public static final String REQ_PARAM_AVIF = "tp=avif";

View File

@@ -0,0 +1,444 @@
```java
MsgConstant
int ARKSTRUCTELEMENTSUBTYPETENCENTDOCFROMMINIAPP = 1;
int ARKSTRUCTELEMENTSUBTYPETENCENTDOCFROMPLUSPANEL = 2;
int ARKSTRUCTELEMENTSUBTYPEUNKNOWN = 0;
int ATTYPEALL = 1;
int ATTYPECATEGORY = 512;
int ATTYPECHANNEL = 16;
int ATTYPEME = 4;
int ATTYPEONE = 2;
int ATTYPEONLINE = 64;
int ATTYPEROLE = 8;
int ATTYPESUMMON = 32;
int ATTYPESUMMONONLINE = 128;
int ATTYPESUMMONROLE = 256;
int ATTYPEUNKNOWN = 0;
int CALENDARELEMSUBTYPECOMMON = 3;
int CALENDARELEMSUBTYPESTRONG = 1;
int CALENDARELEMSUBTYPEUNKNOWN = 0;
int CALENDARELEMSUBTYPEWEAK = 2;
int FACEBUBBLEELEMSUBTYPENORMAL = 1;
int FACEBUBBLEELEMSUBTYPEUNKNOWN = 0;
int FETCHLONGMSGERRCODEMSGEXPIRED = 196;
int FILEELEMENTSUBTYPEAI = 16;
int FILEELEMENTSUBTYPEAPP = 11;
int FILEELEMENTSUBTYPEAUDIO = 3;
int FILEELEMENTSUBTYPEDOC = 4;
int FILEELEMENTSUBTYPEEMOTICON = 15;
int FILEELEMENTSUBTYPEEXCEL = 6;
int FILEELEMENTSUBTYPEFOLDER = 13;
int FILEELEMENTSUBTYPEHTML = 10;
int FILEELEMENTSUBTYPEIPA = 14;
int FILEELEMENTSUBTYPENORMAL = 0;
int FILEELEMENTSUBTYPEPDF = 7;
int FILEELEMENTSUBTYPEPIC = 1;
int FILEELEMENTSUBTYPEPPT = 5;
int FILEELEMENTSUBTYPEPSD = 12;
int FILEELEMENTSUBTYPETXT = 8;
int FILEELEMENTSUBTYPEVIDEO = 2;
int FILEELEMENTSUBTYPEZIP = 9;
int GRAYTIPELEMENTSUBTYPEAIOOP = 15;
int GRAYTIPELEMENTSUBTYPEBLOCK = 14;
int GRAYTIPELEMENTSUBTYPEBUDDY = 5;
int GRAYTIPELEMENTSUBTYPEBUDDYNOTIFY = 9;
int GRAYTIPELEMENTSUBTYPEEMOJIREPLY = 3;
int GRAYTIPELEMENTSUBTYPEESSENCE = 7;
int GRAYTIPELEMENTSUBTYPEFEED = 6;
int GRAYTIPELEMENTSUBTYPEFEEDCHANNELMSG = 11;
int GRAYTIPELEMENTSUBTYPEFILE = 10;
int GRAYTIPELEMENTSUBTYPEGROUP = 4;
int GRAYTIPELEMENTSUBTYPEGROUPNOTIFY = 8;
int GRAYTIPELEMENTSUBTYPEJSON = 17;
int GRAYTIPELEMENTSUBTYPELOCALMSG = 13;
int GRAYTIPELEMENTSUBTYPEPROCLAMATION = 2;
int GRAYTIPELEMENTSUBTYPEREVOKE = 1;
int GRAYTIPELEMENTSUBTYPEUNKNOWN = 0;
int GRAYTIPELEMENTSUBTYPEWALLET = 16;
int GRAYTIPELEMENTSUBTYPEXMLMSG = 12;
int INLINEKEYBOARDBUTTONRENDERSTYLEBLUEBLACKGROUND = 4;
int INLINEKEYBOARDBUTTONRENDERSTYLEBLUEBORDER = 1;
int INLINEKEYBOARDBUTTONRENDERSTYLEGRAYBORDER = 0;
int INLINEKEYBOARDBUTTONRENDERSTYLENOBORDER = 2;
int INLINEKEYBOARDBUTTONRENDERSTYLEREDCHARACTER = 3;
int INPUTSTATUSTYPECANCEL = 2;
int INPUTSTATUSTYPESPEAK = 3;
int INPUTSTATUSTYPETEXT = 1;
int KACTIVITYMSG = 22;
int KADDLOCALMSGEXTINFOTYPEPROLOGUEMSG = 1;
int KANONYMOUSATMEMSGTYPEINMSGBOX = 1001;
int KANONYMOUSFLAGFROMOTHERPEOPLE = 1;
int KANONYMOUSFLAGFROMOWN = 2;
int KANONYMOUSFLAGINVALID = 0;
int KAPPCHANNELMSG = 16;
int KATALLMSGTYPEINMSGBOX = 2000;
int KATMEMSGTYPEINMSGBOX = 1000;
int KATTRIBUTETYPEADELIEMSG = 16;
int KATTRIBUTETYPEEXTENDBUSINESS = 13;
int KATTRIBUTETYPEFEEDBACKSTATE = 17;
int KATTRIBUTETYPEGROUPHONOR = 2;
int KATTRIBUTETYPEKINGHONOR = 3;
int KATTRIBUTETYPELONGMSG = 8;
int KATTRIBUTETYPEMEMORYSTATEMSGINFO = 18;
int KATTRIBUTETYPEMSG = 0;
int KATTRIBUTETYPEMSGBOXEVENTTYPE = 14;
int KATTRIBUTETYPEPERSONAL = 1;
int KATTRIBUTETYPEPUBLICACCOUNT = 4;
int KATTRIBUTETYPEQQCONNECT = 12;
int KATTRIBUTETYPESENDMSGRSPTRANSSVRINFO = 15;
int KATTRIBUTETYPESHAREDMSGINFO = 5;
int KATTRIBUTETYPETEMPCHATGAMESESSION = 6;
int KATTRIBUTETYPETOROBOTMSG = 9;
int KATTRIBUTETYPEUININFO = 7;
int KATTRIBUTETYPEZPLAN = 11;
int KAUTOREPLYTEXTNONEINDEX = -1;
int KAVRECORDMSG = 19;
int KBUSINESSTYPGUILD = 1;
int KBUSINESSTYPNT = 0;
int KCHATTYPEADELIE = 42;
int KCHATTYPEBUDDYNOTIFY = 5;
int KCHATTYPEC2C = 1;
int KCHATTYPECIRCLE = 113;
int KCHATTYPEDATALINE = 8;
int KCHATTYPEDATALINEMQQ = 134;
int KCHATTYPEDISC = 3;
int KCHATTYPEFAV = 41;
int KCHATTYPEGAMEMESSAGE = 105;
int KCHATTYPEGAMEMESSAGEFOLDER = 116;
int KCHATTYPEGROUP = 2;
int KCHATTYPEGROUPBLESS = 133;
int KCHATTYPEGROUPGUILD = 9;
int KCHATTYPEGROUPHELPER = 7;
int KCHATTYPEGROUPNOTIFY = 6;
int KCHATTYPEGUILD = 4;
int KCHATTYPEGUILDMETA = 16;
int KCHATTYPEMATCHFRIEND = 104;
int KCHATTYPEMATCHFRIENDFOLDER = 109;
int KCHATTYPENEARBY = 106;
int KCHATTYPENEARBYASSISTANT = 107;
int KCHATTYPENEARBYFOLDER = 110;
int KCHATTYPENEARBYHELLOFOLDER = 112;
int KCHATTYPENEARBYINTERACT = 108;
int KCHATTYPEQQNOTIFY = 132;
int KCHATTYPERELATEACCOUNT = 131;
int KCHATTYPESERVICEASSISTANT = 118;
int KCHATTYPESERVICEASSISTANTSUB = 201;
int KCHATTYPESQUAREPUBLIC = 115;
int KCHATTYPESUBSCRIBEFOLDER = 30;
int KCHATTYPETEMPADDRESSBOOK = 111;
int KCHATTYPETEMPBUSSINESSCRM = 102;
int KCHATTYPETEMPC2CFROMGROUP = 100;
int KCHATTYPETEMPC2CFROMUNKNOWN = 99;
int KCHATTYPETEMPFRIENDVERIFY = 101;
int KCHATTYPETEMPNEARBYPRO = 119;
int KCHATTYPETEMPPUBLICACCOUNT = 103;
int KCHATTYPETEMPWPA = 117;
int KCHATTYPEUNKNOWN = 0;
int KCHATTYPEWEIYUN = 40;
int KCOMMONREDENVELOPEMSGTYPEINMSGBOX = 1007;
int KDOWNSOURCETYPEAIOINNER = 1;
int KDOWNSOURCETYPEBIGSCREEN = 2;
int KDOWNSOURCETYPEHISTORY = 3;
int KDOWNSOURCETYPEUNKNOWN = 0;
int KELEMTYPEACTIVITY = 25;
int KELEMTYPEACTIVITYSTATE = 41;
int KELEMTYPEACTIVITYSUBTYPECREATEMOBATEAM = 12;
int KELEMTYPEACTIVITYSUBTYPEDISBANDMOBATEAM = 11;
int KELEMTYPEACTIVITYSUBTYPEFEEDSQUARE = 10001;
int KELEMTYPEACTIVITYSUBTYPEFINISHGAME = 16;
int KELEMTYPEACTIVITYSUBTYPEFINISHMATCHTEAM = 14;
int KELEMTYPEACTIVITYSUBTYPEHOTCHAT = 10000;
int KELEMTYPEACTIVITYSUBTYPEMINIGAME = 18;
int KELEMTYPEACTIVITYSUBTYPEMUSICPLAY = 17;
int KELEMTYPEACTIVITYSUBTYPENEWSMOBA = 9;
int KELEMTYPEACTIVITYSUBTYPENOLIVE = 2;
int KELEMTYPEACTIVITYSUBTYPENOSCREENSHARE = 7;
int KELEMTYPEACTIVITYSUBTYPENOVOICE = 3;
int KELEMTYPEACTIVITYSUBTYPEONLIVE = 1;
int KELEMTYPEACTIVITYSUBTYPEONSCREENSHARE = 6;
int KELEMTYPEACTIVITYSUBTYPEONVOICE = 4;
int KELEMTYPEACTIVITYSUBTYPESTARTMATCHTEAM = 13;
int KELEMTYPEACTIVITYSUBTYPETARTGAME = 15;
int KELEMTYPEACTIVITYSUBTYPEUNKNOWN = 0;
int KELEMTYPEADELIEACTIONBAR = 44;
int KELEMTYPEADELIERECOMMENDEDMSG = 43;
int KELEMTYPEARKSTRUCT = 10;
int KELEMTYPEAVRECORD = 21;
int KELEMTYPECALENDAR = 19;
int KELEMTYPEFACE = 6;
int KELEMTYPEFACEBUBBLE = 27;
int KELEMTYPEFEED = 22;
int KELEMTYPEFILE = 3;
int KELEMTYPEGIPHY = 15;
int KELEMTYPEGRAYTIP = 8;
int KELEMTYPEINLINEKEYBOARD = 17;
int KELEMTYPEINTEXTGIFT = 18;
int KELEMTYPELIVEGIFT = 12;
int KELEMTYPEMARKDOWN = 14;
int KELEMTYPEMARKETFACE = 11;
int KELEMTYPEMULTIFORWARD = 16;
int KELEMTYPEONLINEFILE = 23;
int KELEMTYPEPIC = 2;
int KELEMTYPEPROLOGUE = 46;
int KELEMTYPEPTT = 4;
int KELEMTYPEREPLY = 7;
int KELEMTYPESHARELOCATION = 28;
int KELEMTYPESTRUCTLONGMSG = 13;
int KELEMTYPETASKTOPMSG = 29;
int KELEMTYPETEXT = 1;
int KELEMTYPETOFU = 26;
int KELEMTYPEUNKNOWN = 0;
int KELEMTYPEVIDEO = 5;
int KELEMTYPEWALLET = 9;
int KELEMTYPEYOLOGAMERESULT = 20;
int KENTERAIO = 1;
int KEXITAIO = 2;
int KFEEDBACKBUTTONTYPEDISLIKE = 2;
int KFEEDBACKBUTTONTYPELIKE = 1;
int KFEEDBACKBUTTONTYPEPROMPTCLICK = 5;
int KFEEDBACKBUTTONTYPEREGENERATE = 4;
int KFEEDBACKBUTTONTYPEUNKNOWN = 0;
int KFEEDBACKOPTLIKE = 1;
int KFEEDBACKOPTUNKNOWN = 0;
int KFEEDBACKOPTUNLIKE = 2;
int KFRIENDNEWADDEDMSGTYPEINMSGBOX = 1008;
int KGAMEBOXNEWMSGTYPEINMSGBOX = 3000;
int KGIFTATMEMSGTYPEINMSGBOX = 1005;
int KGROUPFILEATALLMSGTYPEINMSGBOX = 2001;
int KGROUPHOMEWORK = 20000;
int KGROUPHOMEWORKTASK = 20001;
int KGROUPKEYWORDMSGTYPEINMSGBOX = 2006;
int KGROUPMANNOUNCEATALLMSGTYPEINMSGBOX = 2004;
int KGROUPTASKATALLMSGTYPEINMSGBOX = 2003;
int KGROUPUNREADTYPEINMSGBOX = 2007;
int KGUILDCHANNELLIST = 10;
int KHIGHLIGHTWORDINTEMPCHATTYPEINMSGBOX = 1009;
int KHOMEWORKREMINDER = 10000;
int KLIKEORDISLIKESTATEDISLIKE = 2;
int KLIKEORDISLIKESTATELIKE = 1;
int KLIKEORDISLIKESTATENONESELECTED = 0;
int KMARKETFACE = 17;
int KMEMORYSTATEMSGTYPEADELIEWELCOME = 1;
int KMEMORYSTATEMSGTYPEUNKNOWN = 0;
int KMINIPROGRAMNOTICE = 114;
int KMSGSUBTYPEARKGROUPANNOUNCE = 3;
int KMSGSUBTYPEARKGROUPANNOUNCECONFIRMREQUIRED = 4;
int KMSGSUBTYPEARKGROUPGIFTATME = 5;
int KMSGSUBTYPEARKGROUPTASKATALL = 6;
int KMSGSUBTYPEARKMULTIMSG = 7;
int KMSGSUBTYPEARKNORMAL = 0;
int KMSGSUBTYPEARKTENCENTDOCFROMMINIAPP = 1;
int KMSGSUBTYPEARKTENCENTDOCFROMPLUSPANEL = 2;
int KMSGSUBTYPEEMOTICON = 15;
int KMSGSUBTYPEFILEAPP = 11;
int KMSGSUBTYPEFILEAUDIO = 3;
int KMSGSUBTYPEFILEDOC = 4;
int KMSGSUBTYPEFILEEXCEL = 6;
int KMSGSUBTYPEFILEFOLDER = 13;
int KMSGSUBTYPEFILEHTML = 10;
int KMSGSUBTYPEFILEIPA = 14;
int KMSGSUBTYPEFILENORMAL = 0;
int KMSGSUBTYPEFILEPDF = 7;
int KMSGSUBTYPEFILEPIC = 1;
int KMSGSUBTYPEFILEPPT = 5;
int KMSGSUBTYPEFILEPSD = 12;
int KMSGSUBTYPEFILETXT = 8;
int KMSGSUBTYPEFILEVIDEO = 2;
int KMSGSUBTYPEFILEZIP = 9;
int KMSGSUBTYPELINK = 5;
int KMSGSUBTYPEMARKETFACE = 1;
int KMSGSUBTYPEMIXEMOTICON = 7;
int KMSGSUBTYPEMIXFACE = 3;
int KMSGSUBTYPEMIXMARKETFACE = 2;
int KMSGSUBTYPEMIXPIC = 1;
int KMSGSUBTYPEMIXREPLY = 4;
int KMSGSUBTYPEMIXTEXT = 0;
int KMSGSUBTYPETENCENTDOC = 6;
int KMSGTYPEARKSTRUCT = 11;
int KMSGTYPEFACEBUBBLE = 24;
int KMSGTYPEFILE = 3;
int KMSGTYPEGIFT = 14;
int KMSGTYPEGIPHY = 13;
int KMSGTYPEGRAYTIPS = 5;
int KMSGTYPEMIX = 2;
int KMSGTYPEMULTIMSGFORWARD = 8;
int KMSGTYPENULL = 1;
int KMSGTYPEONLINEFILE = 21;
int KMSGTYPEONLINEFOLDER = 27;
int KMSGTYPEPROLOGUE = 29;
int KMSGTYPEPTT = 6;
int KMSGTYPEREPLY = 9;
int KMSGTYPESHARELOCATION = 25;
int KMSGTYPESTRUCT = 4;
int KMSGTYPESTRUCTLONGMSG = 12;
int KMSGTYPETEXTGIFT = 15;
int KMSGTYPEUNKNOWN = 0;
int KMSGTYPEVIDEO = 7;
int KMSGTYPEWALLET = 10;
int KNEEDCONFIRMGROUPMANNOUNCEATALLMSGTYPEINMSGBOX = 2005;
int KNOTPASSTHROUGHEVENTTYPEUPPERBOUNDARY = 9999;
int KPTTFORMATTYPEAMR = 0;
int KPTTFORMATTYPESILK = 1;
int KPTTTRANSLATESTATUSFAIL = 3;
int KPTTTRANSLATESTATUSSUC = 2;
int KPTTTRANSLATESTATUSTRANSLATING = 1;
int KPTTTRANSLATESTATUSUNKNOWN = 0;
int KPTTVIPLEVELTYPENONE = 0;
int KPTTVIPLEVELTYPEQQVIP = 0;
int KPTTVIPLEVELTYPESVIP = 0;
int KPTTVOICECHANGETYPEBEASTMACHINE = 7;
int KPTTVOICECHANGETYPEBOY = 2;
int KPTTVOICECHANGETYPECATCHCOLD = 13;
int KPTTVOICECHANGETYPEECHO = 5;
int KPTTVOICECHANGETYPEFATGUY = 16;
int KPTTVOICECHANGETYPEFLASHING = 9;
int KPTTVOICECHANGETYPEGIRL = 1;
int KPTTVOICECHANGETYPEHORRIBLE = 3;
int KPTTVOICECHANGETYPEKINDERGARTEN = 6;
int KPTTVOICECHANGETYPEMEDAROT = 15;
int KPTTVOICECHANGETYPENONE = 0;
int KPTTVOICECHANGETYPEOPTIMUSPRIME = 8;
int KPTTVOICECHANGETYPEOUTOFDATE = 14;
int KPTTVOICECHANGETYPEPAPI = 11;
int KPTTVOICECHANGETYPEQUICK = 4;
int KPTTVOICECHANGETYPESTUTTER = 10;
int KPTTVOICECHANGETYPETRAPPEDBEAST = 12;
int KPTTVOICETYPEINTERCOM = 1;
int KPTTVOICETYPESOUNDRECORD = 2;
int KPTTVOICETYPEUNKNOW = 0;
int KPTTVOICETYPEVOICECHANGE = 3;
int KPUBLICACCOUNTTIANSHUHIGHLIGHTWORDTYPEINMSGBOX = 1010;
int KREPLYABSELEMTYPEFACE = 2;
int KREPLYABSELEMTYPEPIC = 3;
int KREPLYABSELEMTYPETEXT = 1;
int KREPLYABSELEMTYPEUNKNOWN = 0;
int KREPLYATMEMSGTYPEINMSGBOX = 1002;
int KRMDOWNTYPEORIG = 1;
int KRMDOWNTYPETHUMB = 2;
int KRMDOWNTYPEUNKNOWN = 0;
int KRMFILETHUMBSIZE128 = 128;
int KRMFILETHUMBSIZE320 = 320;
int KRMFILETHUMBSIZE384 = 384;
int KRMFILETHUMBSIZE750 = 750;
int KRMPICAIOTHUMBSIZE = 0;
int KRMPICTHUMBSIZE198 = 198;
int KRMPICTHUMBSIZE720 = 720;
int KRMPICTYPEBMP = 3;
int KRMPICTYPECHECKOTHER = 900;
int KRMPICTYPEGIF = 2;
int KRMPICTYPEJPG = 0;
int KRMPICTYPENEWPICAPNG = 2001;
int KRMPICTYPENEWPICBMP = 1005;
int KRMPICTYPENEWPICGIF = 2000;
int KRMPICTYPENEWPICJPEG = 1000;
int KRMPICTYPENEWPICPNG = 1001;
int KRMPICTYPENEWPICPROGERSSIVJPEG = 1003;
int KRMPICTYPENEWPICSHARPP = 1004;
int KRMPICTYPENEWPICWEBP = 1002;
int KRMPICTYPEPNG = 1;
int KRMPICTYPEUNKOWN = 0;
int KRMTHUMBSIZEZERO = 0;
int KRMTRNASFERSTATUSDOWNLOADING = 3;
int KRMTRNASFERSTATUSFAIL = 5;
int KRMTRNASFERSTATUSINIT = 1;
int KRMTRNASFERSTATUSSUC = 4;
int KRMTRNASFERSTATUSUNKOW = 0;
int KRMTRNASFERSTATUSUPLOADING = 2;
int KRMTRNASFERSTATUSUSERCANCEL = 6;
int KSEEKINGPARTNERFLAGSEEKING = 1;
int KSEEKINGPARTNERFLAGUNKNOWN = 0;
int KSENDSTATUSFAILED = 0;
int KSENDSTATUSSENDING = 1;
int KSENDSTATUSSUCCESS = 2;
int KSENDSTATUSSUCCESSNOSEQ = 3;
int KSENDTYPEDROPPED = 6;
int KSENDTYPELOCAL = 3;
int KSENDTYPEOTHERDEVICE = 2;
int KSENDTYPERECV = 0;
int KSENDTYPESELF = 1;
int KSENDTYPESELFFORWARD = 4;
int KSENDTYPESELFMULTIFORWARD = 5;
int KSESSIONTYPEADDRESSBOOK = 5;
int KSESSIONTYPEC2C = 1;
int KSESSIONTYPEDISC = 3;
int KSESSIONTYPEFAV = 41;
int KSESSIONTYPEGROUP = 2;
int KSESSIONTYPEGROUPBLESS = 52;
int KSESSIONTYPEGUILD = 4;
int KSESSIONTYPEGUILDMETA = 16;
int KSESSIONTYPENEARBYPRO = 54;
int KSESSIONTYPEQQNOTIFY = 51;
int KSESSIONTYPERELATEACCOUNT = 50;
int KSESSIONTYPESERVICEASSISTANT = 19;
int KSESSIONTYPESUBSCRIBEFOLDER = 30;
int KSESSIONTYPETYPEBUDDYNOTIFY = 7;
int KSESSIONTYPETYPEGROUPHELPER = 9;
int KSESSIONTYPETYPEGROUPNOTIFY = 8;
int KSESSIONTYPEUNKNOWN = 0;
int KSESSIONTYPEWEIYUN = 40;
int KSPECIALCAREMSGTYPEINMSGBOX = 1006;
int KSPECIFIEDREDENVELOPEATMEMSGTYPEINMSGBOX = 1004;
int KSPECIFIEDREDENVELOPEATONEMSGTYPEINMSGBOX = 1003;
int KTENCENTDOCTYPEADDON = 110;
int KTENCENTDOCTYPEDOC = 0;
int KTENCENTDOCTYPEDRAWING = 89;
int KTENCENTDOCTYPEDRIVE = 101;
int KTENCENTDOCTYPEFILE = 100;
int KTENCENTDOCTYPEFLOWCHART = 91;
int KTENCENTDOCTYPEFOLDER = 3;
int KTENCENTDOCTYPEFORM = 2;
int KTENCENTDOCTYPEMIND = 90;
int KTENCENTDOCTYPENOTES = 5;
int KTENCENTDOCTYPEPDF = 6;
int KTENCENTDOCTYPEPROGRAM = 7;
int KTENCENTDOCTYPESHEET = 1;
int KTENCENTDOCTYPESLIDE = 4;
int KTENCENTDOCTYPESMARTCANVAS = 8;
int KTENCENTDOCTYPESMARTSHEET = 9;
int KTENCENTDOCTYPESPEECH = 102;
int KTENCENTDOCTYPEUNKNOWN = 10;
int KTOFURECORDMSG = 23;
int KTOPMSGTYPETASK = 1;
int KTOPMSGTYPEUNKNOWN = 0;
int KTRIGGERTYPEAUTO = 1;
int KTRIGGERTYPEMANUAL = 0;
int KUNKNOWN = 0;
int KUNKNOWNTYPEINMSGBOX = 0;
int KUNREADCNTUPTYPEALLDIRECTSESSION = 4;
int KUNREADCNTUPTYPEALLFEEDSINGUILD = 6;
int KUNREADCNTUPTYPEALLGUILD = 3;
int KUNREADCNTUPTYPECATEGORY = 5;
int KUNREADCNTUPTYPECHANNEL = 1;
int KUNREADCNTUPTYPECONTACT = 0;
int KUNREADCNTUPTYPEGUILD = 2;
int KUNREADCNTUPTYPEGUILDGROUP = 7;
int KUNREADSHOWTTYPEGRAYPOINT = 2;
int KUNREADSHOWTYPEREDPOINT = 1;
int KUNREADSHOWTYPESMALLGRAYPOINT = 4;
int KUNREADSHOWTYPESMALLREDPOINT = 3;
int KUNREADSHOWTYPEUNKNOWN = 0;
int KVASGIFTCOINTYPECOIN = 0;
int KVASGIFTCOINTYPEMARKETCOIN = 1;
int KYOLOGAMERESULTMSG = 18;
int PIC_800_RECOMMENDED = 7;
int PIC_AIGC_EMOJI = 14;
int PIC_ALBUM_GIF = 11;
int PIC_COMMERCIAL_ADVERTISING = 9;
int PIC_FIND = 10;
int PIC_HOT = 2;
int PIC_HOT_EMOJI = 13;
int PIC_NORMAL = 0;
int PIC_PK = 3;
int PIC_QQZONE = 5;
int PIC_SELFIE_GIF = 8;
int PIC_SEND_FROM_TAB_SEARCH_BOX = 12;
int PIC_USER = 1;
int PIC_WISDOM_FIGURE = 4;
int REPLYORIGINALMSGSTATEHASRECALL = 1;
int REPLYORIGINALMSGSTATEUNKNOWN = 0;
int SHARELOCATIONELEMSUBTYPENORMAL = 1;
int SHARELOCATIONELEMSUBTYPEUNKNOWN = 0;
int TEXTELEMENTSUBTYPELINK = 1;
int TEXTELEMENTSUBTYPETENCENTDOC = 2;
int TEXTELEMENTSUBTYPEUNKNOWN = 0;
```

View File

@@ -0,0 +1,24 @@
# 前排提示
由于Core未处于开源非组织人员无法参与Core开发此处为Core开发提示
# 准备工具
frida ida-pro jadx x64dbg ce 内部调试脚本
## ida-pro
1. 用于快速分析入参和返回类型
2. 通过静态QLog推测语义
3. 提取Listener与Service (常用)
## frida
1. 用于动态获取QLog推测语义
2. 捕捉Native函数 实际入参与数据 分析中间流程
## jadx
1. 通过其它平台实现 静态获取QLog推测语义
2. 提供部分未调用代码 参考
## x64dbg
1. 验证IDA的Hook点
## 内部脚本
1. 提取Listener与Service (不调用无类型 不推荐)
2. 获取NT调用流程

View File

@@ -2,7 +2,7 @@
"name": "napcat",
"private": true,
"type": "module",
"version": "1.4.3",
"version": "1.5.9",
"scripts": {
"watch:dev": "vite --mode development",
"watch:prod": "vite --mode production",
@@ -18,7 +18,13 @@
"depend": "cd dist && npm install --omit=dev"
},
"devDependencies": {
"@babel/core": "^7.24.7",
"@babel/preset-typescript": "^7.24.7",
"vite-plugin-babel": "^1.2.0",
"@babel/plugin-proposal-class-properties": "^7.18.6",
"@babel/plugin-proposal-decorators": "^7.24.7",
"@log4js-node/log4js-api": "^1.0.2",
"@protobuf-ts/plugin": "^2.9.4",
"@rollup/plugin-node-resolve": "^15.2.3",
"@rollup/plugin-typescript": "^11.1.6",
"@types/cors": "^2.8.17",
@@ -27,7 +33,7 @@
"@types/fluent-ffmpeg": "^2.1.24",
"@types/node": "^20.11.30",
"@types/qrcode-terminal": "^0.12.2",
"@types/uuid": "^9.0.8",
"@types/uuid": "^10.0.0",
"@types/ws": "^8.5.10",
"@typescript-eslint/eslint-plugin": "^7.4.0",
"@typescript-eslint/parser": "^7.4.0",
@@ -43,11 +49,11 @@
"vite": "^5.2.6",
"vite-plugin-cp": "^4.0.8",
"vite-plugin-dts": "^3.8.2",
"vite-tsconfig-paths": "^4.3.2",
"@protobuf-ts/plugin": "^2.9.4"
"vite-tsconfig-paths": "^4.3.2"
},
"dependencies": {
"ajv": "^8.13.0",
"chalk": "^5.3.0",
"commander": "^12.0.0",
"cors": "^2.8.5",
"express": "^5.0.0-beta.2",
@@ -60,7 +66,7 @@
"qrcode-terminal": "^0.12.0",
"silk-wasm": "^3.3.4",
"sqlite3": "^5.1.7",
"uuid": "^9.0.1",
"uuid": "^10.0.0",
"ws": "^8.16.0"
}
}

View File

@@ -1,5 +1,5 @@
import { sleep } from '@/common/utils/helper';
import { logError } from './log';
type AsyncQueueTask = (() => void) | (()=>Promise<void>);
@@ -26,7 +26,8 @@ export class AsyncQueue {
await taskRet;
}
} catch (e) {
console.error(e);
// console.error(e);
logError(e);
}
this.tasks.shift();
await sleep(100);

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<Awaited<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: 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!]);
}
};
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 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);
//console.log("测试打点", args);
retEvent = await EventFunc!(...(args as any[]));
});
}
}
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

@@ -1,4 +1,4 @@
import { logError, logDebug } from "@/common/utils/log";
import { logError, logDebug } from '@/common/utils/log';
type group_id = number;
type user_id = number;
@@ -44,7 +44,7 @@ class LRU<T> {
// 移除LRU节点
private removeLRUNode(node: cacheNode<T>) {
logDebug(
"removeLRUNode",
'removeLRUNode',
node.groupId,
node.userId,
node.value,

View File

@@ -0,0 +1,53 @@
import crypto from 'crypto';
class LimitedHashTable<K, V> {
private keyToValue: Map<K, V> = new Map();
private valueToKey: Map<V, K> = new Map();
private maxSize: number;
private KeyQueneList: K[] = [];
private ValueQueneList: V[] = [];
constructor(maxSize: number) {
this.maxSize = maxSize;
}
set(key: K, value: V): void {
this.keyToValue.set(key, value);
this.valueToKey.set(value, key);
if (this.KeyQueneList.length >= this.maxSize || this.ValueQueneList.length >= this.maxSize) {
this.KeyQueneList.shift();
this.ValueQueneList.shift();
}
}
getValue(key: K): V | undefined {
return this.keyToValue.get(key);
}
getKey(value: V): K | undefined {
return this.valueToKey.get(value);
}
delete(key: K): void {
const value = this.keyToValue.get(key);
if (value !== undefined) {
this.keyToValue.delete(key);
this.valueToKey.delete(value);
}
}
}
class MessageUniqueWrapper {
private msgIdMap: LimitedHashTable<number, string> = new LimitedHashTable(1000);
createMsg(MsgId: string) {
const ShortId = parseInt(crypto.createHash('sha1').update('2345').digest('hex').slice(0, 8), 16);
this.msgIdMap.set(ShortId, MsgId);
return ShortId;
}
getMsgIdByShortId(ShortId: number) {
return this.msgIdMap.getValue(ShortId);
}
getShortIdByMsgId(MsgId: string) {
return this.msgIdMap.getKey(MsgId);
}
}
export const MessageUnique = new MessageUniqueWrapper();

View File

@@ -0,0 +1,17 @@
// 方案一 MiniApp发包方案
// 前置条件: 处于GUI环境 存在MiniApp
import { NTQQSystemApi } from '@/core';
// 前排提示: 开发验证仅Win平台开展
export class MiniAppUtil {
static async RunMiniAppWithGUI() {
//process.env.ELECTRON_RUN_AS_NODE = undefined;//没用还是得自己用cpp之类的语言写个程序转发参数
return NTQQSystemApi.BootMiniApp(process.execPath, 'miniapp://open/1007?url=https%3A%2F%2Fm.q.qq.com%2Fa%2Fs%2Fedd0a83d3b8afe233dfa07adaaf8033f%3Fscene%3D1007%26min_refer%3D10001');
}
}
// 方案二 MiniApp发包方案 替代MiniApp方案
// 前置条件: 无
export class MojoMiniAppUtil{
}

View File

@@ -2,6 +2,7 @@ import path from 'node:path';
import fs from 'node:fs';
import os from 'node:os';
import { systemPlatform } from '@/common/utils/system';
import { logError } from '@/common/utils/log';
export const exePath = process.execPath;
@@ -37,11 +38,11 @@ type QQVersionConfigInfo = {
}
let _qqVersionConfigInfo: QQVersionConfigInfo = {
'baseVersion': '9.9.9-23361',
'curVersion': '9.9.9-23361',
'baseVersion': '9.9.11-24568',
'curVersion': '9.9.11-24568',
'prevVersion': '',
'onErrorVersions': [],
'buildId': '23361'
'buildId': '24568'
};
if (fs.existsSync(configVersionInfoPath)) {
@@ -49,12 +50,12 @@ if (fs.existsSync(configVersionInfoPath)) {
const _ =JSON.parse(fs.readFileSync(configVersionInfoPath).toString());
_qqVersionConfigInfo = Object.assign(_qqVersionConfigInfo, _);
} catch (e) {
console.error('Load QQ version config info failed, Use default version', e);
logError('Load QQ version config info failed, Use default version', e);
}
}
export const qqVersionConfigInfo: QQVersionConfigInfo = _qqVersionConfigInfo;
//V1_WIN_NQ_9.9.11_24568_GW_B
export const qqPkgInfo: QQPkgInfo = JSON.parse(fs.readFileSync(pkgInfoPath).toString());
// platform_type: 3,
// app_type: 4,
@@ -63,10 +64,15 @@ export const qqPkgInfo: QQPkgInfo = JSON.parse(fs.readFileSync(pkgInfoPath).toSt
// appid: '537213764',
// platVer: '10.0.26100',
// clientVer: '9.9.9-23159',
//Android
//V1_AND_SQ_9.0.60_6478_YYB_D
// Linux
// app_version: '3.2.9-24568',
// qua: 'V1_LNX_NQ_3.2.9_24568_GW_B',
let _appid: string = '537213803'; // 默认为 Windows 平台的 appid
let _appid: string = '537226369'; // 默认为 Windows 平台的 appid
if (systemPlatform === 'linux') {
_appid = '537213827';
_appid = '537226441';
}
// todo: mac 平台的 appid
export const appid = _appid;

View File

@@ -24,7 +24,7 @@ export async function encodeSilk(filePath: string) {
const fileHeader = buffer.toString('hex', 0, bytesToRead);
return fileHeader;
} catch (err) {
console.error('读取文件错误:', err);
logError('读取文件错误:', err);
return;
}
}

View File

@@ -4,7 +4,6 @@ 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) {

View File

@@ -3,7 +3,7 @@ import { ElementType, FileElement, PicElement, PttElement, RawMessage, VideoElem
import sqlite3 from 'sqlite3';
import { log, logDebug, logError } from '@/common/utils/log';
import { NTQQMsgApi } from '@/core';
import LRU from "@/common/utils/LRUCache";
import LRU from '@/common/utils/LRUCache';
export interface IRember {
last_sent_time: number;
@@ -111,7 +111,7 @@ class DBUtil extends DBUtilBase {
// 初始化群缓存列表
this.db!.serialize(() => {
const sql = `SELECT * FROM sqlite_master WHERE type='table'`;
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)));
@@ -123,22 +123,22 @@ class DBUtil extends DBUtilBase {
this.LURCache.on(async (node) => {
const { value: time, groupId, userId } = node;
logDebug("插入发言时间", userId, groupId);
logDebug('插入发言时间', userId, groupId);
await this.createGroupInfoTimeTableIfNotExist(groupId);
const method = await this.getDataSetMethod(groupId, userId);
logDebug("插入发言时间方法判断", userId, groupId, method);
logDebug('插入发言时间方法判断', userId, groupId, method);
const sql =
method == "update"
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);
return logError('插入/更新发言时间失败', userId, groupId);
}
logDebug("插入/更新发言时间成功", userId, groupId);
logDebug('插入/更新发言时间成功', userId, groupId);
});
});
@@ -146,28 +146,28 @@ class DBUtil extends DBUtilBase {
async getDataSetMethod(groupId: number, userId: number) {
// 缓存记录
if (this.LastSentCache.get(groupId, userId)) {
logDebug("缓存命中", userId, groupId);
return "update";
logDebug('缓存命中', userId, groupId);
return 'update';
}
// 数据库判断
return new Promise<"insert" | "update">((resolve, reject) => {
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);
logError('查询发言时间存在失败', userId, groupId, err);
return logError('插入发言时间失败', userId, groupId, err);
}
if (rows.length === 0) {
logDebug("查询发言时间不存在", userId, groupId);
return resolve("insert");
logDebug('查询发言时间不存在', userId, groupId);
return resolve('insert');
}
logDebug("查询发言时间存在", userId, groupId);
resolve("update");
logDebug('查询发言时间存在', userId, groupId);
resolve('update');
}
);
});
@@ -232,19 +232,6 @@ class DBUtil extends DBUtilBase {
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() {
@@ -415,64 +402,17 @@ class DBUtil extends DBUtilBase {
});
}
// 被动收到的临时会话消息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);
logDebug('读取发言时间', groupId);
return new Promise<IRember[]>((resolve, reject) => {
this.db!.all(`SELECT * FROM "${groupId}" `, (err, rows: IRember[]) => {
if (err) {
logError("查询发言时间失败", groupId);
logError('查询发言时间失败', groupId);
return resolve([]);
}
logDebug("查询发言时间成功", groupId, rows);
logDebug('查询发言时间成功', groupId, rows);
resolve(rows);
});
});
@@ -483,7 +423,7 @@ class DBUtil extends DBUtilBase {
userId: number,
time: number
) {
this.LURCache.set(groupId, userId, time)
this.LURCache.set(groupId, userId, time);
}
async insertJoinTime(
groupId: number,
@@ -498,7 +438,7 @@ class DBUtil extends DBUtilBase {
if (err)
logError(err),
Promise.reject(),
console.log("插入入群时间失败", userId, groupId);
logError('插入入群时间失败', userId, groupId);
}
);

View File

@@ -1,9 +1,9 @@
import fs from 'fs';
import fsPromise from 'fs/promises';
import fsPromise, { stat } from 'fs/promises';
import crypto from 'crypto';
import util from 'util';
import path from 'node:path';
import { log } from './log';
import { log, logError } from './log';
import { dbUtil } from '@/common/utils/db';
import * as fileType from 'file-type';
import { v4 as uuidv4 } from 'uuid';
@@ -50,7 +50,40 @@ export function checkFileReceived(path: string, timeout: number = 3000): Promise
check();
});
}
// 定义一个异步函数来检查文件是否存在
export async function checkFileReceived2(path: string, timeout: number = 3000): Promise<void> {
// 使用 Promise.race 来同时进行文件状态检查和超时计时
// Promise.race 会返回第一个解决resolve或拒绝reject的 Promise
await Promise.race([
checkFile(path),
timeoutPromise(timeout, `文件不存在: ${path}`),
]);
}
// 转换超时时间至 Promise
function timeoutPromise(timeout: number, errorMsg: string): Promise<void> {
return new Promise((_, reject) => {
setTimeout(() => {
reject(new Error(errorMsg));
}, timeout);
});
}
// 异步检查文件是否存在
async function checkFile(path: string): Promise<void> {
try {
await stat(path);
} catch (error: any) {
if (error.code === 'ENOENT') {
// 如果文件不存在,则抛出一个错误
throw new Error(`文件不存在: ${path}`);
} else {
// 对于 stat 调用的其他错误,重新抛出
throw error;
}
}
// 如果文件存在则无需做任何事情Promise 解决resolve自身
}
export async function file2base64(path: string) {
const readFile = util.promisify(fs.readFile);
const result = {
@@ -262,12 +295,12 @@ export async function copyFolder(sourcePath: string, destPath: string) {
try {
await fsPromise.copyFile(srcPath, dstPath);
} catch (error) {
console.error(`无法复制文件 '${srcPath}' 到 '${dstPath}': ${error}`);
logError(`无法复制文件 '${srcPath}' 到 '${dstPath}': ${error}`);
// 这里可以决定是否要继续复制其他文件
}
}
}
} catch (error) {
console.error('复制文件夹时出错:', error);
logError('复制文件夹时出错:', error);
}
}

View File

@@ -4,7 +4,7 @@ import fs from 'fs/promises';
import { log, logDebug } from './log';
import { dirname } from 'node:path';
import { fileURLToPath } from 'node:url';
import * as fsPromise from 'node:fs/promises';
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
@@ -43,8 +43,88 @@ export function truncateString(obj: any, maxLength = 500) {
}
return obj;
}
export function simpleDecorator(target: any, context: any) {
}
// export function CacheClassFunc(ttl: number = 3600 * 1000, customKey: string = '') {
// const cache = new Map<string, { expiry: number; value: any }>();
// return function CacheClassFuncDecorator(originalMethod: Function, context: ClassMethodDecoratorContext) {
// async function CacheClassFuncDecoratorInternal(this: any, ...args: any[]) {
// const key = `${customKey}${String(context.name)}.(${args.map(arg => JSON.stringify(arg)).join(', ')})`;
// const cachedValue = cache.get(key);
// if (cachedValue && cachedValue.expiry > Date.now()) {
// return cachedValue.value;
// }
// const result = originalMethod.call(this, ...args);
// cache.set(key, { expiry: Date.now() + ttl, value: result });
// return result;
// }
// return CacheClassFuncDecoratorInternal;
// }
// }
export function CacheClassFuncAsync(ttl: number = 3600 * 1000, customKey: string = '') {
//console.log('CacheClassFuncAsync', ttl, customKey);
function logExecutionTime(target: any, methodName: string, descriptor: PropertyDescriptor) {
//console.log('logExecutionTime', target, methodName, descriptor);
const cache = new Map<string, { expiry: number; value: any }>();
const originalMethod = descriptor.value;
descriptor.value = async function (...args: any[]) {
const key = `${customKey}${String(methodName)}.(${args.map(arg => JSON.stringify(arg)).join(', ')})`;
cache.forEach((value, key) => {
if (value.expiry < Date.now()) {
cache.delete(key);
}
});
const cachedValue = cache.get(key);
if (cachedValue && cachedValue.expiry > Date.now()) {
return cachedValue.value;
}
// const start = Date.now();
const result = await originalMethod.apply(this, args);
// const end = Date.now();
// console.log(`Method ${methodName} executed in ${end - start} ms.`);
cache.set(key, { expiry: Date.now() + ttl, value: result });
return result;
};
}
return logExecutionTime;
}
// export function CacheClassFuncAsync(ttl: number = 3600 * 1000, customKey: string = ''): any {
// const cache = new Map<string, { expiry: number; value: any }>();
// // 注意在JavaScript装饰器中我们通常不直接处理ClassMethodDecoratorContext这样的类型
// // 因为装饰器的参数通常是目标类(对于类装饰器)、属性名(对于属性装饰器)等。
// // 对于方法装饰器,我们关注的是方法本身及其描述符。
// // 但这里我们维持原逻辑,假设有一个自定义的处理上下文的方式。
// return function (originalMethod: Function): any {
// console.log(originalMethod);
// // 由于JavaScript装饰器原生不支持异步直接定义我们保持async定义以便处理异步方法。
// async function decoratorWrapper(this: any, ...args: any[]): Promise<any> {
// console.log(...args);
// const key = `${customKey}${originalMethod.name}.(${args.map(arg => JSON.stringify(arg)).join(', ')})`;
// const cachedValue = cache.get(key);
// // 遍历cache 清除expiry内容
// cache.forEach((value, key) => {
// if (value.expiry < Date.now()) {
// cache.delete(key);
// }
// });
// if (cachedValue && cachedValue.expiry > Date.now()) {
// return cachedValue.value;
// }
// // 直接await异步方法的结果
// const result = await originalMethod.apply(this, args);
// cache.set(key, { expiry: Date.now() + ttl, value: result });
// return result;
// }
// // 返回装饰后的方法保持与原方法相同的名称和描述符如果需要更精细的控制可以考虑使用Object.getOwnPropertyDescriptor等
// return decoratorWrapper;
// };
// }
/**
* 函数缓存装饰器根据方法名、参数、自定义key生成缓存键在一定时间内返回缓存结果
@@ -182,3 +262,25 @@ export function isEqual(obj1: any, obj2: any) {
}
return true;
}
export async function deleteOldFiles(directoryPath: string, daysThreshold: number) {
try {
const files = await fsPromise.readdir(directoryPath);
for (const file of files) {
const filePath = path.join(directoryPath, file);
const stats = await fsPromise.stat(filePath);
const lastModifiedTime = stats.mtimeMs;
const currentTime = Date.now();
const timeDifference = currentTime - lastModifiedTime;
const daysDifference = timeDifference / (1000 * 60 * 60 * 24);
if (daysDifference > daysThreshold) {
await fsPromise.unlink(filePath); // Delete the file
//console.log(`Deleted: ${filePath}`);
}
}
} catch (error) {
//console.error('Error deleting files:', error);
}
}

View File

@@ -4,7 +4,7 @@ import path from 'node:path';
import { SelfInfo } from '@/core';
import { dirname } from 'node:path';
import { fileURLToPath } from 'node:url';
import chalk from 'chalk';
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
@@ -39,17 +39,17 @@ const logConfig: Configuration = {
FileAppender: { // 输出到文件的appender
type: 'file',
filename: logPath, // 指定日志文件的位置和文件名
maxLoogSize: 10485760, // 日志文件的最大大小单位字节这里设置为10MB
maxLogSize: 10485760, // 日志文件的最大大小单位字节这里设置为10MB
layout: {
type: 'pattern',
pattern: '%d{yyyy-MM-dd hh:mm:ss} [%p] - %m'
pattern: '%d{yyyy-MM-dd hh:mm:ss} [%p] %X{userInfo} | %m'
}
},
ConsoleAppender: { // 输出到控制台的appender
type: 'console',
layout: {
type: 'pattern',
pattern: '%d{yyyy-MM-dd hh:mm:ss} [%p] - %m'
pattern: `%d{yyyy-MM-dd hh:mm:ss} [%[%p%]] ${chalk.magenta('%X{userInfo}')} | %m`
}
}
},
@@ -61,7 +61,9 @@ const logConfig: Configuration = {
};
log4js.configure(logConfig);
const loggerConsole = log4js.getLogger('console');
const loggerFile = log4js.getLogger('file');
const loggerDefault = log4js.getLogger('default');
export function setLogLevel(fileLogLevel: LogLevel, consoleLogLevel: LogLevel) {
logConfig.categories.file.level = fileLogLevel;
@@ -70,12 +72,12 @@ export function setLogLevel(fileLogLevel: LogLevel, consoleLogLevel: LogLevel) {
}
export function setLogSelfInfo(selfInfo: SelfInfo) {
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-expect-error
logConfig.appenders.FileAppender.layout.pattern = logConfig.appenders.ConsoleAppender.layout.pattern =
`%d{yyyy-MM-dd hh:mm:ss} [%p] ${selfInfo.nick}(${selfInfo.uin}) %m`;
log4js.configure(logConfig);
const userInfo = `${selfInfo.nick}(${selfInfo.uin})`;
loggerConsole.addContext('userInfo', userInfo);
loggerFile.addContext('userInfo', userInfo);
loggerDefault.addContext('userInfo', userInfo);
}
setLogSelfInfo({ nick: '', uin: '', uid: '' });
let fileLogEnabled = true;
let consoleLogEnabled = true;
@@ -97,15 +99,18 @@ function formatMsg(msg: any[]){
}
logMsg += msgItem + ' ';
}
return '\n' + logMsg + '\n';
return logMsg;
}
// eslint-disable-next-line no-control-regex
const colorEscape = /\x1B[@-_][0-?]*[ -/]*[@-~]/g;
function _log(level: LogLevel, ...args: any[]) {
if (consoleLogEnabled) {
log4js.getLogger('console')[level](formatMsg(args));
loggerConsole[level](formatMsg(args));
}
if (fileLogEnabled) {
log4js.getLogger('file')[level](formatMsg(args));
loggerFile[level](formatMsg(args).replace(colorEscape, ''));
}
}
@@ -121,3 +126,11 @@ export function logDebug(...args: any[]) {
export function logError(...args: any[]) {
_log(LogLevel.ERROR, ...args);
}
export function logWarn(...args: any[]) {
_log(LogLevel.WARN, ...args);
}
export function logFatal(...args: any[]) {
_log(LogLevel.FATAL, ...args);
}

View File

@@ -1,6 +1,9 @@
import https from 'node:https';
import http from 'node:http';
import fs, { readFileSync } from 'node:fs';
import { NTQQUserApi } from '@/core';
import path from 'node:path';
import { request } from 'node:http';
export class RequestUtil {
// 适用于获取服务器下发cookies时获取仅GET
static async HttpsGetCookies(url: string): Promise<{ [key: string]: string }> {
@@ -49,7 +52,7 @@ export class RequestUtil {
// 请求和回复都是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> {
static async HttpGetJson<T>(url: string, method: string = 'GET', data?: any, headers: { [key: string]: string } = {}, isJsonRet: boolean = true, isArgJson: boolean = true): Promise<T> {
const option = new URL(url);
const protocol = url.startsWith('https://') ? https : http;
const options = {
@@ -59,6 +62,10 @@ export class RequestUtil {
method: method,
headers: headers
};
// headers: {
// 'Content-Type': 'application/json',
// 'Content-Length': Buffer.byteLength(postData),
// },
return new Promise((resolve, reject) => {
const req = protocol.request(options, (res: any) => {
let responseBody = '';
@@ -100,7 +107,86 @@ export class RequestUtil {
}
// 请求返回都是原始内容
static async HttpGetText(url: string, method: string = 'GET', data?: any, headers: Record<string, string> = {}) {
static async HttpGetText(url: string, method: string = 'GET', data?: any, headers: { [key: string]: string } = {}) {
return this.HttpGetJson<string>(url, method, data, headers, false, false);
}
static async createFormData(boundary: string, filePath: string): Promise<Buffer> {
let type = 'image/png';
if (filePath.endsWith('.jpg')) {
type = 'image/jpeg';
}
const formDataParts = [
`------${boundary}\r\n`,
`Content-Disposition: form-data; name="share_image"; filename="${filePath}"\r\n`,
'Content-Type: ' + type + '\r\n\r\n'
];
const fileContent = readFileSync(filePath);
const footer = `\r\n------${boundary}--`;
return Buffer.concat([
Buffer.from(formDataParts.join(''), 'utf8'),
fileContent,
Buffer.from(footer, 'utf8')
]);
}
static async uploadImageForOpenPlatform(filePath: string): Promise<string> {
return new Promise(async (resolve, reject) => {
type retType = { retcode: number, result?: { url: string } };
try {
const cookies = Object.entries(await NTQQUserApi.getCookies('connect.qq.com')).map(([key, value]) => `${key}=${value}`).join('; ');
const options = {
hostname: 'cgi.connect.qq.com',
port: 443,
path: '/qqconnectopen/upload_share_image',
method: 'POST',
headers: {
'Referer': 'https://cgi.connect.qq.com',
'Cookie': cookies,
'Accept': '*/*',
'Connection': 'keep-alive',
'Content-Type': 'multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW'
}
};
const req = https.request(options, async (res) => {
let responseBody = '';
res.on('data', (chunk: string | Buffer) => {
responseBody += chunk.toString();
});
res.on('end', () => {
try {
if (res.statusCode && res.statusCode >= 200 && res.statusCode < 300) {
const responseJson = JSON.parse(responseBody) as retType;
resolve(responseJson.result!.url!);
} else {
reject(new Error(`Unexpected status code: ${res.statusCode}`));
}
} catch (parseError) {
reject(parseError);
}
});
});
req.on('error', (error) => {
console.error('Error during upload:', error);
});
const body = await RequestUtil.createFormData('WebKitFormBoundary7MA4YWxkTrZu0gW', filePath);
// req.setHeader('Content-Length', Buffer.byteLength(body));
// console.log(`Prepared data size: ${Buffer.byteLength(body)} bytes`);
req.write(body);
req.end();
return;
} catch (error) {
reject(error);
}
return undefined;
});
}
}

View File

@@ -1,17 +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 = osName;
const homeDir = os.homedir();
export const downloadsPath = path.join(homeDir, 'Downloads');
export const systemName = os.type();

View File

@@ -14,7 +14,7 @@ export async function checkVersion(): Promise<string> {
try {
version = (await RequestUtil.HttpGetJson<{ version: string }>(url)).version;
} catch (e) {
logDebug("检测更新异常",e);
logDebug('检测更新异常',e);
}
if (version) {
resolve(version);

View File

@@ -24,7 +24,7 @@ export async function getVideoInfo(filePath: string) {
} else {
const videoStream = metadata.streams.find((s: { codec_type: string; }) => s.codec_type === 'video');
if (videoStream) {
console.log(`视频尺寸: ${videoStream.width}x${videoStream.height}`);
log(`视频尺寸: ${videoStream.width}x${videoStream.height}`);
} else {
return reject('未找到视频流信息。');
}

View File

@@ -1 +1 @@
function _0x25a6(){var _0xdd7643=['171480fTSZGd','13mTAWhM','212UxsLaG','218104NjVwMP','176PerDSv','6gTIyto','999355ASHHIg','4114uTcLFG','getGroupCode','188488EaPnYY','11621736UKRGew','35SooqVm','onMSFSsoError','157848LdBgRG','45VADGBR'];_0x25a6=function(){return _0xdd7643;};return _0x25a6();}var _0x4edd10=_0x5825;function _0x5825(_0x3ca2ee,_0x2ea4bb){var _0x25a61d=_0x25a6();return _0x5825=function(_0x58250a,_0x450460){_0x58250a=_0x58250a-0x18b;var _0x304a6d=_0x25a61d[_0x58250a];return _0x304a6d;},_0x5825(_0x3ca2ee,_0x2ea4bb);}(function(_0x34a7e7,_0x28e4cb){var _0x5cd101=_0x5825,_0xfe3b98=_0x34a7e7();while(!![]){try{var _0x48368d=-parseInt(_0x5cd101(0x18f))/0x1*(parseInt(_0x5cd101(0x199))/0x2)+parseInt(_0x5cd101(0x18d))/0x3*(-parseInt(_0x5cd101(0x191))/0x4)+-parseInt(_0x5cd101(0x18e))/0x5+-parseInt(_0x5cd101(0x195))/0x6*(parseInt(_0x5cd101(0x193))/0x7)+-parseInt(_0x5cd101(0x18b))/0x8*(parseInt(_0x5cd101(0x196))/0x9)+parseInt(_0x5cd101(0x197))/0xa*(parseInt(_0x5cd101(0x18c))/0xb)+-parseInt(_0x5cd101(0x192))/0xc*(-parseInt(_0x5cd101(0x198))/0xd);if(_0x48368d===_0x28e4cb)break;else _0xfe3b98['push'](_0xfe3b98['shift']());}catch(_0x2b3d8b){_0xfe3b98['push'](_0xfe3b98['shift']());}}}(_0x25a6,0x3bc38));export class DependsAdapter{['onMSFStatusChange'](_0x3c4517,_0x2bacbb){}[_0x4edd10(0x194)](_0x185a15){}[_0x4edd10(0x190)](_0x16e148){}}
function _0x3af3(_0x356d40,_0x2a20fb){var _0x101a99=_0x101a();return _0x3af3=function(_0x3af393,_0x53d8da){_0x3af393=_0x3af393-0x64;var _0x1a7781=_0x101a99[_0x3af393];return _0x1a7781;},_0x3af3(_0x356d40,_0x2a20fb);}var _0x37baa3=_0x3af3;(function(_0x3d6d4c,_0x1c9364){var _0x3270f1=_0x3af3,_0x5d4667=_0x3d6d4c();while(!![]){try{var _0x6921cf=parseInt(_0x3270f1(0x68))/0x1+-parseInt(_0x3270f1(0x6b))/0x2+parseInt(_0x3270f1(0x6f))/0x3+-parseInt(_0x3270f1(0x6e))/0x4*(parseInt(_0x3270f1(0x67))/0x5)+-parseInt(_0x3270f1(0x6a))/0x6*(parseInt(_0x3270f1(0x64))/0x7)+-parseInt(_0x3270f1(0x66))/0x8*(parseInt(_0x3270f1(0x65))/0x9)+parseInt(_0x3270f1(0x6d))/0xa;if(_0x6921cf===_0x1c9364)break;else _0x5d4667['push'](_0x5d4667['shift']());}catch(_0xc0a47b){_0x5d4667['push'](_0x5d4667['shift']());}}}(_0x101a,0xe1bfe));export class DependsAdapter{[_0x37baa3(0x69)](_0x1e1f6e,_0x459b96){}[_0x37baa3(0x6c)](_0x1f7874){}[_0x37baa3(0x70)](_0x52d383){}}function _0x101a(){var _0xa96996=['42367970pybWcp','5588848WWCYNI','1222647CgLZgG','getGroupCode','7658BHknpG','4631319UaMPvI','24IHKGAL','5juNrBF','406432qNpTWf','onMSFStatusChange','54fzBnPw','2350554PxwUSd','onMSFSsoError'];_0x101a=function(){return _0xa96996;};return _0x101a();}

View File

@@ -1 +1 @@
function _0x5ae8(_0x5671e6,_0x1b7701){var _0x5d8967=_0x5d89();return _0x5ae8=function(_0x5ae8cf,_0x13afaf){_0x5ae8cf=_0x5ae8cf-0xf6;var _0x3b9185=_0x5d8967[_0x5ae8cf];return _0x3b9185;},_0x5ae8(_0x5671e6,_0x1b7701);}var _0x5676ef=_0x5ae8;function _0x5d89(){var _0x4251a7=['2390jmWPaL','75892IwWhIs','9IyWOXX','2212231YLtLBE','1434865bwkTfO','5592464yunGFX','16935220QmZfLP','dispatchCallWithJson','6cmAJYT','dispatchCall','75507iVSdbn','41BKOKcG'];_0x5d89=function(){return _0x4251a7;};return _0x5d89();}(function(_0x14c371,_0x3171b4){var _0x45f357=_0x5ae8,_0x1dbbc3=_0x14c371();while(!![]){try{var _0x24695c=parseInt(_0x45f357(0xf7))/0x1*(-parseInt(_0x45f357(0xf8))/0x2)+parseInt(_0x45f357(0xf6))/0x3+parseInt(_0x45f357(0xf9))/0x4+-parseInt(_0x45f357(0xfc))/0x5+parseInt(_0x45f357(0x100))/0x6*(-parseInt(_0x45f357(0xfb))/0x7)+-parseInt(_0x45f357(0xfd))/0x8+parseInt(_0x45f357(0xfa))/0x9*(parseInt(_0x45f357(0xfe))/0xa);if(_0x24695c===_0x3171b4)break;else _0x1dbbc3['push'](_0x1dbbc3['shift']());}catch(_0x36c716){_0x1dbbc3['push'](_0x1dbbc3['shift']());}}}(_0x5d89,0x5e62d));export class DispatcherAdapter{['dispatchRequest'](_0x5ed5e9){}[_0x5676ef(0x101)](_0xf81cc4){}[_0x5676ef(0xff)](_0x5e48a7){}}
var _0x1a2d1a=_0x34fa;(function(_0x1a1675,_0x286fde){var _0x8a52bc=_0x34fa,_0x5eddf7=_0x1a1675();while(!![]){try{var _0x18454f=parseInt(_0x8a52bc(0x72))/0x1+-parseInt(_0x8a52bc(0x6b))/0x2*(-parseInt(_0x8a52bc(0x74))/0x3)+parseInt(_0x8a52bc(0x6e))/0x4*(-parseInt(_0x8a52bc(0x6f))/0x5)+parseInt(_0x8a52bc(0x76))/0x6*(parseInt(_0x8a52bc(0x78))/0x7)+parseInt(_0x8a52bc(0x6c))/0x8+-parseInt(_0x8a52bc(0x77))/0x9*(parseInt(_0x8a52bc(0x6d))/0xa)+-parseInt(_0x8a52bc(0x79))/0xb*(-parseInt(_0x8a52bc(0x73))/0xc);if(_0x18454f===_0x286fde)break;else _0x5eddf7['push'](_0x5eddf7['shift']());}catch(_0x39129d){_0x5eddf7['push'](_0x5eddf7['shift']());}}}(_0x5423,0x8d2fe));function _0x34fa(_0x11e3c6,_0x18a7d3){var _0x5423ce=_0x5423();return _0x34fa=function(_0x34fa44,_0x1c1e83){_0x34fa44=_0x34fa44-0x6b;var _0x529ce9=_0x5423ce[_0x34fa44];return _0x529ce9;},_0x34fa(_0x11e3c6,_0x18a7d3);}function _0x5423(){var _0x4f219a=['534RXDMqF','1512891LnLYPL','70672RErDOC','4908838tnrFuS','2WKotYM','4074456lRLzFT','50xLhqVM','10548OlSYSu','2105dnCecF','dispatchRequest','dispatchCall','100450BrGFPc','24rEVuId','384471eTeeAT','dispatchCallWithJson'];_0x5423=function(){return _0x4f219a;};return _0x5423();}export class DispatcherAdapter{[_0x1a2d1a(0x70)](_0x2b7d81){}[_0x1a2d1a(0x71)](_0x25661b){}[_0x1a2d1a(0x75)](_0x3209fd){}}

View File

@@ -1 +1 @@
var _0x5969b5=_0x648f;(function(_0x2e5b6b,_0x537384){var _0x392e47=_0x648f,_0x222f7f=_0x2e5b6b();while(!![]){try{var _0x3393d4=-parseInt(_0x392e47(0x1f6))/0x1*(-parseInt(_0x392e47(0x1fc))/0x2)+-parseInt(_0x392e47(0x1fa))/0x3+parseInt(_0x392e47(0x1f0))/0x4*(parseInt(_0x392e47(0x1f9))/0x5)+-parseInt(_0x392e47(0x1f5))/0x6+parseInt(_0x392e47(0x1f7))/0x7*(-parseInt(_0x392e47(0x1ef))/0x8)+-parseInt(_0x392e47(0x1fb))/0x9+-parseInt(_0x392e47(0x1fd))/0xa*(-parseInt(_0x392e47(0x1f4))/0xb);if(_0x3393d4===_0x537384)break;else _0x222f7f['push'](_0x222f7f['shift']());}catch(_0x188d3d){_0x222f7f['push'](_0x222f7f['shift']());}}}(_0x200b,0x5183c));function _0x648f(_0x459708,_0x5021fc){var _0x200be7=_0x200b();return _0x648f=function(_0x648fc5,_0x5ad5e9){_0x648fc5=_0x648fc5-0x1ef;var _0x5f58ef=_0x200be7[_0x648fc5];return _0x5f58ef;},_0x648f(_0x459708,_0x5021fc);}function _0x200b(){var _0x27af87=['2110yJeksz','1962246oZlEUS','4789350GBUiol','36fzDwZn','243730JXrBXC','onGetSrvCalTime','48936GVHAAb','5540KcCnpw','fixPicImgType','onUpdateGeneralFlag','onLog','407fYllKo','1345488GZlWjQ','21475xNAgeJ','147viHBLw','onInstallFinished'];_0x200b=function(){return _0x27af87;};return _0x200b();}export class GlobalAdapter{[_0x5969b5(0x1f3)](..._0x4cd67a){}[_0x5969b5(0x1fe)](..._0x53d3e9){}['onShowErrUITips'](..._0x10e098){}[_0x5969b5(0x1f1)](..._0x83880a){}['getAppSetting'](..._0x19369d){}[_0x5969b5(0x1f8)](..._0x5918ba){}[_0x5969b5(0x1f2)](..._0x334fda){}['onGetOfflineMsg'](..._0xf51674){}}
var _0x3c354d=_0x3b46;(function(_0xf8f98c,_0x45495c){var _0x5f2988=_0x3b46,_0x2c4e82=_0xf8f98c();while(!![]){try{var _0x1801ba=parseInt(_0x5f2988(0xae))/0x1*(-parseInt(_0x5f2988(0xb8))/0x2)+parseInt(_0x5f2988(0xb7))/0x3+-parseInt(_0x5f2988(0xb5))/0x4*(parseInt(_0x5f2988(0xad))/0x5)+parseInt(_0x5f2988(0xb1))/0x6*(parseInt(_0x5f2988(0xa8))/0x7)+parseInt(_0x5f2988(0xa9))/0x8*(-parseInt(_0x5f2988(0xb9))/0x9)+-parseInt(_0x5f2988(0xac))/0xa*(parseInt(_0x5f2988(0xaa))/0xb)+-parseInt(_0x5f2988(0xb4))/0xc*(-parseInt(_0x5f2988(0xaf))/0xd);if(_0x1801ba===_0x45495c)break;else _0x2c4e82['push'](_0x2c4e82['shift']());}catch(_0x4dbbd6){_0x2c4e82['push'](_0x2c4e82['shift']());}}}(_0x474f,0x69172));function _0x474f(){var _0x3ee35d=['34978177AIDyES','onLog','192060noCQbU','onUpdateGeneralFlag','onShowErrUITips','12vbnUnK','668OiwwSf','getAppSetting','1233990kfBaaw','974zIRzTn','6014043WVSUxt','56PxbZlm','8vOxLof','258962qYXpMY','onInstallFinished','340kZgviQ','25615umUBvX','1239nBzLHw'];_0x474f=function(){return _0x3ee35d;};return _0x474f();}function _0x3b46(_0x282052,_0x1a1016){var _0x474f1f=_0x474f();return _0x3b46=function(_0x3b46fc,_0x1b9e81){_0x3b46fc=_0x3b46fc-0xa8;var _0x54f1ce=_0x474f1f[_0x3b46fc];return _0x54f1ce;},_0x3b46(_0x282052,_0x1a1016);}export class GlobalAdapter{[_0x3c354d(0xb0)](..._0x3b6849){}['onGetSrvCalTime'](..._0x563485){}[_0x3c354d(0xb3)](..._0x585ec0){}['fixPicImgType'](..._0x3668d1){}[_0x3c354d(0xb6)](..._0x488201){}[_0x3c354d(0xab)](..._0x38eda3){}[_0x3c354d(0xb2)](..._0x3654f6){}['onGetOfflineMsg'](..._0x175446){}}

View File

@@ -1 +1 @@
function _0x4c96(){var _0x564383=['480hqnzId','27790IeIBqZ','30AZvOeB','60354qNVEll','413611LzSUdm','1508454vPtBkh','3iXDfng','4059hpIePC','26148sfNiWG','1096uRvExm','1329638RwNvBG','26444aSdHqz'];_0x4c96=function(){return _0x564383;};return _0x4c96();}(function(_0x3ea820,_0x55d7cd){var _0x37b964=_0x296f,_0x2c7e67=_0x3ea820();while(!![]){try{var _0x1913b0=-parseInt(_0x37b964(0x182))/0x1+parseInt(_0x37b964(0x17c))/0x2*(parseInt(_0x37b964(0x184))/0x3)+parseInt(_0x37b964(0x17d))/0x4*(-parseInt(_0x37b964(0x17e))/0x5)+-parseInt(_0x37b964(0x181))/0x6+parseInt(_0x37b964(0x17f))/0x7*(-parseInt(_0x37b964(0x17b))/0x8)+-parseInt(_0x37b964(0x183))/0x9*(-parseInt(_0x37b964(0x180))/0xa)+-parseInt(_0x37b964(0x185))/0xb*(-parseInt(_0x37b964(0x17a))/0xc);if(_0x1913b0===_0x55d7cd)break;else _0x2c7e67['push'](_0x2c7e67['shift']());}catch(_0x37256a){_0x2c7e67['push'](_0x2c7e67['shift']());}}}(_0x4c96,0x5a340));export*from'./NodeIDependsAdapter';export*from'./NodeIDispatcherAdapter';function _0x296f(_0x210b60,_0x58f4fc){var _0x4c967e=_0x4c96();return _0x296f=function(_0x296f8e,_0x5e96bb){_0x296f8e=_0x296f8e-0x17a;var _0x466ae3=_0x4c967e[_0x296f8e];return _0x466ae3;},_0x296f(_0x210b60,_0x58f4fc);}export*from'./NodeIGlobalAdapter';
(function(_0x1e93c0,_0x5a6695){var _0x2a6062=_0x153d,_0xdcabef=_0x1e93c0();while(!![]){try{var _0x3be4aa=parseInt(_0x2a6062(0x134))/0x1*(-parseInt(_0x2a6062(0x133))/0x2)+parseInt(_0x2a6062(0x135))/0x3*(-parseInt(_0x2a6062(0x13b))/0x4)+-parseInt(_0x2a6062(0x13a))/0x5+parseInt(_0x2a6062(0x138))/0x6*(parseInt(_0x2a6062(0x136))/0x7)+parseInt(_0x2a6062(0x137))/0x8+parseInt(_0x2a6062(0x132))/0x9+parseInt(_0x2a6062(0x139))/0xa;if(_0x3be4aa===_0x5a6695)break;else _0xdcabef['push'](_0xdcabef['shift']());}catch(_0x5e4725){_0xdcabef['push'](_0xdcabef['shift']());}}}(_0x26c1,0x9fe93));export*from'./NodeIDependsAdapter';export*from'./NodeIDispatcherAdapter';function _0x26c1(){var _0x5ab3ab=['1045125RogMJB','4HtttjG','7126110XrNMQk','19792pkfHra','6UjmuQF','3470811spDoPb','100821kYZGkB','2481152tdUThE','42ZCdkWb','8775780ThKppr'];_0x26c1=function(){return _0x5ab3ab;};return _0x26c1();}function _0x153d(_0x40bd82,_0x4e0626){var _0x26c110=_0x26c1();return _0x153d=function(_0x153dc9,_0x1f8255){_0x153dc9=_0x153dc9-0x132;var _0x42dfdf=_0x26c110[_0x153dc9];return _0x42dfdf;},_0x153d(_0x40bd82,_0x4e0626);}export*from'./NodeIGlobalAdapter';

41
src/core.lib/src/apis/collection.d.ts vendored Normal file
View File

@@ -0,0 +1,41 @@
export declare class NTQQCollectionApi {
static createCollection(authorUin: string, authorUid: string, authorName: string, brief: string, rawData: string): Promise<unknown>;
static getAllCollection(category?: number, count?: number): Promise<import("..").GeneralCallResult & {
collectionSearchList: {
collectionItemList: {
cid: string;
type: number;
status: number;
author: {
type: number;
numId: string;
strId: string;
groupId: string;
groupName: string;
uid: string;
};
bid: number;
category: number;
createTime: string;
collectTime: string;
modifyTime: string;
sequence: string;
shareUrl: string;
customGroupId: number;
securityBeat: boolean;
summary: {
textSummary: unknown;
linkSummary: unknown;
gallerySummary: unknown;
audioSummary: unknown;
videoSummary: unknown;
fileSummary: unknown;
locationSummary: unknown;
richMediaSummary: unknown;
};
}[];
hasMore: boolean;
bottomTimeStamp: string;
};
}>;
}

View File

@@ -0,0 +1 @@
const _0x2a256f=_0x7eb6;(function(_0x4493fb,_0x2ee991){const _0x37ecc8=_0x7eb6,_0x3dd8ba=_0x4493fb();while(!![]){try{const _0xc11bad=parseInt(_0x37ecc8(0x15a))/0x1+parseInt(_0x37ecc8(0x167))/0x2+parseInt(_0x37ecc8(0x15d))/0x3*(-parseInt(_0x37ecc8(0x168))/0x4)+-parseInt(_0x37ecc8(0x163))/0x5*(parseInt(_0x37ecc8(0x15e))/0x6)+parseInt(_0x37ecc8(0x16b))/0x7+-parseInt(_0x37ecc8(0x164))/0x8*(parseInt(_0x37ecc8(0x169))/0x9)+-parseInt(_0x37ecc8(0x15b))/0xa*(parseInt(_0x37ecc8(0x160))/0xb);if(_0xc11bad===_0x2ee991)break;else _0x3dd8ba['push'](_0x3dd8ba['shift']());}catch(_0x29c5db){_0x3dd8ba['push'](_0x3dd8ba['shift']());}}}(_0x2939,0x688c8));import{napCatCore}from'..';export class NTQQCollectionApi{static async[_0x2a256f(0x162)](_0x24e2dd,_0x5a812d,_0x36ec48,_0x1f96c5,_0x43ae5e){const _0x4722c1=_0x2a256f;let _0x1af445={'commInfo':{'bid':0x1,'category':0x2,'author':{'type':0x1,'numId':_0x24e2dd,'strId':_0x36ec48,'groupId':'0','groupName':'','uid':_0x5a812d},'customGroupId':'0','createTime':Date['now']()[_0x4722c1(0x165)](),'sequence':Date[_0x4722c1(0x161)]()[_0x4722c1(0x165)]()},'richMediaSummary':{'originalUri':'','publisher':'','richMediaVersion':0x0,'subTitle':'','title':'','brief':_0x1f96c5,'picList':[],'contentType':0x1},'richMediaContent':{'rawData':_0x43ae5e,'bizDataList':[],'picList':[],'fileList':[]},'need_share_url':![]};return napCatCore[_0x4722c1(0x16a)][_0x4722c1(0x16c)]()[_0x4722c1(0x15f)](_0x1af445);}static async[_0x2a256f(0x166)](_0x71a742=0x0,_0x33b489=0x32){const _0xee929=_0x2a256f;let _0x48cb33={'category':_0x71a742,'groupId':-0x1,'forceSync':!![],'forceFromDb':![],'timeStamp':'0','count':_0x33b489,'searchDown':!![]};return napCatCore[_0xee929(0x16a)][_0xee929(0x16c)]()[_0xee929(0x15c)](_0x48cb33);}}function _0x7eb6(_0x31436a,_0x3db8f3){const _0x29394d=_0x2939();return _0x7eb6=function(_0x7eb6ec,_0x1f82ac){_0x7eb6ec=_0x7eb6ec-0x15a;let _0x1ac45f=_0x29394d[_0x7eb6ec];return _0x1ac45f;},_0x7eb6(_0x31436a,_0x3db8f3);}function _0x2939(){const _0x45b02f=['session','5171593boFMAV','getCollectionService','576409KTadoA','250dEpJMF','getCollectionItemList','449817nQzMkW','6WaquQm','createNewCollectionItem','101167uOkBSF','now','createCollection','4067885AjgkPQ','16vFkWTs','toString','getAllCollection','1014584BZLvBR','8BlMKhh','228996atcIhL'];_0x2939=function(){return _0x45b02f;};return _0x2939();}

View File

@@ -1,4 +1,4 @@
import { CacheFileListItem, CacheFileType, ChatCacheListItemBasic, ChatType, ElementType } from '@/core/entities';
import { CacheFileListItem, CacheFileType, ChatCacheListItemBasic, ChatType, ElementType, RawMessage } from '@/core/entities';
import { GeneralCallResult } from '@/core';
import * as fileType from 'file-type';
import { ISizeCalculationResult } from 'image-size/dist/types/interface';
@@ -6,6 +6,7 @@ export declare class NTQQFileApi {
static getFileType(filePath: string): Promise<fileType.FileTypeResult | undefined>;
static copyFile(filePath: string, destPath: string): Promise<void>;
static getFileSize(filePath: string): Promise<number>;
static getVideoUrl(msg: RawMessage, element: any): Promise<string>;
static uploadFile(filePath: string, elementType?: ElementType, elementSubType?: number): Promise<{
md5: string;
fileName: string;

File diff suppressed because one or more lines are too long

View File

@@ -1,5 +1,7 @@
import { FriendRequest, User } from '@/core/entities';
import { BuddyCategoryType, User } from '@/core/entities';
export declare class NTQQFriendApi {
static isBuddy(uid: string): Promise<boolean>;
static getFriends(forced?: boolean): Promise<User[]>;
static handleFriendRequest(request: FriendRequest, accept: boolean): Promise<void>;
static getFriendsRaw(forced?: boolean): Promise<BuddyCategoryType[]>;
static handleFriendRequest(flag: string, accept: boolean): Promise<void>;
}

View File

@@ -1 +1 @@
const _0x50b69a=_0xb7af;(function(_0x49561b,_0x466f91){const _0x2024d3=_0xb7af,_0x1b6a68=_0x49561b();while(!![]){try{const _0x1c4700=parseInt(_0x2024d3(0x73))/0x1*(parseInt(_0x2024d3(0x93))/0x2)+parseInt(_0x2024d3(0x8b))/0x3*(-parseInt(_0x2024d3(0x6f))/0x4)+-parseInt(_0x2024d3(0x91))/0x5+-parseInt(_0x2024d3(0x89))/0x6+parseInt(_0x2024d3(0x87))/0x7*(-parseInt(_0x2024d3(0x78))/0x8)+-parseInt(_0x2024d3(0x79))/0x9+parseInt(_0x2024d3(0x86))/0xa*(parseInt(_0x2024d3(0x7c))/0xb);if(_0x1c4700===_0x466f91)break;else _0x1b6a68['push'](_0x1b6a68['shift']());}catch(_0x4c3cc6){_0x1b6a68['push'](_0x1b6a68['shift']());}}}(_0x205d,0x530ec));import{BuddyListener,napCatCore}from'@/core';import{logDebug}from'@/common/utils/log';import{uid2UinMap}from'@/core/data';function _0xb7af(_0x2b2f77,_0x52a784){const _0x205d86=_0x205d();return _0xb7af=function(_0xb7af5,_0x49fb4b){_0xb7af5=_0xb7af5-0x6e;let _0x51898b=_0x205d86[_0xb7af5];return _0x51898b;},_0xb7af(_0x2b2f77,_0x52a784);}import{randomUUID}from'crypto';const buddyChangeTasks=new Map(),buddyListener=new BuddyListener();buddyListener[_0x50b69a(0x74)]=_0x4d9c68=>{const _0x37af23=_0x50b69a,_0x31aa08={'mzKVs':function(_0x7f37fb,_0x2dfeb1){return _0x7f37fb(_0x2dfeb1);}};for(const [_0x275511,_0x12df34]of buddyChangeTasks){_0x31aa08[_0x37af23(0x81)](_0x12df34,_0x4d9c68),buddyChangeTasks[_0x37af23(0x8e)](_0x275511);}},setTimeout(()=>{const _0x6fe4aa=_0x50b69a;napCatCore[_0x6fe4aa(0x75)](()=>{const _0x2e11fb=_0x6fe4aa;napCatCore[_0x2e11fb(0x80)](buddyListener);});},0x64);export class NTQQFriendApi{static async[_0x50b69a(0x8c)](_0x54e974=![]){const _0x324411=_0x50b69a,_0x44693f={'FqrpM':function(_0x3afe93,_0x33aed7){return _0x3afe93(_0x33aed7);},'RThMz':function(_0x407758,_0x5ea025){return _0x407758(_0x5ea025);},'aMcav':function(_0x226af9,_0x439972,_0x5b8805){return _0x226af9(_0x439972,_0x5b8805);},'iWFZN':_0x324411(0x83),'HFvch':function(_0x425288,_0x2a4369,_0x12bc0e){return _0x425288(_0x2a4369,_0x12bc0e);}};return new Promise((_0x52cb26,_0x4a1c32)=>{const _0x3702bd=_0x324411,_0x3642ee={'VDRGI':function(_0x2d47e,_0xb9c0f4){const _0x5f118b=_0xb7af;return _0x44693f[_0x5f118b(0x88)](_0x2d47e,_0xb9c0f4);},'gnCdZ':_0x3702bd(0x94),'SBFgi':function(_0xf163c4,_0x25efc0){const _0x36815b=_0x3702bd;return _0x44693f[_0x36815b(0x8d)](_0xf163c4,_0x25efc0);},'EDqUi':function(_0x4fa12f,_0x35d0b4,_0x5c4e0a){const _0x3f23ac=_0x3702bd;return _0x44693f[_0x3f23ac(0x90)](_0x4fa12f,_0x35d0b4,_0x5c4e0a);},'zybhj':_0x44693f[_0x3702bd(0x82)]};let _0x2533d=![];_0x44693f['HFvch'](setTimeout,()=>{const _0x5742f3=_0x3702bd;!_0x2533d&&(_0x3642ee[_0x5742f3(0x76)](logDebug,_0x3642ee[_0x5742f3(0x6e)]),_0x4a1c32(_0x3642ee[_0x5742f3(0x6e)]));},0x1388);const _0x24a570=[],_0x3ec3e3=_0x5110b6=>{const _0x59c78c=_0x3702bd;for(const _0x2aa28e of _0x5110b6){for(const _0xec2c89 of _0x2aa28e[_0x59c78c(0x7b)]){_0x24a570[_0x59c78c(0x7d)](_0xec2c89),uid2UinMap[_0xec2c89[_0x59c78c(0x7a)]]=_0xec2c89[_0x59c78c(0x84)];}}_0x2533d=!![],_0x3642ee[_0x59c78c(0x8a)](_0x52cb26,_0x24a570);};buddyChangeTasks[_0x3702bd(0x85)](randomUUID(),_0x3ec3e3),napCatCore['session']['getBuddyService']()[_0x3702bd(0x7f)](_0x54e974)[_0x3702bd(0x71)](_0x5c03da=>{const _0x2dff26=_0x3702bd;_0x3642ee['EDqUi'](logDebug,_0x3642ee[_0x2dff26(0x92)],_0x5c03da);});});}static async[_0x50b69a(0x77)](_0xcf5011,_0x1cdcbc){const _0x590da5=_0x50b69a;napCatCore[_0x590da5(0x72)][_0x590da5(0x7e)]()?.[_0x590da5(0x70)]({'friendUid':_0xcf5011['friendUid'],'reqTime':_0xcf5011[_0x590da5(0x8f)],'accept':_0x1cdcbc});}}function _0x205d(){const _0x3c1026=['8376ucNUSw','approvalFriendRequest','then','session','434597pJWeCS','onBuddyListChange','onLoginSuccess','VDRGI','handleFriendRequest','48eZkWkz','3824694pyBKoH','uid','buddyList','429GyJxXK','push','getBuddyService','getBuddyList','addListener','mzKVs','iWFZN','开始获取好友列表','uin','set','344670pEbwCU','36638NvbGpd','FqrpM','3667572thHfLR','SBFgi','48DSqcjw','getFriends','RThMz','delete','reqTime','aMcav','1687350GlhCmo','zybhj','2tvtQhj','获取好友列表超时','gnCdZ'];_0x205d=function(){return _0x3c1026;};return _0x205d();}
const _0x359c1d=_0x2ce0;(function(_0x179d88,_0x4e098e){const _0x203a9b=_0x2ce0,_0x2659bf=_0x179d88();while(!![]){try{const _0x1c34a1=parseInt(_0x203a9b(0x163))/0x1+-parseInt(_0x203a9b(0x15a))/0x2+parseInt(_0x203a9b(0x15d))/0x3+parseInt(_0x203a9b(0x15e))/0x4+-parseInt(_0x203a9b(0x155))/0x5+parseInt(_0x203a9b(0x15b))/0x6*(parseInt(_0x203a9b(0x158))/0x7)+parseInt(_0x203a9b(0x152))/0x8*(-parseInt(_0x203a9b(0x165))/0x9);if(_0x1c34a1===_0x4e098e)break;else _0x2659bf['push'](_0x2659bf['shift']());}catch(_0x5aa158){_0x2659bf['push'](_0x2659bf['shift']());}}}(_0x1680,0x1fd21));function _0x2ce0(_0xe61570,_0x57b6c4){const _0x168002=_0x1680();return _0x2ce0=function(_0x2ce0d2,_0xf34ea4){_0x2ce0d2=_0x2ce0d2-0x14e;let _0xc995a1=_0x168002[_0x2ce0d2];return _0xc995a1;},_0x2ce0(_0xe61570,_0x57b6c4);}import{napCatCore}from'@/core';import{NTEventDispatch}from'@/common/utils/EventTask';function _0x1680(){const _0x14d3ec=['FnWMW','494068QHoHHO','6SjRBCo','NodeIKernelBuddyListener/onBuddyListChange','755598jkWdlO','91516YdYpLS','session','NVVsQ','getFriends','approvalFriendRequest','231047MualYQ','handleFriendRequest','27tlkXId','isBuddy','NodeIKernelBuddyService/getBuddyList','split','getBuddyService','560088mpYXYw','push','cVhsM','871865oiMkEH','length','QEXcv','1791895GKaSdB'];_0x1680=function(){return _0x14d3ec;};return _0x1680();}export class NTQQFriendApi{static async[_0x359c1d(0x14e)](_0x27e7c9){const _0x3c2d25=_0x359c1d;return napCatCore[_0x3c2d25(0x15f)][_0x3c2d25(0x151)]()['isBuddy'](_0x27e7c9);}static async[_0x359c1d(0x161)](_0x229e39=![]){const _0x15772d=_0x359c1d,_0x1d1e60={'NVVsQ':'NodeIKernelBuddyListener/onBuddyListChange'};let [_0x7d0350,_0x1cbb23]=await NTEventDispatch['CallNormalEvent'](_0x15772d(0x14f),_0x1d1e60[_0x15772d(0x160)],0x1,0x1388,_0x229e39);const _0x58ecac=[];for(const _0x3f8407 of _0x1cbb23){for(const _0x7b596b of _0x3f8407['buddyList']){_0x58ecac[_0x15772d(0x153)](_0x7b596b);}}return _0x58ecac;}static async['getFriendsRaw'](_0x5f53b2=![]){const _0x429157=_0x359c1d,_0x584e08={'QEXcv':_0x429157(0x14f),'FnWMW':_0x429157(0x15c)};let [_0x4aa72e,_0x17d4fd]=await NTEventDispatch['CallNormalEvent'](_0x584e08[_0x429157(0x157)],_0x584e08[_0x429157(0x159)],0x1,0x1388,_0x5f53b2);return _0x17d4fd;}static async[_0x359c1d(0x164)](_0x1df72a,_0x358cbd){const _0x2e1a53=_0x359c1d,_0x671392={'cVhsM':function(_0xcaefd0,_0x2db9e2){return _0xcaefd0<_0x2db9e2;}};let _0xb0bfeb=_0x1df72a[_0x2e1a53(0x150)]('|');if(_0x671392[_0x2e1a53(0x154)](_0xb0bfeb[_0x2e1a53(0x156)],0x2))return;let _0x1e5422=_0xb0bfeb[0x0],_0x69e4ae=_0xb0bfeb[0x1];napCatCore[_0x2e1a53(0x15f)]['getBuddyService']()?.[_0x2e1a53(0x162)]({'friendUid':_0x1e5422,'reqTime':_0x69e4ae,'accept':_0x358cbd});}}

View File

@@ -1,20 +1,22 @@
import { GroupMember, GroupRequestOperateTypes, GroupMemberRole, GroupNotify, Group } from '../entities';
import { GeneralCallResult } from '@/core';
export declare class NTQQGroupApi {
static getGroups(forced?: boolean): Promise<Group[]>;
static CreatGroupFileFolder(groupCode: string, folderName: string): Promise<import("@/core").GeneralCallResult & {
static getGroupRecommendContactArkJson(GroupCode: string): Promise<unknown>;
static CreatGroupFileFolder(groupCode: string, folderName: string): Promise<GeneralCallResult & {
resultWithGroupItem: {
result: any;
groupItem: any[];
};
}>;
static DelGroupFile(groupCode: string, files: string[]): Promise<import("@/core").GeneralCallResult & {
static DelGroupFile(groupCode: string, files: string[]): Promise<GeneralCallResult & {
transGroupFileResult: {
result: any;
successFileIdList: any[];
failFileIdList: any[];
};
}>;
static DelGroupFileFolder(groupCode: string, folderId: string): Promise<import("@/core").GeneralCallResult & {
static DelGroupFileFolder(groupCode: string, folderId: string): Promise<GeneralCallResult & {
groupFileCommonResult: {
retCode: number;
retMsg: string;
@@ -24,12 +26,13 @@ export declare class NTQQGroupApi {
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 & {
static GetGroupFileCount(Gids: Array<string>): Promise<GeneralCallResult & {
groupCodes: string[];
groupFileCounts: number[];
}>;
static getGroupIgnoreNotifies(): Promise<void>;
static uploadGroupBulletinPic(GroupCode: string, imageurl: string): Promise<import("@/core").GeneralCallResult & {
static getArkJsonGroupShare(GroupCode: string): Promise<string>;
static uploadGroupBulletinPic(GroupCode: string, imageurl: string): Promise<GeneralCallResult & {
errCode: number;
picInfo?: {
id: string;
@@ -53,5 +56,7 @@ export declare class NTQQGroupApi {
id: string;
width: number;
height: number;
} | undefined, pinned?: number, confirmRequired?: number): Promise<import("@/core").GeneralCallResult>;
} | undefined, pinned?: number, confirmRequired?: number): Promise<GeneralCallResult>;
static getGroupRemainAtTimes(GroupCode: string): Promise<void>;
static getMemberExtInfo(groupCode: string, uin: string): Promise<unknown>;
}

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
(function(_0x44d88e,_0x3c901c){var _0x17ea5d=_0x26fe,_0x1e50f0=_0x44d88e();while(!![]){try{var _0x3c4fa6=-parseInt(_0x17ea5d(0xfa))/0x1+parseInt(_0x17ea5d(0xfd))/0x2*(-parseInt(_0x17ea5d(0xf9))/0x3)+-parseInt(_0x17ea5d(0xff))/0x4*(-parseInt(_0x17ea5d(0xf8))/0x5)+-parseInt(_0x17ea5d(0xf5))/0x6*(parseInt(_0x17ea5d(0xfc))/0x7)+parseInt(_0x17ea5d(0xf6))/0x8*(parseInt(_0x17ea5d(0xf7))/0x9)+parseInt(_0x17ea5d(0xfe))/0xa+parseInt(_0x17ea5d(0xfb))/0xb;if(_0x3c4fa6===_0x3c901c)break;else _0x1e50f0['push'](_0x1e50f0['shift']());}catch(_0x54bba9){_0x1e50f0['push'](_0x1e50f0['shift']());}}}(_0x31df,0x4c10b));export*from'./file';function _0x31df(){var _0x45d2fc=['3183400EYIjub','628FgYzdZ','6vypAal','1361072jDCfWn','9YETdFZ','1925JOuyVk','3znzxEI','262643AzxByq','7134897mkPDIl','750211ckkELe','1032334pqrDra'];_0x31df=function(){return _0x45d2fc;};return _0x31df();}export*from'./friend';export*from'./group';export*from'./msg';function _0x26fe(_0x368a7b,_0x2ae140){var _0x31df65=_0x31df();return _0x26fe=function(_0x26fe18,_0x1263c8){_0x26fe18=_0x26fe18-0xf5;var _0x5dca3b=_0x31df65[_0x26fe18];return _0x5dca3b;},_0x26fe(_0x368a7b,_0x2ae140);}export*from'./user';export*from'./webapi';export*from'./sign';export*from'./system';
(function(_0x31fa30,_0x4dc339){var _0xd13ae6=_0x1cd2,_0x83225f=_0x31fa30();while(!![]){try{var _0x22a79f=-parseInt(_0xd13ae6(0xc7))/0x1+parseInt(_0xd13ae6(0xc5))/0x2+-parseInt(_0xd13ae6(0xc9))/0x3+-parseInt(_0xd13ae6(0xca))/0x4*(parseInt(_0xd13ae6(0xc8))/0x5)+-parseInt(_0xd13ae6(0xcc))/0x6+parseInt(_0xd13ae6(0xcb))/0x7*(-parseInt(_0xd13ae6(0xc4))/0x8)+parseInt(_0xd13ae6(0xc6))/0x9;if(_0x22a79f===_0x4dc339)break;else _0x83225f['push'](_0x83225f['shift']());}catch(_0x5ef940){_0x83225f['push'](_0x83225f['shift']());}}}(_0x54ec,0x4a67b));export*from'./file';export*from'./friend';export*from'./group';export*from'./msg';export*from'./user';export*from'./webapi';function _0x54ec(){var _0x44e0f7=['53887ZDJIrx','25MsMJFo','1460136GEJVZd','302756gCkVDF','196NOsvqE','1467768CGZUWF','49880QgRcPu','981290DZNCfB','10371330zVPJGi'];_0x54ec=function(){return _0x44e0f7;};return _0x54ec();}function _0x1cd2(_0x1948ba,_0x1beade){var _0x54ec02=_0x54ec();return _0x1cd2=function(_0x1cd2f6,_0x2876d3){_0x1cd2f6=_0x1cd2f6-0xc4;var _0x2b12dd=_0x54ec02[_0x1cd2f6];return _0x2b12dd;},_0x1cd2(_0x1948ba,_0x1beade);}export*from'./sign';export*from'./system';

View File

@@ -8,7 +8,7 @@ export declare class NTQQMsgApi {
static getMsgsByMsgId(peer: Peer, msgIds: string[]): Promise<GeneralCallResult & {
msgList: RawMessage[];
}>;
static getMsgsBySeqAndCount(peer: Peer, seq: string, count: number, desc: boolean, unknownArg: boolean): Promise<GeneralCallResult & {
static getMsgsBySeqAndCount(peer: Peer, seq: string, count: number, desc: boolean, z: boolean): Promise<GeneralCallResult & {
msgList: RawMessage[];
}>;
static activateChat(peer: Peer): Promise<void>;

File diff suppressed because one or more lines are too long

View File

@@ -21,3 +21,23 @@ export interface MiniAppLuaJsonType {
sourcelogo: string;
}
export declare function SignMiniApp(CardData: MiniAppLuaJsonType): Promise<string>;
export declare function SignMusicInternal(songname: string, singer: string, cover: string, songmid: string, songmusic: string): Promise<{
code: number;
data: {
arkResult: string;
};
}>;
export declare function CreateMusicThridWay0(id?: string, mid?: string): Promise<{
mid: string;
name?: string | undefined;
singer?: string | undefined;
url?: string | undefined;
cover?: string | undefined;
}>;
export declare function CreateMusicThridWay1(id?: string, mid?: string): Promise<void>;
export declare function SignMusicWrapper(id?: string): Promise<{
code: number;
data: {
arkResult: string;
};
}>;

File diff suppressed because one or more lines are too long

View File

@@ -1,7 +1,13 @@
import { GeneralCallResult } from '@/core';
export declare class NTQQSystemApi {
static hasOtherRunningQQProcess(): Promise<boolean>;
static ORCImage(filePath: string): Promise<import("@/core").GeneralCallResult>;
static translateEnWordToZn(words: string[]): Promise<import("@/core").GeneralCallResult & {
static ORCImage(filePath: string): Promise<GeneralCallResult>;
static translateEnWordToZn(words: string[]): Promise<GeneralCallResult & {
words: string[];
}>;
static getOnlineDev(): Promise<any>;
static getArkJsonCollection(cid: string): Promise<GeneralCallResult & {
arkJson: string;
}>;
static BootMiniApp(appfile: string, params: string): Promise<unknown>;
}

View File

@@ -1 +1 @@
function _0x475c(){var _0x9ea50e=['hasOtherRunningQQProcess','1222848YuKNDC','6kXqoEg','496343SyUBxf','translateEnWordToZn','2647945pEnvxJ','getRichMediaService','wantWinScreenOCR','4775988VbqpFu','469754xwOsWC','2370488msbkKS','45LbyXnZ','911912qjaneW','getNodeMiscService'];_0x475c=function(){return _0x9ea50e;};return _0x475c();}function _0x5526(_0x1db919,_0x351be8){var _0x475ccd=_0x475c();return _0x5526=function(_0x55261b,_0x61acdf){_0x55261b=_0x55261b-0x11a;var _0x3f5f47=_0x475ccd[_0x55261b];return _0x3f5f47;},_0x5526(_0x1db919,_0x351be8);}var _0x513e71=_0x5526;(function(_0x351568,_0x1e87d1){var _0x2726c4=_0x5526,_0x19ca8d=_0x351568();while(!![]){try{var _0x2f6fcb=parseInt(_0x2726c4(0x127))/0x1+-parseInt(_0x2726c4(0x11f))/0x2+-parseInt(_0x2726c4(0x125))/0x3+parseInt(_0x2726c4(0x122))/0x4+-parseInt(_0x2726c4(0x11b))/0x5*(parseInt(_0x2726c4(0x126))/0x6)+-parseInt(_0x2726c4(0x11e))/0x7+parseInt(_0x2726c4(0x120))/0x8*(parseInt(_0x2726c4(0x121))/0x9);if(_0x2f6fcb===_0x1e87d1)break;else _0x19ca8d['push'](_0x19ca8d['shift']());}catch(_0x1042bf){_0x19ca8d['push'](_0x19ca8d['shift']());}}}(_0x475c,0x55d16));import{napCatCore}from'@/core';export class NTQQSystemApi{static async['hasOtherRunningQQProcess'](){var _0x494623=_0x5526;return napCatCore['util'][_0x494623(0x124)]();}static async['ORCImage'](_0x1af039){var _0x1dfa5b=_0x5526;return napCatCore['session'][_0x1dfa5b(0x123)]()[_0x1dfa5b(0x11d)](_0x1af039);}static async[_0x513e71(0x11a)](_0x3db422){var _0x217f95=_0x513e71;return napCatCore['session'][_0x217f95(0x11c)]()[_0x217f95(0x11a)](_0x3db422);}}
const _0x3de4d1=_0x2e6f;function _0x4ece(){const _0x1099ac=['4021820Zwofnx','hasOtherRunningQQProcess','474tgXvij','getOnLineDev','BootMiniApp','16890120PtxuND','startNewMiniApp','4ggiZpi','session','1967709gDffCK','NodeIKernelCollectionService/collectionArkShare','7010024JKdBbE','getNodeMiscService','939570GtiRJs','FUSlq','5013666osYlWz','CallNoListenerEvent','wantWinScreenOCR','JifDj','sPsBP','getRichMediaService','2191AIZCDC','getMiniAppPath','log','getOnlineDev','setMiniAppVersion','util','2.16.4','translateEnWordToZn'];_0x4ece=function(){return _0x1099ac;};return _0x4ece();}function _0x2e6f(_0x33eacd,_0x93bb05){const _0x4ece19=_0x4ece();return _0x2e6f=function(_0x2e6f0d,_0x328137){_0x2e6f0d=_0x2e6f0d-0x172;let _0x405801=_0x4ece19[_0x2e6f0d];return _0x405801;},_0x2e6f(_0x33eacd,_0x93bb05);}(function(_0x14421c,_0x6e6316){const _0xcdad56=_0x2e6f,_0x41ab50=_0x14421c();while(!![]){try{const _0x412256=-parseInt(_0xcdad56(0x179))/0x1*(parseInt(_0xcdad56(0x183))/0x2)+parseInt(_0xcdad56(0x18a))/0x3+parseInt(_0xcdad56(0x188))/0x4*(parseInt(_0xcdad56(0x181))/0x5)+-parseInt(_0xcdad56(0x18e))/0x6+parseInt(_0xcdad56(0x173))/0x7+parseInt(_0xcdad56(0x18c))/0x8+-parseInt(_0xcdad56(0x186))/0x9;if(_0x412256===_0x6e6316)break;else _0x41ab50['push'](_0x41ab50['shift']());}catch(_0x1dc32e){_0x41ab50['push'](_0x41ab50['shift']());}}}(_0x4ece,0x7a1f8));import{NTEventDispatch}from'@/common/utils/EventTask';import{napCatCore}from'@/core';export class NTQQSystemApi{static async['hasOtherRunningQQProcess'](){const _0x386c01=_0x2e6f;return napCatCore[_0x386c01(0x17e)][_0x386c01(0x182)]();}static async['ORCImage'](_0x19edb7){const _0x1041e3=_0x2e6f;return napCatCore[_0x1041e3(0x189)][_0x1041e3(0x18d)]()[_0x1041e3(0x175)](_0x19edb7);}static async[_0x3de4d1(0x180)](_0x2af078){const _0x4cbd33=_0x3de4d1;return napCatCore[_0x4cbd33(0x189)][_0x4cbd33(0x178)]()['translateEnWordToZn'](_0x2af078);}static async[_0x3de4d1(0x17c)](){const _0x43e628=_0x3de4d1;return napCatCore[_0x43e628(0x189)]['getMsgService']()[_0x43e628(0x184)]();}static async['getArkJsonCollection'](_0x409fef){const _0x34dbd3=_0x3de4d1,_0x20d647={'FUSlq':_0x34dbd3(0x18b),'sPsBP':'1717662698058'};let _0x59d26d=await NTEventDispatch[_0x34dbd3(0x174)](_0x20d647[_0x34dbd3(0x172)],0x1388,_0x20d647[_0x34dbd3(0x177)]);return _0x59d26d;}static async[_0x3de4d1(0x185)](_0x404ffe,_0xcba4ff){const _0x11c489=_0x3de4d1,_0x2c0df6={'JifDj':_0x11c489(0x17f)};await napCatCore[_0x11c489(0x189)][_0x11c489(0x18d)]()[_0x11c489(0x17d)](_0x2c0df6[_0x11c489(0x176)]);let _0x260e2d=await napCatCore[_0x11c489(0x189)][_0x11c489(0x18d)]()[_0x11c489(0x17a)]();return console[_0x11c489(0x17b)](_0x260e2d),napCatCore[_0x11c489(0x189)][_0x11c489(0x18d)]()[_0x11c489(0x187)](_0x404ffe,_0xcba4ff);}}

View File

@@ -1,7 +1,9 @@
import { User } from '@/core/entities';
import { ModifyProfileParams, User, UserDetailInfoByUin } from '@/core/entities';
import { GeneralCallResult } from '@/core';
export declare class NTQQUserApi {
static setLongNick(longNick: string): Promise<unknown>;
static setSelfOnlineStatus(status: number, extStatus: number, batteryStatus: number): Promise<GeneralCallResult>;
static getBuddyRecommendContactArkJson(uin: string, sencenID?: string): Promise<unknown>;
static like(uid: string, count?: number): Promise<{
result: number;
errMsg: string;
@@ -14,12 +16,20 @@ 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<{
static modifySelfProfile(param: ModifyProfileParams): Promise<GeneralCallResult>;
static getCookies(domain: string): Promise<{
[key: string]: string;
}>;
static getPSkey(domainList: string[]): Promise<GeneralCallResult & {
domainPskeyMap: Map<string, string>;
}>;
static getRobotUinRange(): Promise<Array<any>>;
static getQzoneCookies(): Promise<{
[key: string]: string;
}>;
static getSkey(cached?: boolean): Promise<string | undefined>;
static getSkey(): Promise<string | undefined>;
static getUidByUin(Uin: string): Promise<string | undefined>;
static getUinByUid(Uid: string | undefined): Promise<string | undefined>;
static getUserDetailInfoByUin(Uin: string): Promise<UserDetailInfoByUin>;
static forceFetchClientKey(): Promise<import("@/core").forceFetchClientKeyRetType>;
}

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,11 +0,0 @@
export interface NTQQWindow {
windowName: string;
windowUrlHash: string;
}
export declare class NTQQWindows {
static GroupHomeWorkWindow: NTQQWindow;
static GroupNotifyFilterWindow: NTQQWindow;
static GroupEssenceWindow: NTQQWindow;
}
export declare class NTQQWindowApi {
}

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,38 +1,9 @@
import { type Friend, type FriendRequest, type Group, type GroupMember, GroupNotify, type SelfInfo, BuddyCategoryType } from './entities';
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>;
};
export declare const WebGroupData: {
GroupData: Map<string, WebApiGroupMember[]>;
GroupTime: Map<string, number>;
};
import { type GroupMember, GroupNotify, type SelfInfo } from './entities';
export declare const selfInfo: SelfInfo;
export declare const groups: Map<string, Group>;
export declare function deleteGroup(groupQQ: string): void;
export declare const groupMembers: Map<string, Map<string, GroupMember>>;
export declare const friends: Map<string, Friend>;
export declare const friendRequests: Record<string, FriendRequest>;
export declare const groupNotifies: Record<string, GroupNotify>;
export declare const napCatError: {
ffmpegError: string;
httpServerError: string;
wsServerError: string;
otherError: string;
};
export declare function getFriend(uinOrUid: string): Promise<Friend | undefined>;
export declare function getGroup(qq: string | number): Promise<Group | undefined>;
export declare function getGroupMember(groupQQ: string | number, memberUinOrUid: string | number): Promise<GroupMember | null | undefined>;
export declare const uid2UinMap: Record<string, string>;
export declare function getUidByUin(uin: string): string | undefined;
export declare const tempGroupCodeMap: Record<string, string>;
export declare const rawFriends: Array<BuddyCategoryType>;
export declare const stat: {
packet_received: number;
packet_sent: number;

View File

@@ -1 +1 @@
function _0x1e9c(){const _0x447d40=['set','6dTpiBU','toString','5086xmspbx','3518383QspPdD','2647393kSNvhj','Dmiix','uin','values','getGroups','795xSaWuO','oAVBh','3832jaSWpx','7627944RNryNB','delete','351mulPEA','find','6097446JtIhsz','NapCat未能正常启动请检查日志查看错误','length','from','getGroupMembers','72494eRuxkp','JdDYt','get','50nBgkIg'];_0x1e9c=function(){return _0x447d40;};return _0x1e9c();}const _0x3e979e=_0x48f4;(function(_0x5a0e64,_0x266733){const _0x55ca6c=_0x48f4,_0x3a2fab=_0x5a0e64();while(!![]){try{const _0x262a03=parseInt(_0x55ca6c(0x1fc))/0x1+-parseInt(_0x55ca6c(0x203))/0x2*(-parseInt(_0x55ca6c(0x1f5))/0x3)+parseInt(_0x55ca6c(0x1f2))/0x4*(-parseInt(_0x55ca6c(0x1f0))/0x5)+-parseInt(_0x55ca6c(0x201))/0x6*(-parseInt(_0x55ca6c(0x205))/0x7)+parseInt(_0x55ca6c(0x1f3))/0x8+parseInt(_0x55ca6c(0x1f7))/0x9+parseInt(_0x55ca6c(0x1ff))/0xa*(-parseInt(_0x55ca6c(0x204))/0xb);if(_0x262a03===_0x266733)break;else _0x3a2fab['push'](_0x3a2fab['shift']());}catch(_0x211806){_0x3a2fab['push'](_0x3a2fab['shift']());}}}(_0x1e9c,0x993a8));import{isNumeric}from'@/common/utils/helper';function _0x48f4(_0x4c2439,_0x458292){const _0x1e9c8f=_0x1e9c();return _0x48f4=function(_0x48f4f9,_0x550b1d){_0x48f4f9=_0x48f4f9-0x1f0;let _0x5effea=_0x1e9c8f[_0x48f4f9];return _0x5effea;},_0x48f4(_0x4c2439,_0x458292);}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(_0x43443e){const _0x2581d1=_0x48f4;groups['delete'](_0x43443e),groupMembers[_0x2581d1(0x1f4)](_0x43443e);}export const groupMembers=new Map();export const friends=new Map();export const friendRequests={};export const groupNotifies={};export const napCatError={'ffmpegError':'','httpServerError':'','wsServerError':'','otherError':_0x3e979e(0x1f8)};export async function getFriend(_0x35624a){const _0x5ad968=_0x3e979e;_0x35624a=_0x35624a['toString']();if(isNumeric(_0x35624a)){const _0x28b0c4=Array[_0x5ad968(0x1fa)](friends['values']());return _0x28b0c4[_0x5ad968(0x1f6)](_0x77f617=>_0x77f617[_0x5ad968(0x207)]===_0x35624a);}else return friends['get'](_0x35624a);}export async function getGroup(_0x2928c8){const _0x431367=_0x3e979e;let _0x32197f=groups[_0x431367(0x1fe)](_0x2928c8[_0x431367(0x202)]());if(!_0x32197f)try{const _0x48aad6=await NTQQGroupApi[_0x431367(0x209)]();_0x48aad6[_0x431367(0x1f9)]&&_0x48aad6['forEach'](_0x1068b5=>{const _0x459d61=_0x431367;groups[_0x459d61(0x200)](_0x1068b5['groupCode'],_0x1068b5);});}catch(_0x288b9a){return undefined;}return _0x32197f=groups[_0x431367(0x1fe)](_0x2928c8[_0x431367(0x202)]()),_0x32197f;}export async function getGroupMember(_0x2984f9,_0x5acbf1){const _0x41f643=_0x3e979e,_0x2f7e06={'JdDYt':function(_0x5ed1b8,_0x276ae8){return _0x5ed1b8(_0x276ae8);},'Dmiix':function(_0x15a7c1){return _0x15a7c1();}};_0x2984f9=_0x2984f9[_0x41f643(0x202)](),_0x5acbf1=_0x5acbf1[_0x41f643(0x202)]();let _0x17269a=groupMembers['get'](_0x2984f9);if(!_0x17269a)try{_0x17269a=await NTQQGroupApi[_0x41f643(0x1fb)](_0x2984f9),groupMembers[_0x41f643(0x200)](_0x2984f9,_0x17269a);}catch(_0x28b61a){return null;}const _0x1dc81f=()=>{const _0x5291ec=_0x41f643;let _0x423f1a=undefined;return _0x2f7e06[_0x5291ec(0x1fd)](isNumeric,_0x5acbf1)?_0x423f1a=Array[_0x5291ec(0x1fa)](_0x17269a[_0x5291ec(0x208)]())['find'](_0x260cea=>_0x260cea['uin']===_0x5acbf1):_0x423f1a=_0x17269a[_0x5291ec(0x1fe)](_0x5acbf1),_0x423f1a;};let _0x228b6c=_0x2f7e06[_0x41f643(0x206)](_0x1dc81f);return!_0x228b6c&&(_0x17269a=await NTQQGroupApi[_0x41f643(0x1fb)](_0x2984f9),_0x228b6c=_0x1dc81f()),_0x228b6c;}export const uid2UinMap={};export function getUidByUin(_0x6a6856){const _0x281b58=_0x3e979e,_0x17392b={'oAVBh':function(_0x43f456,_0x451ad7){return _0x43f456===_0x451ad7;}};for(const _0x3df1c5 in uid2UinMap){if(_0x17392b[_0x281b58(0x1f1)](uid2UinMap[_0x3df1c5],_0x6a6856))return _0x3df1c5;}}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};
(function(_0x2ce4f4,_0x1379fe){const _0x4960b0=_0x116f,_0x4d19ab=_0x2ce4f4();while(!![]){try{const _0x453c60=parseInt(_0x4960b0(0xb3))/0x1+parseInt(_0x4960b0(0xbb))/0x2*(-parseInt(_0x4960b0(0xbc))/0x3)+parseInt(_0x4960b0(0xb7))/0x4*(parseInt(_0x4960b0(0xc0))/0x5)+-parseInt(_0x4960b0(0xb0))/0x6*(-parseInt(_0x4960b0(0xbe))/0x7)+parseInt(_0x4960b0(0xb2))/0x8*(parseInt(_0x4960b0(0xba))/0x9)+parseInt(_0x4960b0(0xb6))/0xa+parseInt(_0x4960b0(0xb9))/0xb*(-parseInt(_0x4960b0(0xc1))/0xc);if(_0x453c60===_0x1379fe)break;else _0x4d19ab['push'](_0x4d19ab['shift']());}catch(_0x5073cd){_0x4d19ab['push'](_0x4d19ab['shift']());}}}(_0x4e0c,0x493dd));function _0x116f(_0x3f6bef,_0x5b9aff){const _0x4e0c23=_0x4e0c();return _0x116f=function(_0x116f23,_0x21a912){_0x116f23=_0x116f23-0xaf;let _0xbb9d1f=_0x4e0c23[_0x116f23];return _0xbb9d1f;},_0x116f(_0x3f6bef,_0x5b9aff);}function _0x4e0c(){const _0x1a83b7=['341944VJeLcQ','25132OAewvs','get','find','787840pouKim','72KcOGkx','MQOjO','32494mvMnjh','9UZxEmI','190132QzOjZY','12FJwZNF','NyqSJ','41671iDtgJx','uin','143370hUmvtR','1380HhybVt','toString','getGroupMembers','360jNLVAF','pUqBb'];_0x4e0c=function(){return _0x1a83b7;};return _0x4e0c();}import{isNumeric}from'@/common/utils/helper';import{NTQQGroupApi}from'@/core/apis';export const selfInfo={'uid':'','uin':'','nick':'','online':!![]};export const groupMembers=new Map();export const groupNotifies={};export async function getGroupMember(_0x2a1928,_0x3c2bdc){const _0x432ab2=_0x116f,_0x1d5b7a={'MQOjO':function(_0xae238e,_0x13c0a5){return _0xae238e(_0x13c0a5);},'pUqBb':function(_0x18ab3f){return _0x18ab3f();},'NyqSJ':function(_0x48a597){return _0x48a597();}};_0x2a1928=_0x2a1928[_0x432ab2(0xc2)](),_0x3c2bdc=_0x3c2bdc[_0x432ab2(0xc2)]();let _0x20391c=groupMembers[_0x432ab2(0xb4)](_0x2a1928);if(!_0x20391c)try{_0x20391c=await NTQQGroupApi[_0x432ab2(0xaf)](_0x2a1928),groupMembers['set'](_0x2a1928,_0x20391c);}catch(_0x3b1b83){return null;}const _0x3f4f31=()=>{const _0x1f37b6=_0x432ab2;let _0x42b5c3=undefined;return _0x1d5b7a[_0x1f37b6(0xb8)](isNumeric,_0x3c2bdc)?_0x42b5c3=Array['from'](_0x20391c['values']())[_0x1f37b6(0xb5)](_0x55ed1d=>_0x55ed1d[_0x1f37b6(0xbf)]===_0x3c2bdc):_0x42b5c3=_0x20391c[_0x1f37b6(0xb4)](_0x3c2bdc),_0x42b5c3;};let _0x1bbece=_0x1d5b7a[_0x432ab2(0xb1)](_0x3f4f31);return!_0x1bbece&&(_0x20391c=await NTQQGroupApi[_0x432ab2(0xaf)](_0x2a1928),_0x1bbece=_0x1d5b7a[_0x432ab2(0xbd)](_0x3f4f31)),_0x1bbece;}export const tempGroupCodeMap={};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 _0x2785(_0x53a375,_0x5ad036){var _0xea5dc3=_0xea5d();return _0x2785=function(_0x27858a,_0xc4f20f){_0x27858a=_0x27858a-0x1b3;var _0xb85139=_0xea5dc3[_0x27858a];return _0xb85139;},_0x2785(_0x53a375,_0x5ad036);}(function(_0xa9ba95,_0x2d8d2b){var _0x24af7d=_0x2785,_0x4b628c=_0xa9ba95();while(!![]){try{var _0x40c8f8=parseInt(_0x24af7d(0x1bd))/0x1*(-parseInt(_0x24af7d(0x1b5))/0x2)+-parseInt(_0x24af7d(0x1b8))/0x3+parseInt(_0x24af7d(0x1c5))/0x4+parseInt(_0x24af7d(0x1c0))/0x5+parseInt(_0x24af7d(0x1b4))/0x6*(parseInt(_0x24af7d(0x1c1))/0x7)+-parseInt(_0x24af7d(0x1ba))/0x8*(parseInt(_0x24af7d(0x1b9))/0x9)+-parseInt(_0x24af7d(0x1c6))/0xa;if(_0x40c8f8===_0x2d8d2b)break;else _0x4b628c['push'](_0x4b628c['shift']());}catch(_0x3970b){_0x4b628c['push'](_0x4b628c['shift']());}}}(_0xea5d,0x52f94));function _0xea5d(){var _0x1dc2c0=['2038940AyFeQR','ejEHv','223134givfsc','10pJuhtm','IMriL','AUDIO','138051FrTync','477dOtuPj','16144xcnwwD','0|3|1|4|2','lDvXO','37775uEIhvB','uYeNv','split','833065LRDNfU','98wgeBtc','KXJaw','DOCUMENT','IMAGE','793364lWHHle'];_0xea5d=function(){return _0x1dc2c0;};return _0xea5d();};export var CacheFileType;(function(_0x228ea3){var _0x1c26c0=_0x2785,_0xe76f57={'KXJaw':_0x1c26c0(0x1c4),'lDvXO':_0x1c26c0(0x1b7),'IMriL':'OTHER','ejEHv':'VIDEO','uYeNv':_0x1c26c0(0x1c3)},_0x32bb0c=_0x1c26c0(0x1bb)[_0x1c26c0(0x1bf)]('|'),_0x15d8b9=0x0;while(!![]){switch(_0x32bb0c[_0x15d8b9++]){case'0':_0x228ea3[_0x228ea3[_0xe76f57[_0x1c26c0(0x1c2)]]=0x0]=_0xe76f57[_0x1c26c0(0x1c2)];continue;case'1':_0x228ea3[_0x228ea3[_0xe76f57[_0x1c26c0(0x1bc)]]=0x2]=_0xe76f57['lDvXO'];continue;case'2':_0x228ea3[_0x228ea3[_0xe76f57[_0x1c26c0(0x1b6)]]=0x4]=_0xe76f57[_0x1c26c0(0x1b6)];continue;case'3':_0x228ea3[_0x228ea3[_0xe76f57[_0x1c26c0(0x1b3)]]=0x1]=_0xe76f57['ejEHv'];continue;case'4':_0x228ea3[_0x228ea3[_0xe76f57[_0x1c26c0(0x1be)]]=0x3]=_0xe76f57[_0x1c26c0(0x1be)];continue;}break;}}(CacheFileType||(CacheFileType={})));
function _0x1b7d(_0x42c842,_0x423739){var _0x24d073=_0x24d0();return _0x1b7d=function(_0x1b7d55,_0x3d45eb){_0x1b7d55=_0x1b7d55-0x1ae;var _0x6c111d=_0x24d073[_0x1b7d55];return _0x6c111d;},_0x1b7d(_0x42c842,_0x423739);}(function(_0x1abcb9,_0x56cd8b){var _0x2e5d0d=_0x1b7d,_0x13c89e=_0x1abcb9();while(!![]){try{var _0x1662e8=parseInt(_0x2e5d0d(0x1c1))/0x1*(-parseInt(_0x2e5d0d(0x1bf))/0x2)+parseInt(_0x2e5d0d(0x1bd))/0x3*(parseInt(_0x2e5d0d(0x1b0))/0x4)+parseInt(_0x2e5d0d(0x1c2))/0x5+parseInt(_0x2e5d0d(0x1c3))/0x6*(parseInt(_0x2e5d0d(0x1b4))/0x7)+-parseInt(_0x2e5d0d(0x1c0))/0x8*(parseInt(_0x2e5d0d(0x1b5))/0x9)+parseInt(_0x2e5d0d(0x1bb))/0xa*(-parseInt(_0x2e5d0d(0x1be))/0xb)+-parseInt(_0x2e5d0d(0x1b9))/0xc*(-parseInt(_0x2e5d0d(0x1bc))/0xd);if(_0x1662e8===_0x56cd8b)break;else _0x13c89e['push'](_0x13c89e['shift']());}catch(_0x32a9b4){_0x13c89e['push'](_0x13c89e['shift']());}}}(_0x24d0,0xbba9c));function _0x24d0(){var _0x37b820=['split','4512810AEaOGC','3250vSyVeY','3UAfcno','22rZlNLg','4wjqSoS','1030888RFMbqP','74891YjMbnf','1031840hOuPZU','582WBqQeg','2|4|1|0|3','OTHER','1912668WFUnZJ','qvrzM','hNJei','IMAGE','34419OQWVDt','18wQYZtg','VIDEO','PWnpT','DOCUMENT','44028DLcUhw'];_0x24d0=function(){return _0x37b820;};return _0x24d0();};export var CacheFileType;(function(_0x1f8adf){var _0x56652f=_0x1b7d,_0x12990e={'hNJei':_0x56652f(0x1b8),'PWnpT':'AUDIO','UdtuQ':_0x56652f(0x1b3),'dreDF':'OTHER','qvrzM':_0x56652f(0x1b6)},_0x58dcd2=_0x56652f(0x1ae)[_0x56652f(0x1ba)]('|'),_0x272ac7=0x0;while(!![]){switch(_0x58dcd2[_0x272ac7++]){case'0':_0x1f8adf[_0x1f8adf[_0x12990e[_0x56652f(0x1b2)]]=0x3]=_0x12990e[_0x56652f(0x1b2)];continue;case'1':_0x1f8adf[_0x1f8adf[_0x12990e[_0x56652f(0x1b7)]]=0x2]=_0x12990e[_0x56652f(0x1b7)];continue;case'2':_0x1f8adf[_0x1f8adf[_0x12990e['UdtuQ']]=0x0]=_0x56652f(0x1b3);continue;case'3':_0x1f8adf[_0x1f8adf[_0x12990e['dreDF']]=0x4]=_0x56652f(0x1af);continue;case'4':_0x1f8adf[_0x1f8adf[_0x12990e[_0x56652f(0x1b1)]]=0x1]=_0x12990e[_0x56652f(0x1b1)];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;

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
(function(_0x47ea7,_0x615584){var _0x2fcf1b=_0x1fe6,_0xbcbb46=_0x47ea7();while(!![]){try{var _0x4770ce=parseInt(_0x2fcf1b(0x90))/0x1+-parseInt(_0x2fcf1b(0x8c))/0x2+parseInt(_0x2fcf1b(0x89))/0x3+parseInt(_0x2fcf1b(0x8e))/0x4+-parseInt(_0x2fcf1b(0x92))/0x5*(-parseInt(_0x2fcf1b(0x88))/0x6)+parseInt(_0x2fcf1b(0x8a))/0x7+-parseInt(_0x2fcf1b(0x91))/0x8*(parseInt(_0x2fcf1b(0x94))/0x9);if(_0x4770ce===_0x615584)break;else _0xbcbb46['push'](_0xbcbb46['shift']());}catch(_0x24ced3){_0xbcbb46['push'](_0xbcbb46['shift']());}}}(_0x3027,0xc65aa));function _0x1fe6(_0x390948,_0x38eb27){var _0x3027b6=_0x3027();return _0x1fe6=function(_0x1fe64a,_0x4d90e5){_0x1fe64a=_0x1fe64a-0x87;var _0x264c42=_0x3027b6[_0x1fe64a];return _0x264c42;},_0x1fe6(_0x390948,_0x38eb27);}export var GroupMemberRole;function _0x3027(){var _0x2d7c64=['owner','2027304ZeJBoU','4058124IocVxH','5436781zgpwjn','WMXwQ','3241482gNeCwP','ZaTfq','1085176oTPRLC','cTFga','444975nvOPlK','2000920aYmzCI','5TDCmgT','normal','27ZlYhYs','admin'];_0x3027=function(){return _0x2d7c64;};return _0x3027();}(function(_0x1a1243){var _0x234594=_0x1fe6,_0x1d1ea8={'WMXwQ':_0x234594(0x93),'cTFga':_0x234594(0x95),'ZaTfq':_0x234594(0x87)};_0x1a1243[_0x1a1243[_0x1d1ea8[_0x234594(0x8b)]]=0x2]=_0x234594(0x93),_0x1a1243[_0x1a1243[_0x1d1ea8[_0x234594(0x8f)]]=0x3]=_0x1d1ea8[_0x234594(0x8f)],_0x1a1243[_0x1a1243[_0x1d1ea8[_0x234594(0x8d)]]=0x4]='owner';}(GroupMemberRole||(GroupMemberRole={})));
(function(_0x256298,_0x2e6d95){var _0x5d7b85=_0x2275,_0x3ab8cf=_0x256298();while(!![]){try{var _0x251be9=-parseInt(_0x5d7b85(0x12a))/0x1+-parseInt(_0x5d7b85(0x12e))/0x2*(parseInt(_0x5d7b85(0x12b))/0x3)+-parseInt(_0x5d7b85(0x126))/0x4*(-parseInt(_0x5d7b85(0x124))/0x5)+-parseInt(_0x5d7b85(0x127))/0x6+-parseInt(_0x5d7b85(0x131))/0x7+parseInt(_0x5d7b85(0x128))/0x8+-parseInt(_0x5d7b85(0x125))/0x9*(-parseInt(_0x5d7b85(0x12c))/0xa);if(_0x251be9===_0x2e6d95)break;else _0x3ab8cf['push'](_0x3ab8cf['shift']());}catch(_0x45480e){_0x3ab8cf['push'](_0x3ab8cf['shift']());}}}(_0x4579,0x79b0d));export var GroupMemberRole;function _0x2275(_0xab6b8a,_0x35339c){var _0x45794a=_0x4579();return _0x2275=function(_0x227514,_0x2c9bc2){_0x227514=_0x227514-0x123;var _0x19ad12=_0x45794a[_0x227514];return _0x19ad12;},_0x2275(_0xab6b8a,_0x35339c);}(function(_0x5de561){var _0x2e570b=_0x2275,_0x2332ec={'wAsuO':_0x2e570b(0x130),'oiJZE':_0x2e570b(0x129),'TVfJT':_0x2e570b(0x123)};_0x5de561[_0x5de561[_0x2e570b(0x130)]=0x2]=_0x2332ec[_0x2e570b(0x12d)],_0x5de561[_0x5de561[_0x2e570b(0x129)]=0x3]=_0x2332ec['oiJZE'],_0x5de561[_0x5de561[_0x2332ec[_0x2e570b(0x12f)]]=0x4]=_0x2332ec['TVfJT'];}(GroupMemberRole||(GroupMemberRole={})));function _0x4579(){var _0x58639c=['1041065tarjrE','5798781YFGHyx','8JXzsDe','2357118UJJWTC','1445624YQlInO','admin','452042UxEmRB','747rbQLOw','20TRkXPz','wAsuO','3302fKtSDI','TVfJT','normal','919156DxZYcH','owner'];_0x4579=function(){return _0x58639c;};return _0x4579();}

View File

@@ -1 +1 @@
(function(_0x4f55b6,_0x31914f){var _0x571f44=_0x48d8,_0x5a1005=_0x4f55b6();while(!![]){try{var _0x3039c3=-parseInt(_0x571f44(0x1a6))/0x1*(parseInt(_0x571f44(0x1a4))/0x2)+parseInt(_0x571f44(0x1a2))/0x3*(parseInt(_0x571f44(0x1a1))/0x4)+-parseInt(_0x571f44(0x19f))/0x5+parseInt(_0x571f44(0x1a5))/0x6+parseInt(_0x571f44(0x1a3))/0x7+-parseInt(_0x571f44(0x1a7))/0x8+parseInt(_0x571f44(0x1a0))/0x9;if(_0x3039c3===_0x31914f)break;else _0x5a1005['push'](_0x5a1005['shift']());}catch(_0x27a3d7){_0x5a1005['push'](_0x5a1005['shift']());}}}(_0x4987,0x586d2));export*from'./user';function _0x4987(){var _0x48d492=['3409712VpjpKM','1411480NAQryD','8477919Qheyob','4bzMyxF','705531AqoFOe','284151MagfXx','6CfQCOY','1511460arJbLt','132989nZqIFI'];_0x4987=function(){return _0x48d492;};return _0x4987();}export*from'./group';export*from'./msg';function _0x48d8(_0x5ca237,_0x548dbc){var _0x498788=_0x4987();return _0x48d8=function(_0x48d8cd,_0x15c216){_0x48d8cd=_0x48d8cd-0x19f;var _0x106d11=_0x498788[_0x48d8cd];return _0x106d11;},_0x48d8(_0x5ca237,_0x548dbc);}export*from'./notify';export*from'./cache';export*from'./constructor';
function _0x270e(){var _0x2c19d1=['58382cUascg','1301157hawbxY','10432521FKngEB','13tJBKJI','419601ZMFfZb','6kskzdJ','187386egYPWN','48tgRBGh','8nyIqtE','572410paDubJ','1971005JEnPzr'];_0x270e=function(){return _0x2c19d1;};return _0x270e();}(function(_0x426a82,_0x2bbb4a){var _0xba9992=_0x26d8,_0x235655=_0x426a82();while(!![]){try{var _0xd97186=parseInt(_0xba9992(0x148))/0x1*(parseInt(_0xba9992(0x145))/0x2)+-parseInt(_0xba9992(0x14b))/0x3*(-parseInt(_0xba9992(0x142))/0x4)+-parseInt(_0xba9992(0x144))/0x5*(-parseInt(_0xba9992(0x14a))/0x6)+parseInt(_0xba9992(0x149))/0x7*(parseInt(_0xba9992(0x141))/0x8)+-parseInt(_0xba9992(0x146))/0x9+parseInt(_0xba9992(0x143))/0xa+-parseInt(_0xba9992(0x147))/0xb;if(_0xd97186===_0x2bbb4a)break;else _0x235655['push'](_0x235655['shift']());}catch(_0x236bd0){_0x235655['push'](_0x235655['shift']());}}}(_0x270e,0x3653b));export*from'./user';export*from'./group';export*from'./msg';export*from'./notify';function _0x26d8(_0x15fb49,_0x4cfa8f){var _0x270e58=_0x270e();return _0x26d8=function(_0x26d80a,_0xcfdf39){_0x26d80a=_0x26d80a-0x141;var _0x5d374a=_0x270e58[_0x26d80a];return _0x5d374a;},_0x26d8(_0x15fb49,_0x4cfa8f);}export*from'./cache';export*from'./constructor';

View File

@@ -115,6 +115,7 @@ export interface FileElement {
fileSize: string;
picHeight?: number;
picWidth?: number;
folderId?: string;
picThumbPath?: Map<number, string>;
file10MMd5?: string;
fileSha?: string;
@@ -156,6 +157,48 @@ export declare enum ChatType {
chatDevice = 8,//移动设备?
temp = 100
}
export declare enum ChatType2 {
KCHATTYPEADELIE = 42,
KCHATTYPEBUDDYNOTIFY = 5,
KCHATTYPEC2C = 1,
KCHATTYPECIRCLE = 113,
KCHATTYPEDATALINE = 8,
KCHATTYPEDATALINEMQQ = 134,
KCHATTYPEDISC = 3,
KCHATTYPEFAV = 41,
KCHATTYPEGAMEMESSAGE = 105,
KCHATTYPEGAMEMESSAGEFOLDER = 116,
KCHATTYPEGROUP = 2,
KCHATTYPEGROUPBLESS = 133,
KCHATTYPEGROUPGUILD = 9,
KCHATTYPEGROUPHELPER = 7,
KCHATTYPEGROUPNOTIFY = 6,
KCHATTYPEGUILD = 4,
KCHATTYPEGUILDMETA = 16,
KCHATTYPEMATCHFRIEND = 104,
KCHATTYPEMATCHFRIENDFOLDER = 109,
KCHATTYPENEARBY = 106,
KCHATTYPENEARBYASSISTANT = 107,
KCHATTYPENEARBYFOLDER = 110,
KCHATTYPENEARBYHELLOFOLDER = 112,
KCHATTYPENEARBYINTERACT = 108,
KCHATTYPEQQNOTIFY = 132,
KCHATTYPERELATEACCOUNT = 131,
KCHATTYPESERVICEASSISTANT = 118,
KCHATTYPESERVICEASSISTANTSUB = 201,
KCHATTYPESQUAREPUBLIC = 115,
KCHATTYPESUBSCRIBEFOLDER = 30,
KCHATTYPETEMPADDRESSBOOK = 111,
KCHATTYPETEMPBUSSINESSCRM = 102,
KCHATTYPETEMPC2CFROMGROUP = 100,
KCHATTYPETEMPC2CFROMUNKNOWN = 99,
KCHATTYPETEMPFRIENDVERIFY = 101,
KCHATTYPETEMPNEARBYPRO = 119,
KCHATTYPETEMPPUBLICACCOUNT = 103,
KCHATTYPETEMPWPA = 117,
KCHATTYPEUNKNOWN = 0,
KCHATTYPEWEIYUN = 40
}
export interface PttElement {
canConvert2Text: boolean;
duration: number;
@@ -272,6 +315,19 @@ export interface VideoElement {
import_rich_media_context?: null;
sourceVideoCodecFormat?: number;
}
export declare enum viedo_type {
VIDEO_FORMAT_AFS = 7,
VIDEO_FORMAT_AVI = 1,
VIDEO_FORMAT_MKV = 4,
VIDEO_FORMAT_MOD = 9,
VIDEO_FORMAT_MOV = 8,
VIDEO_FORMAT_MP4 = 2,
VIDEO_FORMAT_MTS = 11,
VIDEO_FORMAT_RM = 6,
VIDEO_FORMAT_RMVB = 5,
VIDEO_FORMAT_TS = 10,
VIDEO_FORMAT_WMV = 3
}
export interface MarkdownElement {
content: string;
}

File diff suppressed because one or more lines are too long

View File

@@ -54,8 +54,26 @@ export declare enum GroupRequestOperateTypes {
approve = 1,
reject = 2
}
export declare enum BuddyReqType {
KMEINITIATOR = 0,
KPEERINITIATOR = 1,
KMEAGREED = 2,
KMEAGREEDANDADDED = 3,
KPEERAGREED = 4,
KPEERAGREEDANDADDED = 5,
KPEERREFUSED = 6,
KMEREFUSED = 7,
KMEIGNORED = 8,
KMEAGREEANYONE = 9,
KMESETQUESTION = 10,
KMEAGREEANDADDFAILED = 11,
KMSGINFO = 12,
KMEINITIATORWAITPEERCONFIRM = 13
}
export interface FriendRequest {
isDecide: boolean;
friendUid: string;
reqType: BuddyReqType;
reqTime: string;
extWords: string;
isUnread: boolean;
@@ -67,3 +85,39 @@ export interface FriendRequestNotify {
unreadNums: number;
buddyReqs: FriendRequest[];
}
export declare enum MemberExtSourceType {
DEFAULTTYPE = 0,
TITLETYPE = 1,
NEWGROUPTYPE = 2
}
export interface GroupExtParam {
groupCode: string;
seq: string;
beginUin: string;
dataTime: string;
uinList: Array<string>;
uinNum: string;
groupType: string;
richCardNameVer: string;
sourceType: MemberExtSourceType;
memberExtFilter: {
memberLevelInfoUin: number;
memberLevelInfoPoint: number;
memberLevelInfoActiveDay: number;
memberLevelInfoLevel: number;
memberLevelInfoName: number;
levelName: number;
dataTime: number;
userShowFlag: number;
sysShowFlag: number;
timeToUpdate: number;
nickName: number;
specialTitle: number;
levelNameNew: number;
userShowFlagNew: number;
msgNeedField: number;
cmdUinFlagExt3Grocery: number;
memberIcon: number;
memberInfoSeq: number;
};
}

File diff suppressed because one or more lines are too long

View File

@@ -9,6 +9,17 @@ export interface BuddyCategoryType {
categroyMbCount: number;
buddyList: User[];
}
export interface ModifyProfileParams {
nick: string;
longNick: string;
sex: Sex;
birthday: {
birthday_year: string;
birthday_month: string;
birthday_day: string;
};
location: any;
}
export interface BuddyProfileLikeReq {
friendUids: string[];
basic: number;
@@ -87,3 +98,76 @@ export interface SelfInfo extends User {
}
export interface Friend extends User {
}
export declare enum BizKey {
KPRIVILEGEICON = 0,
KPHOTOWALL = 1
}
export interface UserDetailInfoByUin {
result: number;
errMsg: string;
info: {
uid: string;
qid: string;
uin: string;
nick: string;
remark: string;
longNick: string;
avatarUrl: string;
birthday_year: number;
birthday_month: number;
birthday_day: number;
sex: number;
topTime: string;
constellation: number;
shengXiao: number;
kBloodType: number;
homeTown: string;
makeFriendCareer: number;
pos: string;
eMail: string;
phoneNum: string;
college: string;
country: string;
province: string;
city: string;
postCode: string;
address: string;
isBlock: boolean;
isSpecialCareOpen: boolean;
isSpecialCareZone: boolean;
ringId: string;
regTime: number;
interest: string;
termType: number;
labels: any[];
qqLevel: {
crownNum: number;
sunNum: number;
moonNum: number;
starNum: number;
};
isHideQQLevel: number;
privilegeIcon: {
jumpUrl: string;
openIconList: any[];
closeIconList: any[];
};
isHidePrivilegeIcon: number;
photoWall: {
picList: any[];
};
vipFlag: boolean;
yearVipFlag: boolean;
svipFlag: boolean;
vipLevel: number;
status: number;
qidianMasterFlag: number;
qidianCrewFlag: number;
qidianCrewFlag2: number;
extStatus: number;
recommendImgFlag: number;
disableEmojiShortCuts: number;
pendantId: string;
vipNameColorId: string;
};
}

View File

@@ -1 +1 @@
(function(_0x3238b0,_0x2b2960){var _0x95aa18=_0x291d,_0x12046c=_0x3238b0();while(!![]){try{var _0x5ec39c=parseInt(_0x95aa18(0x9c))/0x1+parseInt(_0x95aa18(0x99))/0x2*(parseInt(_0x95aa18(0x97))/0x3)+-parseInt(_0x95aa18(0x95))/0x4*(-parseInt(_0x95aa18(0x9b))/0x5)+parseInt(_0x95aa18(0x93))/0x6*(-parseInt(_0x95aa18(0x98))/0x7)+-parseInt(_0x95aa18(0x96))/0x8+parseInt(_0x95aa18(0xa2))/0x9+parseInt(_0x95aa18(0x9a))/0xa*(-parseInt(_0x95aa18(0x94))/0xb);if(_0x5ec39c===_0x2b2960)break;else _0x12046c['push'](_0x12046c['shift']());}catch(_0x297319){_0x12046c['push'](_0x12046c['shift']());}}}(_0x3368,0xb8982));function _0x291d(_0x48247b,_0x13364a){var _0x3368c6=_0x3368();return _0x291d=function(_0x291dcc,_0x4baf5d){_0x291dcc=_0x291dcc-0x93;var _0x5cf6e5=_0x3368c6[_0x291dcc];return _0x5cf6e5;},_0x291d(_0x48247b,_0x13364a);}export var Sex;function _0x3368(){var _0x2caf66=['VGFYs','10854387HdBJqy','18282lkBUUI','165lvjLwH','1532TNbQEq','4757224VddTMU','3HfQSLH','259ZCqYBm','597042yiIdGu','984520qVcZKA','18235HNlaPs','38905CWRnxv','female','male','PIGXL','Vjpjd'];_0x3368=function(){return _0x2caf66;};return _0x3368();}(function(_0x297b42){var _0x318c86=_0x291d,_0x3fa2d0={'Vjpjd':_0x318c86(0x9e),'PIGXL':_0x318c86(0x9d),'VGFYs':'unknown'};_0x297b42[_0x297b42[_0x318c86(0x9e)]=0x1]=_0x3fa2d0[_0x318c86(0xa0)],_0x297b42[_0x297b42[_0x3fa2d0[_0x318c86(0x9f)]]=0x2]=_0x3fa2d0[_0x318c86(0x9f)],_0x297b42[_0x297b42[_0x3fa2d0[_0x318c86(0xa1)]]=0xff]=_0x3fa2d0[_0x318c86(0xa1)];}(Sex||(Sex={})));
(function(_0x404d94,_0x3285b2){var _0x4e29e2=_0x1c53,_0x524d15=_0x404d94();while(!![]){try{var _0x1df94c=-parseInt(_0x4e29e2(0xdc))/0x1*(parseInt(_0x4e29e2(0xda))/0x2)+-parseInt(_0x4e29e2(0xd4))/0x3+-parseInt(_0x4e29e2(0xcb))/0x4*(-parseInt(_0x4e29e2(0xd5))/0x5)+-parseInt(_0x4e29e2(0xd7))/0x6+-parseInt(_0x4e29e2(0xcc))/0x7*(parseInt(_0x4e29e2(0xca))/0x8)+-parseInt(_0x4e29e2(0xd3))/0x9+-parseInt(_0x4e29e2(0xd1))/0xa*(-parseInt(_0x4e29e2(0xd2))/0xb);if(_0x1df94c===_0x3285b2)break;else _0x524d15['push'](_0x524d15['shift']());}catch(_0x36e69b){_0x524d15['push'](_0x524d15['shift']());}}}(_0x2d57,0x7dbc2));export var Sex;(function(_0x426e5a){var _0x51009e=_0x1c53,_0x3e21ff={'LCmDL':_0x51009e(0xd9),'feGDz':_0x51009e(0xce)};_0x426e5a[_0x426e5a[_0x3e21ff[_0x51009e(0xd8)]]=0x1]=_0x3e21ff[_0x51009e(0xd8)],_0x426e5a[_0x426e5a[_0x3e21ff[_0x51009e(0xd6)]]=0x2]=_0x3e21ff[_0x51009e(0xd6)],_0x426e5a[_0x426e5a['unknown']=0xff]=_0x51009e(0xcd);}(Sex||(Sex={})));export var BizKey;function _0x2d57(){var _0x3e59af=['76785tocBrZ','8Bdcosu','45488GZqIzm','6827583NtwBfN','unknown','female','KPHOTOWALL','wBvVL','18978710jZbpyA','22xqbpfH','2012166nHSaVf','1329741WqMXxx','125tScxLU','feGDz','5547822hQXRSS','LCmDL','male','26guEwGI','KPRIVILEGEICON'];_0x2d57=function(){return _0x3e59af;};return _0x2d57();}function _0x1c53(_0x5bb7d3,_0x464179){var _0x2d5762=_0x2d57();return _0x1c53=function(_0x1c530e,_0x3099d7){_0x1c530e=_0x1c530e-0xca;var _0x19f5f8=_0x2d5762[_0x1c530e];return _0x19f5f8;},_0x1c53(_0x5bb7d3,_0x464179);}(function(_0x21e8ab){var _0x3cff1e=_0x1c53,_0x2c723f={'vAFSz':_0x3cff1e(0xdb),'wBvVL':_0x3cff1e(0xcf)};_0x21e8ab[_0x21e8ab[_0x2c723f['vAFSz']]=0x0]=_0x3cff1e(0xdb),_0x21e8ab[_0x21e8ab[_0x2c723f[_0x3cff1e(0xd0)]]=0x1]=_0x2c723f[_0x3cff1e(0xd0)];}(BizKey||(BizKey={})));

View File

@@ -1,8 +0,0 @@
declare class HookApi {
private readonly moeHook;
constructor();
getRKey(): string;
isAvailable(): boolean;
}
export declare const hookApi: HookApi;
export {};

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
(function(_0x203930,_0x4feede){var _0x827b9b=_0x4e1d,_0x1e5f63=_0x203930();while(!![]){try{var _0x20d07e=parseInt(_0x827b9b(0x1d7))/0x1+parseInt(_0x827b9b(0x1d5))/0x2*(-parseInt(_0x827b9b(0x1d3))/0x3)+-parseInt(_0x827b9b(0x1d9))/0x4+-parseInt(_0x827b9b(0x1d4))/0x5*(parseInt(_0x827b9b(0x1db))/0x6)+parseInt(_0x827b9b(0x1dd))/0x7*(parseInt(_0x827b9b(0x1d8))/0x8)+-parseInt(_0x827b9b(0x1d6))/0x9+parseInt(_0x827b9b(0x1da))/0xa*(parseInt(_0x827b9b(0x1dc))/0xb);if(_0x20d07e===_0x4feede)break;else _0x1e5f63['push'](_0x1e5f63['shift']());}catch(_0x3e18bf){_0x1e5f63['push'](_0x1e5f63['shift']());}}}(_0x4475,0xee377));import _0x1a2eb7 from'./wrapper';export*from'./adapters';export*from'./apis';export*from'./entities';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{_0x1a2eb7 as Wrapper};function _0x4475(){var _0x23a7a9=['4090004suroYd','3156870OSmIPg','2070yRdbtj','33Ygiccc','28iIUvNl','6mCmOsB','8130iolLOb','274118SoJlFr','4433472pJbsKm','1267439hbtveV','2222864omUtRh'];_0x4475=function(){return _0x23a7a9;};return _0x4475();}export*as WrapperInterface from'./wrapper';function _0x4e1d(_0x43864e,_0xae9152){var _0x447577=_0x4475();return _0x4e1d=function(_0x4e1d66,_0x11b9bd){_0x4e1d66=_0x4e1d66-0x1d3;var _0x4c8b21=_0x447577[_0x4e1d66];return _0x4c8b21;},_0x4e1d(_0x43864e,_0xae9152);}export*as SessionConfig from'./sessionConfig';export{napCatCore}from'./core';
function _0x3c95(_0x3542e0,_0x65e975){var _0x2b434c=_0x2b43();return _0x3c95=function(_0x3c9584,_0x100255){_0x3c9584=_0x3c9584-0x17d;var _0x201f1a=_0x2b434c[_0x3c9584];return _0x201f1a;},_0x3c95(_0x3542e0,_0x65e975);}(function(_0x53aa4a,_0x2f3368){var _0x47bd96=_0x3c95,_0x3b55ef=_0x53aa4a();while(!![]){try{var _0x54ae81=parseInt(_0x47bd96(0x184))/0x1+-parseInt(_0x47bd96(0x182))/0x2+parseInt(_0x47bd96(0x180))/0x3*(parseInt(_0x47bd96(0x17e))/0x4)+parseInt(_0x47bd96(0x181))/0x5*(parseInt(_0x47bd96(0x183))/0x6)+parseInt(_0x47bd96(0x17f))/0x7+-parseInt(_0x47bd96(0x17d))/0x8+-parseInt(_0x47bd96(0x185))/0x9;if(_0x54ae81===_0x2f3368)break;else _0x3b55ef['push'](_0x3b55ef['shift']());}catch(_0x5c1a71){_0x3b55ef['push'](_0x3b55ef['shift']());}}}(_0x2b43,0xde95c));import _0x27ff6b from'./wrapper';export*from'./adapters';export*from'./apis';export*from'./entities';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{_0x27ff6b as Wrapper};function _0x2b43(){var _0x44016e=['12ZzQSUL','1349409SLcBNI','15330699GJcAiP','5710176oYrHVH','80436vLXYla','3104409gGHPCt','222ndLuTr','1558895oovCxc','1151258nAXkaT'];_0x2b43=function(){return _0x44016e;};return _0x2b43();}export*as WrapperInterface from'./wrapper';export*as SessionConfig from'./sessionConfig';export{napCatCore}from'./core';

View File

@@ -1,7 +1,7 @@
import { BuddyCategoryType, FriendRequestNotify } from '@/core/entities';
export type OnBuddyChangeParams = BuddyCategoryType[];
interface IBuddyListener {
onBuddyListChange(arg: OnBuddyChangeParams): void;
onBuddyListChange(arg: BuddyCategoryType[]): void;
onBuddyInfoChange(arg: unknown): void;
onBuddyDetailInfoChange(arg: unknown): void;
onNickUpdated(arg: unknown): void;

View File

@@ -1 +1 @@
var _0x1ceee4=_0x70da;function _0x1daa(){var _0x2c63a3=['756620zUuWpS','onBuddyListChange','321034GkXzSV','10068rPbwDl','onAvatarUrlUpdated','424oGqBlc','1561mHuTPB','onBuddyInfoChange','onBuddyDetailInfoChange','756785ffoQgK','onBuddyReqUnreadCntChange','onDoubtBuddyReqChange','11qKGnJw','onBuddyRemarkUpdated','16JrDLxu','onBuddyReqChange','onAddMeSettingChanged','onAddBuddyNeedVerify','onCheckBuddySettingResult','32514LtYFtB','onSpacePermissionInfos','8329617AXosCG','1375796yFsLsu','onNickUpdated'];_0x1daa=function(){return _0x2c63a3;};return _0x1daa();}(function(_0xe69809,_0x3509ec){var _0x599941=_0x70da,_0x137e9b=_0xe69809();while(!![]){try{var _0x1c1266=parseInt(_0x599941(0x7d))/0x1+-parseInt(_0x599941(0x79))/0x2+parseInt(_0x599941(0x76))/0x3*(-parseInt(_0x599941(0x80))/0x4)+parseInt(_0x599941(0x6c))/0x5+-parseInt(_0x599941(0x7e))/0x6*(-parseInt(_0x599941(0x81))/0x7)+-parseInt(_0x599941(0x71))/0x8*(-parseInt(_0x599941(0x78))/0x9)+-parseInt(_0x599941(0x7b))/0xa*(-parseInt(_0x599941(0x6f))/0xb);if(_0x1c1266===_0x3509ec)break;else _0x137e9b['push'](_0x137e9b['shift']());}catch(_0x5ad225){_0x137e9b['push'](_0x137e9b['shift']());}}}(_0x1daa,0xe4a63));function _0x70da(_0x286dce,_0x5b432f){var _0x1daa5b=_0x1daa();return _0x70da=function(_0x70da04,_0x168758){_0x70da04=_0x70da04-0x6a;var _0x245906=_0x1daa5b[_0x70da04];return _0x245906;},_0x70da(_0x286dce,_0x5b432f);}export class BuddyListener{[_0x1ceee4(0x74)](_0x1e3252){}[_0x1ceee4(0x73)](_0x44d23b){}[_0x1ceee4(0x7f)](_0x41e459){}['onBlockChanged'](_0x428baa){}[_0x1ceee4(0x6b)](_0x53a6b9){}[_0x1ceee4(0x6a)](_0x5ef9d5){}[_0x1ceee4(0x7c)](_0x46b1cd){}[_0x1ceee4(0x70)](_0x2b3dc6){}[_0x1ceee4(0x72)](_0x2685d5){}[_0x1ceee4(0x6d)](_0x8e2e07){}[_0x1ceee4(0x75)](_0x310545){}['onDelBatchBuddyInfos'](_0x64edbb){}[_0x1ceee4(0x6e)](_0x4a60b0){}['onDoubtBuddyReqUnreadNumChange'](_0x39fc34){}[_0x1ceee4(0x7a)](_0x178602){}['onSmartInfos'](_0xc6150a){}[_0x1ceee4(0x77)](_0x569c07){}}
var _0x498845=_0xb7d0;function _0x3e02(){var _0x591819=['3044792rWaKGS','286422fNVgvh','11nJeYCf','onDoubtBuddyReqChange','5tNvhPV','140BSHPpI','onBuddyReqChange','1518716tamlMV','onDoubtBuddyReqUnreadNumChange','onNickUpdated','1241481VwnMmf','onBlockChanged','onBuddyRemarkUpdated','4zMoNwP','onAddBuddyNeedVerify','onSmartInfos','240984kFSNGt','onDelBatchBuddyInfos','onCheckBuddySettingResult','4552570OVLntE','1246299QsnYdG','onAddMeSettingChanged'];_0x3e02=function(){return _0x591819;};return _0x3e02();}(function(_0x1524c2,_0x14bdb1){var _0x4d98f4=_0xb7d0,_0x3f5435=_0x1524c2();while(!![]){try{var _0x4e5bd8=parseInt(_0x4d98f4(0x125))/0x1+parseInt(_0x4d98f4(0x11e))/0x2*(parseInt(_0x4d98f4(0x11b))/0x3)+parseInt(_0x4d98f4(0x118))/0x4*(-parseInt(_0x4d98f4(0x115))/0x5)+parseInt(_0x4d98f4(0x112))/0x6*(-parseInt(_0x4d98f4(0x116))/0x7)+parseInt(_0x4d98f4(0x111))/0x8+parseInt(_0x4d98f4(0x121))/0x9+-parseInt(_0x4d98f4(0x124))/0xa*(parseInt(_0x4d98f4(0x113))/0xb);if(_0x4e5bd8===_0x14bdb1)break;else _0x3f5435['push'](_0x3f5435['shift']());}catch(_0x41dccc){_0x3f5435['push'](_0x3f5435['shift']());}}}(_0x3e02,0xa8dc4));function _0xb7d0(_0x4d1e62,_0x34ef7b){var _0x3e0252=_0x3e02();return _0xb7d0=function(_0xb7d066,_0x10aba4){_0xb7d066=_0xb7d066-0x110;var _0x28d6a6=_0x3e0252[_0xb7d066];return _0x28d6a6;},_0xb7d0(_0x4d1e62,_0x34ef7b);}export class BuddyListener{[_0x498845(0x11f)](_0x523a33){}[_0x498845(0x110)](_0x20073e){}['onAvatarUrlUpdated'](_0x2b0a24){}[_0x498845(0x11c)](_0xcf9e4e){}['onBuddyDetailInfoChange'](_0x329eb5){}['onBuddyInfoChange'](_0x5a2dcd){}['onBuddyListChange'](_0x1a1af1){}[_0x498845(0x11d)](_0x5100f5){}[_0x498845(0x117)](_0x1878f6){}['onBuddyReqUnreadCntChange'](_0x2d6a7f){}[_0x498845(0x123)](_0x2d857c){}[_0x498845(0x122)](_0x554b6e){}[_0x498845(0x114)](_0x459d14){}[_0x498845(0x119)](_0xaf8afd){}[_0x498845(0x11a)](_0x4a27f0){}[_0x498845(0x120)](_0x16902b){}['onSpacePermissionInfos'](_0x1b7c7f){}}

View File

@@ -1 +1 @@
var _0x46248e=_0x3bbb;function _0x3bbb(_0x193452,_0x4e20bf){var _0x539609=_0x5396();return _0x3bbb=function(_0x3bbb7b,_0x162a7e){_0x3bbb7b=_0x3bbb7b-0xeb;var _0x152c6a=_0x539609[_0x3bbb7b];return _0x152c6a;},_0x3bbb(_0x193452,_0x4e20bf);}function _0x5396(){var _0x5a971a=['11diiZuf','onFileListChanged','568tgEavs','2IjBZCp','25949XoKeDq','276580ZwRMEO','66jImqME','48726YXSreT','1329567BECOrn','1860330lCMBZX','onSessionListChanged','12335170TybXxq','onFileSearch','onSessionChanged','1696940fBrnHw'];_0x5396=function(){return _0x5a971a;};return _0x5396();}(function(_0x17d7b7,_0x3268fc){var _0x46fe78=_0x3bbb,_0x35eba6=_0x17d7b7();while(!![]){try{var _0xe3a064=-parseInt(_0x46fe78(0xeb))/0x1+parseInt(_0x46fe78(0xf8))/0x2*(-parseInt(_0x46fe78(0xee))/0x3)+parseInt(_0x46fe78(0xf4))/0x4+-parseInt(_0x46fe78(0xef))/0x5+-parseInt(_0x46fe78(0xec))/0x6*(-parseInt(_0x46fe78(0xf9))/0x7)+-parseInt(_0x46fe78(0xf7))/0x8*(parseInt(_0x46fe78(0xed))/0x9)+-parseInt(_0x46fe78(0xf1))/0xa*(-parseInt(_0x46fe78(0xf5))/0xb);if(_0xe3a064===_0x3268fc)break;else _0x35eba6['push'](_0x35eba6['shift']());}catch(_0x27b401){_0x35eba6['push'](_0x35eba6['shift']());}}}(_0x5396,0x3645c));export class KernelFileAssistantListener{['onFileStatusChanged'](..._0x1f7fb2){}[_0x46248e(0xf0)](..._0x14582f){}[_0x46248e(0xf3)](..._0x2d8c4){}[_0x46248e(0xf6)](..._0x21bad0){}[_0x46248e(0xf2)](..._0x21b4d0){}}
var _0x5f5b05=_0x2849;function _0x4ad0(){var _0x57e8cb=['1659848QyerRE','3TWVpbq','8004375SMxzVP','onSessionListChanged','886080KDNCTJ','onFileListChanged','14fZCEgL','1163818UIISII','178735xkFtvo','onSessionChanged','100OJwIZk','onFileSearch','3582012WwgEmQ','1110418xtHGpM'];_0x4ad0=function(){return _0x57e8cb;};return _0x4ad0();}function _0x2849(_0xed445,_0x260683){var _0x4ad000=_0x4ad0();return _0x2849=function(_0x28499a,_0x1f9e40){_0x28499a=_0x28499a-0x180;var _0x4afc4c=_0x4ad000[_0x28499a];return _0x4afc4c;},_0x2849(_0xed445,_0x260683);}(function(_0x4b5d8b,_0x30424e){var _0x40f888=_0x2849,_0x564de6=_0x4b5d8b();while(!![]){try{var _0x58312c=parseInt(_0x40f888(0x186))/0x1+-parseInt(_0x40f888(0x180))/0x2*(-parseInt(_0x40f888(0x188))/0x3)+parseInt(_0x40f888(0x183))/0x4*(-parseInt(_0x40f888(0x181))/0x5)+-parseInt(_0x40f888(0x185))/0x6+-parseInt(_0x40f888(0x18d))/0x7*(parseInt(_0x40f888(0x187))/0x8)+parseInt(_0x40f888(0x189))/0x9+-parseInt(_0x40f888(0x18b))/0xa;if(_0x58312c===_0x30424e)break;else _0x564de6['push'](_0x564de6['shift']());}catch(_0x47ec11){_0x564de6['push'](_0x564de6['shift']());}}}(_0x4ad0,0x8f6bf));export class KernelFileAssistantListener{['onFileStatusChanged'](..._0x3dcb81){}[_0x5f5b05(0x18a)](..._0xde996d){}[_0x5f5b05(0x182)](..._0x5ab8fd){}[_0x5f5b05(0x18c)](..._0x293069){}[_0x5f5b05(0x184)](..._0xd95d6){}}

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
var _0x422c78=_0x1a73;function _0x1a73(_0x1b400d,_0x561f20){var _0x1d21b5=_0x1d21();return _0x1a73=function(_0x1a73b1,_0x255923){_0x1a73b1=_0x1a73b1-0x68;var _0x224796=_0x1d21b5[_0x1a73b1];return _0x224796;},_0x1a73(_0x1b400d,_0x561f20);}(function(_0x4ef417,_0x101518){var _0x2cf606=_0x1a73,_0x59da75=_0x4ef417();while(!![]){try{var _0x4c9fc9=-parseInt(_0x2cf606(0x6d))/0x1*(parseInt(_0x2cf606(0x71))/0x2)+parseInt(_0x2cf606(0x7b))/0x3*(parseInt(_0x2cf606(0x7a))/0x4)+parseInt(_0x2cf606(0x77))/0x5*(-parseInt(_0x2cf606(0x7f))/0x6)+parseInt(_0x2cf606(0x6f))/0x7*(-parseInt(_0x2cf606(0x69))/0x8)+-parseInt(_0x2cf606(0x72))/0x9*(-parseInt(_0x2cf606(0x80))/0xa)+-parseInt(_0x2cf606(0x70))/0xb*(-parseInt(_0x2cf606(0x7d))/0xc)+-parseInt(_0x2cf606(0x74))/0xd;if(_0x4c9fc9===_0x101518)break;else _0x59da75['push'](_0x59da75['shift']());}catch(_0x4e0649){_0x59da75['push'](_0x59da75['shift']());}}}(_0x1d21,0x18b83));function _0x1d21(){var _0x4abb57=['20myQmEc','onUserLoggedIn','onQRCodeLoginPollingStarted','8iRsavV','onLoginDisConnected','OnConfirmUnusualDeviceFailed','onQRCodeSessionUserScaned','20241vZELHN','onLoginConnected','1060871jiOwAX','652531YdbvZz','8kChqBQ','812493awNLqy','onPasswordLoginFailed','419692HPsdeE','onQRCodeGetPicture','onLoginFailed','873130NYAaRO','onLogoutSucceed','onLogoutFailed','212DMmNDD','10311HfXRRC','onLoginConnecting','36TVQADJ','onQRCodeSessionQuickLoginFailed','6XEWkPu'];_0x1d21=function(){return _0x4abb57;};return _0x1d21();}export class LoginListener{[_0x422c78(0x6e)](..._0x25807f){}[_0x422c78(0x6a)](..._0x23bace){}[_0x422c78(0x7c)](..._0x18b61a){}[_0x422c78(0x75)](_0xe9199f){}[_0x422c78(0x68)](..._0x4ac353){}[_0x422c78(0x6c)](..._0x44b824){}['onQRCodeLoginSucceed'](_0x25ac88){}['onQRCodeSessionFailed'](..._0x70d052){}[_0x422c78(0x76)](..._0x1c6edd){}[_0x422c78(0x78)](..._0xfd82db){}[_0x422c78(0x79)](..._0x3ec473){}[_0x422c78(0x81)](..._0xf4f931){}[_0x422c78(0x7e)](..._0x1ebf33){}[_0x422c78(0x73)](..._0x5c7a4c){}[_0x422c78(0x6b)](..._0xa0051a){}['onQQLoginNumLimited'](..._0x5c5086){}['onLoginState'](..._0x5cb09d){}}
var _0x27d9af=_0x59ad;(function(_0x4306e4,_0xffe206){var _0x347652=_0x59ad,_0x2dfb1c=_0x4306e4();while(!![]){try{var _0x5bf614=parseInt(_0x347652(0x193))/0x1*(-parseInt(_0x347652(0x195))/0x2)+-parseInt(_0x347652(0x18a))/0x3+-parseInt(_0x347652(0x192))/0x4+-parseInt(_0x347652(0x19e))/0x5*(parseInt(_0x347652(0x18e))/0x6)+parseInt(_0x347652(0x19f))/0x7+-parseInt(_0x347652(0x194))/0x8*(-parseInt(_0x347652(0x196))/0x9)+parseInt(_0x347652(0x190))/0xa*(parseInt(_0x347652(0x189))/0xb);if(_0x5bf614===_0xffe206)break;else _0x2dfb1c['push'](_0x2dfb1c['shift']());}catch(_0x919dce){_0x2dfb1c['push'](_0x2dfb1c['shift']());}}}(_0x1f6e,0xf0865));function _0x1f6e(){var _0x232df0=['onQRCodeGetPicture','onLoginConnecting','onUserLoggedIn','5sERRAy','13127723XcYOQS','onLogoutSucceed','onQRCodeLoginPollingStarted','43065XKuhBv','4457028FIGkpq','onLogoutFailed','onLoginFailed','onQRCodeSessionQuickLoginFailed','3575244vDIiKa','onPasswordLoginFailed','920zfUBJz','onQRCodeLoginSucceed','212168cCWPON','404227qtTOxR','8SqUFNE','2LpaAPw','11595951nIIqVG','onLoginDisConnected','onQQLoginNumLimited','onLoginConnected','onQRCodeSessionUserScaned'];_0x1f6e=function(){return _0x232df0;};return _0x1f6e();}function _0x59ad(_0xc765e0,_0x479445){var _0x1f6e30=_0x1f6e();return _0x59ad=function(_0x59add4,_0x3ccfb5){_0x59add4=_0x59add4-0x187;var _0x156645=_0x1f6e30[_0x59add4];return _0x156645;},_0x59ad(_0xc765e0,_0x479445);}export class LoginListener{[_0x27d9af(0x199)](..._0x54733a){}[_0x27d9af(0x197)](..._0x1f933d){}[_0x27d9af(0x19c)](..._0x596e91){}[_0x27d9af(0x19b)](_0xd1f6d8){}[_0x27d9af(0x188)](..._0x2bde43){}[_0x27d9af(0x19a)](..._0x5c9dd1){}[_0x27d9af(0x191)](_0x1322f3){}['onQRCodeSessionFailed'](..._0x3262df){}[_0x27d9af(0x18c)](..._0x1ed9e6){}[_0x27d9af(0x187)](..._0x105718){}[_0x27d9af(0x18b)](..._0x4386dd){}[_0x27d9af(0x19d)](..._0x3750dc){}[_0x27d9af(0x18d)](..._0x18049b){}[_0x27d9af(0x18f)](..._0x216bd9){}['OnConfirmUnusualDeviceFailed'](..._0x2d9ab6){}[_0x27d9af(0x198)](..._0x30542e){}['onLoginState'](..._0x56272c){}}

View File

@@ -1,4 +1,4 @@
import { RawMessage } from '@/core/entities';
import { ChatType, RawMessage } from '@/core/entities';
export interface OnRichMediaDownloadCompleteParams {
fileModelId: string;
msgElementId: string;
@@ -31,6 +31,14 @@ export interface onGroupFileInfoUpdateParamType {
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;
@@ -89,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;
@@ -163,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 @@
function _0x1b1d(){var _0x57e409=['onUnreadCntAfterFirstView','onGroupGuildUpdate','onRecvUDCFlag','onMsgInfoListUpdate','onGuildMsgAbFlagChanged','onSysMsgNotification','1635290wuCCIL','onRecvMsg','8969984PYwLNn','onHitCsRelatedEmojiResult','onMsgQRCodeStatusChanged','onRecvS2CMsg','onContactUnreadCntUpdate','onImportOldDbProgressUpdate','4111848DaqpnI','onRecvGroupGuildFlag','38hgGbLn','onMsgRecall','onRecvMsgSvrRspTransInfo','onEmojiResourceUpdate','onMsgInfoListAdd','onFileMsgCome','onTempChatInfoUpdate','onNtFirstViewMsgSyncEnd','93447vSEdNd','onRecvOnlineFileMsg','5670060QFfpQP','onRichMediaUploadComplete','onLogLevelChanged','966581NnHNnS','onFirstViewGroupGuildMapping','onBroadcastHelperProgressUpdate','onlineStatusSmallIconDownloadPush','onLineDev','onBroadcastHelperDownloadComplete','onUserTabStatusChanged','onGrabPasswordRedBag','onReadFeedEventUpdate','onChannelFreqLimitInfoUpdate','onSearchGroupFileInfoUpdate','onMsgWithRichLinkInfoUpdate','onAddSendMsg','onRecvSysMsg','onNtMsgSyncEnd','onMsgEventListUpdate','onUserChannelTabStatusChanged','onUserOnlineStatusChanged','onEmojiDownloadComplete','onMsgSecurityNotify','onHitRelatedEmojiResult','onGroupFileInfoAdd','onInputStatusPush','onRichMediaProgerssUpdate','onMsgAbstractUpdate','onGroupTransferInfoAdd','1096003mMvOof','onGuildNotificationAbstractUpdate'];_0x1b1d=function(){return _0x57e409;};return _0x1b1d();}var _0x2c6e4c=_0x3a0d;function _0x3a0d(_0x181541,_0x5c1879){var _0x1b1d34=_0x1b1d();return _0x3a0d=function(_0x3a0d46,_0x337393){_0x3a0d46=_0x3a0d46-0xca;var _0x3d2b89=_0x1b1d34[_0x3a0d46];return _0x3d2b89;},_0x3a0d(_0x181541,_0x5c1879);}(function(_0x5ef497,_0x15433d){var _0xe99581=_0x3a0d,_0x42ec40=_0x5ef497();while(!![]){try{var _0x28400c=parseInt(_0xe99581(0xec))/0x1+parseInt(_0xe99581(0xfe))/0x2*(parseInt(_0xe99581(0xcd))/0x3)+-parseInt(_0xe99581(0xfc))/0x4+parseInt(_0xe99581(0xf4))/0x5+parseInt(_0xe99581(0xcf))/0x6+-parseInt(_0xe99581(0xd2))/0x7+-parseInt(_0xe99581(0xf6))/0x8;if(_0x28400c===_0x15433d)break;else _0x42ec40['push'](_0x42ec40['shift']());}catch(_0x4cce24){_0x42ec40['push'](_0x42ec40['shift']());}}}(_0x1b1d,0xa4361));export class MsgListener{[_0x2c6e4c(0xde)](_0x14b726){}[_0x2c6e4c(0xd7)](_0x11edf1){}[_0x2c6e4c(0xd4)](_0x6504c0){}[_0x2c6e4c(0xdb)](_0x35d96e,_0x3d8280,_0x4a22ad){}[_0x2c6e4c(0xfa)](_0x139164){}['onCustomWithdrawConfigUpdate'](_0x1c841b){}['onDraftUpdate'](_0x1aa093,_0x2d7aff,_0x5d192e){}[_0x2c6e4c(0xe4)](_0x239bc6){}[_0x2c6e4c(0x101)](_0x21c7d4){}['onFeedEventUpdate'](_0x286532){}[_0x2c6e4c(0xca)](_0x507c51){}['onFirstViewDirectMsgUpdate'](_0x234974){}[_0x2c6e4c(0xd3)](_0x572ada){}[_0x2c6e4c(0xd9)](_0x1fc185,_0x4d2fb4,_0x4243e3,_0x3b1c79,_0x72afcc){}[_0x2c6e4c(0xe7)](_0x4dc5b2){}['onGroupFileInfoUpdate'](_0x56ed7e){}[_0x2c6e4c(0xef)](_0x315af6){}[_0x2c6e4c(0xeb)](_0x35139a){}['onGroupTransferInfoUpdate'](_0x48ab53){}['onGuildInteractiveUpdate'](_0x5be2ab){}[_0x2c6e4c(0xf2)](_0xeaae02){}[_0x2c6e4c(0xed)](_0x36a64d){}[_0x2c6e4c(0xf7)](_0x950d2e){}['onHitEmojiKeywordResult'](_0x1da0a1){}[_0x2c6e4c(0xe6)](_0x297177){}[_0x2c6e4c(0xfb)](_0x468a5b){}[_0x2c6e4c(0xe8)](_0x4a463f){}['onKickedOffLine'](_0x5e5118){}[_0x2c6e4c(0xd6)](_0x1bede3){}[_0x2c6e4c(0xd1)](_0x5181d7){}[_0x2c6e4c(0xea)](_0x476e35){}['onMsgBoxChanged'](_0x5041a9){}['onMsgDelete'](_0x7b938d,_0x5d0b11){}[_0x2c6e4c(0xe1)](_0x4d325b){}[_0x2c6e4c(0x102)](_0x34ed6f){}[_0x2c6e4c(0xf1)](_0xc85565){}[_0x2c6e4c(0xf8)](_0x30b8e3){}[_0x2c6e4c(0xff)](_0x236071,_0x4369d0,_0x39ee1d){}[_0x2c6e4c(0xe5)](_0x43a59b){}['onMsgSettingUpdate'](_0x27d5f1){}[_0x2c6e4c(0xcc)](){}[_0x2c6e4c(0xe0)](){}['onNtMsgSyncStart'](){}[_0x2c6e4c(0xda)](_0x556974){}[_0x2c6e4c(0xfd)](_0x3287dc){}[_0x2c6e4c(0xf5)](_0x4f59ba){}[_0x2c6e4c(0x100)](_0x4e54b8,_0x4ead33,_0x201997,_0x2ed6c9,_0x3410bf,_0x3e790f){}[_0x2c6e4c(0xce)](_0x10b508){}[_0x2c6e4c(0xf9)](_0x50efb6){}[_0x2c6e4c(0xdf)](_0x468cc6){}[_0x2c6e4c(0xf0)](_0x484426){}['onRichMediaDownloadComplete'](_0x6f1f19){}[_0x2c6e4c(0xe9)](_0x514f38){}[_0x2c6e4c(0xd0)](_0x382d91){}[_0x2c6e4c(0xdc)](_0x53d42f){}['onSendMsgError'](_0x1174ed,_0x168a2b,_0x2814f4,_0x3e641c){}[_0x2c6e4c(0xf3)](_0x26e288,_0x3f63ca,_0x1c3c31,_0x5b4f21){}[_0x2c6e4c(0xcb)](_0x3c603a){}[_0x2c6e4c(0xee)](_0x28df3b){}['onUnreadCntUpdate'](_0x505759){}[_0x2c6e4c(0xe2)](_0x272cef){}[_0x2c6e4c(0xe3)](_0x3a7a36){}[_0x2c6e4c(0xd8)](_0x29853b){}['onlineStatusBigIconDownloadPush'](_0x2640e3,_0x1fd781,_0x3a3915){}[_0x2c6e4c(0xd5)](_0x77e8d6,_0x3e3ea0,_0x4c4379){}['onUserSecQualityChanged'](..._0x2261d0){}[_0x2c6e4c(0xdd)](..._0x4f5b1d){}['onRedTouchChanged'](..._0x38e55e){}['onBroadcastHelperProgerssUpdate'](..._0x249155){}}
function _0x130f(_0x1b22f1,_0x392ba4){var _0x5dccf9=_0x5dcc();return _0x130f=function(_0x130fbe,_0x4890c6){_0x130fbe=_0x130fbe-0x1d2;var _0x1464ad=_0x5dccf9[_0x130fbe];return _0x1464ad;},_0x130f(_0x1b22f1,_0x392ba4);}function _0x5dcc(){var _0x3ee91f=['onRecvMsg','onUserSecQualityChanged','onRecvOnlineFileMsg','onMsgInfoListUpdate','5ympeXs','onSysMsgNotification','onFirstViewDirectMsgUpdate','onRichMediaUploadComplete','onCustomWithdrawConfigUpdate','onHitCsRelatedEmojiResult','onSendMsgError','onMsgDelete','onMsgRecall','432138aOsOwv','onGroupFileInfoUpdate','onImportOldDbProgressUpdate','2358136akiBgH','onUserChannelTabStatusChanged','10jpfFZB','onDraftUpdate','onInputStatusPush','onHitRelatedEmojiResult','onEmojiDownloadComplete','1461364NUvxWj','onFileMsgCome','1566102DIevVZ','onMsgQRCodeStatusChanged','onRichMediaDownloadComplete','onlineStatusSmallIconDownloadPush','onMsgInfoListAdd','onUserOnlineStatusChanged','onBroadcastHelperProgerssUpdate','onNtFirstViewMsgSyncEnd','onReadFeedEventUpdate','140162UQTVht','3bekUGl','onRecvS2CMsg','onMsgEventListUpdate','onGroupGuildUpdate','onEmojiResourceUpdate','onGrabPasswordRedBag','18746028WlTYdU','onGroupFileInfoAdd','onMsgSettingUpdate','onRecvSysMsg','onRedTouchChanged','onSearchGroupFileInfoUpdate','onUnreadCntUpdate','onRecvMsgSvrRspTransInfo','onGuildInteractiveUpdate','onLogLevelChanged','onKickedOffLine','onUserTabStatusChanged','onAddSendMsg','onlineStatusBigIconDownloadPush','onMsgWithRichLinkInfoUpdate','onGroupTransferInfoAdd','onRichMediaProgerssUpdate','1668688gHmCDS','onLineDev','onFirstViewGroupGuildMapping'];_0x5dcc=function(){return _0x3ee91f;};return _0x5dcc();}var _0x38efbf=_0x130f;(function(_0x220a83,_0x1b7a57){var _0x3c782e=_0x130f,_0x3eaab7=_0x220a83();while(!![]){try{var _0x1c3dcb=-parseInt(_0x3c782e(0x1db))/0x1+-parseInt(_0x3c782e(0x1f3))/0x2+-parseInt(_0x3c782e(0x1dc))/0x3*(parseInt(_0x3c782e(0x20d))/0x4)+parseInt(_0x3c782e(0x1fa))/0x5*(-parseInt(_0x3c782e(0x1d2))/0x6)+-parseInt(_0x3c782e(0x203))/0x7+parseInt(_0x3c782e(0x206))/0x8+parseInt(_0x3c782e(0x1e2))/0x9*(parseInt(_0x3c782e(0x208))/0xa);if(_0x1c3dcb===_0x1b7a57)break;else _0x3eaab7['push'](_0x3eaab7['shift']());}catch(_0x1f335a){_0x3eaab7['push'](_0x3eaab7['shift']());}}}(_0x5dcc,0xae935));export class MsgListener{[_0x38efbf(0x1ee)](_0xa6ae5a){}['onBroadcastHelperDownloadComplete'](_0x2589da){}['onBroadcastHelperProgressUpdate'](_0x3c35e7){}['onChannelFreqLimitInfoUpdate'](_0x4603ca,_0x4d7726,_0x59f02d){}['onContactUnreadCntUpdate'](_0x1370e3){}[_0x38efbf(0x1fe)](_0xe8bf1c){}[_0x38efbf(0x209)](_0xfbf496,_0xb0bae,_0x3689c5){}[_0x38efbf(0x20c)](_0x17e536){}[_0x38efbf(0x1e0)](_0x14d731){}['onFeedEventUpdate'](_0x1539b2){}[_0x38efbf(0x20e)](_0x571a35){}[_0x38efbf(0x1fc)](_0x1dafee){}[_0x38efbf(0x1f5)](_0x52e569){}[_0x38efbf(0x1e1)](_0x9602d3,_0x4f9bc0,_0x782938,_0x55c838,_0x3ac9c4){}[_0x38efbf(0x1e3)](_0x4dcccb){}[_0x38efbf(0x204)](_0xfebf10){}[_0x38efbf(0x1df)](_0x2243c6){}[_0x38efbf(0x1f1)](_0x1d8cf6){}['onGroupTransferInfoUpdate'](_0x480539){}[_0x38efbf(0x1ea)](_0x432cd9){}['onGuildMsgAbFlagChanged'](_0xdb9315){}['onGuildNotificationAbstractUpdate'](_0x5b80d1){}[_0x38efbf(0x1ff)](_0x2a0cea){}['onHitEmojiKeywordResult'](_0x228af4){}[_0x38efbf(0x20b)](_0x56b9d0){}[_0x38efbf(0x205)](_0x205718){}[_0x38efbf(0x20a)](_0x330419){}[_0x38efbf(0x1ec)](_0x3af84a){}[_0x38efbf(0x1f4)](_0x1df194){}[_0x38efbf(0x1eb)](_0x5f157e){}['onMsgAbstractUpdate'](_0x27f947){}['onMsgBoxChanged'](_0x34c17a){}[_0x38efbf(0x201)](_0x2223e8,_0x28cde2){}[_0x38efbf(0x1de)](_0x2b92b6){}[_0x38efbf(0x1d6)](_0x205f6c){}[_0x38efbf(0x1f9)](_0x376e88){}[_0x38efbf(0x1d3)](_0x23f53d){}[_0x38efbf(0x202)](_0x383693,_0x23c7b6,_0xb1c1e0){}['onMsgSecurityNotify'](_0x344628){}[_0x38efbf(0x1e4)](_0x1846d6){}[_0x38efbf(0x1d9)](){}['onNtMsgSyncEnd'](){}['onNtMsgSyncStart'](){}[_0x38efbf(0x1da)](_0x43425b){}['onRecvGroupGuildFlag'](_0x5e6877){}[_0x38efbf(0x1f6)](_0xfae09e){}[_0x38efbf(0x1e9)](_0x1f2d3a,_0x2451cd,_0x23bc1d,_0x348ba3,_0x45e86c,_0x56226b){}[_0x38efbf(0x1f8)](_0x38dcea){}[_0x38efbf(0x1dd)](_0x31fa7f){}[_0x38efbf(0x1e5)](_0x4e48fe){}['onRecvUDCFlag'](_0x4df1e2){}[_0x38efbf(0x1d4)](_0x504a1a){}[_0x38efbf(0x1f2)](_0x2bffae){}[_0x38efbf(0x1fd)](_0x8998be){}[_0x38efbf(0x1e7)](_0x1aa627){}[_0x38efbf(0x200)](_0x458890,_0x3b13da,_0x46e752,_0x2c7c64){}[_0x38efbf(0x1fb)](_0x4c29a8,_0x48e2bd,_0x57d32d,_0x354128){}['onTempChatInfoUpdate'](_0x355f52){}['onUnreadCntAfterFirstView'](_0x5e784b){}[_0x38efbf(0x1e8)](_0x55bdbd){}[_0x38efbf(0x207)](_0x2ce67b){}[_0x38efbf(0x1d7)](_0x57fb1f){}[_0x38efbf(0x1ed)](_0x195de7){}[_0x38efbf(0x1ef)](_0x48c036,_0x336bd1,_0x376fe2){}[_0x38efbf(0x1d5)](_0x5ae893,_0x204487,_0x4df92b){}[_0x38efbf(0x1f7)](..._0x16f917){}[_0x38efbf(0x1f0)](..._0x532850){}[_0x38efbf(0x1e6)](..._0x2d744b){}[_0x38efbf(0x1d8)](..._0x1e16a4){}}

View File

@@ -1 +1 @@
var _0x343f0a=_0x28de;(function(_0x362792,_0x537666){var _0x2e3083=_0x28de,_0x4ead1e=_0x362792();while(!![]){try{var _0x1a2367=parseInt(_0x2e3083(0x1ee))/0x1+-parseInt(_0x2e3083(0x1e6))/0x2*(-parseInt(_0x2e3083(0x1ea))/0x3)+-parseInt(_0x2e3083(0x1e9))/0x4+parseInt(_0x2e3083(0x1e5))/0x5+-parseInt(_0x2e3083(0x1e8))/0x6+parseInt(_0x2e3083(0x1e4))/0x7+parseInt(_0x2e3083(0x1e7))/0x8;if(_0x1a2367===_0x537666)break;else _0x4ead1e['push'](_0x4ead1e['shift']());}catch(_0x4b7626){_0x4ead1e['push'](_0x4ead1e['shift']());}}}(_0x1f1d,0x584dc));function _0x1f1d(){var _0x172dd1=['1314505LerUiH','896084fJkguh','2889416FUOKAe','3546912UqKwtk','2245364JNcTei','3EKewlN','onSelfStatusChanged','onProfileSimpleChanged','onStatusUpdate','171831EubOSy','onProfileDetailInfoChanged','1891638dIASFM'];_0x1f1d=function(){return _0x172dd1;};return _0x1f1d();}function _0x28de(_0x449a32,_0x3ed18e){var _0x1f1d89=_0x1f1d();return _0x28de=function(_0x28de59,_0x506322){_0x28de59=_0x28de59-0x1e3;var _0x1b4063=_0x1f1d89[_0x28de59];return _0x1b4063;},_0x28de(_0x449a32,_0x3ed18e);}export class ProfileListener{[_0x343f0a(0x1ec)](..._0x16a106){}[_0x343f0a(0x1e3)](_0x5572e7){}[_0x343f0a(0x1ed)](..._0x498a2e){}[_0x343f0a(0x1eb)](..._0x1901f7){}['onStrangerRemarkChanged'](..._0x337418){}}
function _0x5360(){var _0x2313d4=['9013758qvrXPF','503960nYIQIi','3111436ZXBBOf','1456409VoVKhA','onProfileDetailInfoChanged','471xRnoPF','14898720FdqeGO','7993050fmYCcv','13890SVuWDg','7pQFsYg','onStrangerRemarkChanged','1647ViKMmr'];_0x5360=function(){return _0x2313d4;};return _0x5360();}function _0x1f6a(_0x8c015f,_0x254e86){var _0x536050=_0x5360();return _0x1f6a=function(_0x1f6a31,_0x13ed15){_0x1f6a31=_0x1f6a31-0xcd;var _0x22e0de=_0x536050[_0x1f6a31];return _0x22e0de;},_0x1f6a(_0x8c015f,_0x254e86);}var _0x2bb8ac=_0x1f6a;(function(_0x4621f7,_0x5e94f8){var _0x449f92=_0x1f6a,_0x244c23=_0x4621f7();while(!![]){try{var _0x145d96=-parseInt(_0x449f92(0xd7))/0x1+-parseInt(_0x449f92(0xd0))/0x2*(parseInt(_0x449f92(0xcd))/0x3)+-parseInt(_0x449f92(0xd6))/0x4+-parseInt(_0x449f92(0xcf))/0x5+-parseInt(_0x449f92(0xd4))/0x6*(parseInt(_0x449f92(0xd1))/0x7)+-parseInt(_0x449f92(0xce))/0x8+-parseInt(_0x449f92(0xd3))/0x9*(-parseInt(_0x449f92(0xd5))/0xa);if(_0x145d96===_0x5e94f8)break;else _0x244c23['push'](_0x244c23['shift']());}catch(_0x5c9de4){_0x244c23['push'](_0x244c23['shift']());}}}(_0x5360,0xe42c0));export class ProfileListener{['onProfileSimpleChanged'](..._0x5935de){}[_0x2bb8ac(0xd8)](_0x2afdb){}['onStatusUpdate'](..._0x441ab6){}['onSelfStatusChanged'](..._0x53ed97){}[_0x2bb8ac(0xd2)](..._0x147d5e){}}

View File

@@ -1 +1 @@
function _0x5bf9(_0x556808,_0x4d6ba4){var _0xfacc89=_0xfacc();return _0x5bf9=function(_0x5bf9d5,_0x3ec89a){_0x5bf9d5=_0x5bf9d5-0xcd;var _0x1e64a6=_0xfacc89[_0x5bf9d5];return _0x1e64a6;},_0x5bf9(_0x556808,_0x4d6ba4);}var _0x46c6fc=_0x5bf9;(function(_0x316ebe,_0x184f6c){var _0x53c904=_0x5bf9,_0x209b1b=_0x316ebe();while(!![]){try{var _0x502b4f=-parseInt(_0x53c904(0xce))/0x1*(parseInt(_0x53c904(0xd4))/0x2)+-parseInt(_0x53c904(0xd6))/0x3+-parseInt(_0x53c904(0xd2))/0x4+parseInt(_0x53c904(0xcf))/0x5*(-parseInt(_0x53c904(0xd5))/0x6)+parseInt(_0x53c904(0xd3))/0x7+-parseInt(_0x53c904(0xcd))/0x8+parseInt(_0x53c904(0xd1))/0x9;if(_0x502b4f===_0x184f6c)break;else _0x209b1b['push'](_0x209b1b['shift']());}catch(_0x1e0f30){_0x209b1b['push'](_0x209b1b['shift']());}}}(_0xfacc,0x68690));function _0xfacc(){var _0x2e22e4=['802EPncPU','6ayMgwt','1787253bicBjs','3430168nYMtXq','1753lhlzpo','563605wMfjSB','onRobotProfileChanged','26858241eRvcCD','2906300ZWpmsp','71302DgjFzL'];_0xfacc=function(){return _0x2e22e4;};return _0xfacc();}export class KernelRobotListener{['onRobotFriendListChanged'](..._0x304d4d){}['onRobotListChanged'](..._0x29d247){}[_0x46c6fc(0xd0)](..._0x217f9f){}}
function _0x3e43(_0x2aa11c,_0x3947a2){var _0x3a243d=_0x3a24();return _0x3e43=function(_0x3e430b,_0x4bf843){_0x3e430b=_0x3e430b-0x18d;var _0x254770=_0x3a243d[_0x3e430b];return _0x254770;},_0x3e43(_0x2aa11c,_0x3947a2);}var _0x55bea8=_0x3e43;(function(_0x433bad,_0xa17b98){var _0xbecf53=_0x3e43,_0x4ab642=_0x433bad();while(!![]){try{var _0x43a2e7=-parseInt(_0xbecf53(0x190))/0x1*(-parseInt(_0xbecf53(0x197))/0x2)+parseInt(_0xbecf53(0x198))/0x3*(parseInt(_0xbecf53(0x193))/0x4)+-parseInt(_0xbecf53(0x192))/0x5*(parseInt(_0xbecf53(0x196))/0x6)+parseInt(_0xbecf53(0x191))/0x7*(parseInt(_0xbecf53(0x199))/0x8)+parseInt(_0xbecf53(0x18d))/0x9*(parseInt(_0xbecf53(0x195))/0xa)+parseInt(_0xbecf53(0x18f))/0xb*(-parseInt(_0xbecf53(0x194))/0xc)+-parseInt(_0xbecf53(0x19a))/0xd;if(_0x43a2e7===_0xa17b98)break;else _0x4ab642['push'](_0x4ab642['shift']());}catch(_0x33f789){_0x4ab642['push'](_0x4ab642['shift']());}}}(_0x3a24,0x2c4b4));export class KernelRobotListener{['onRobotFriendListChanged'](..._0x15f546){}[_0x55bea8(0x18e)](..._0x541106){}[_0x55bea8(0x19b)](..._0x5363ba){}}function _0x3a24(){var _0x3b30d2=['18850XGBgNM','216IeZxIi','87832owohRt','516256kyHJxJ','onRobotProfileChanged','9ZmmmDy','onRobotListChanged','2445256ktevSX','38QNpyLO','21nyhgnq','365wJWEaH','6428moAkpd','12CxVBLJ','2633930PARgnd','26856nNFovz'];_0x3a24=function(){return _0x3b30d2;};return _0x3a24();}

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